{
  "openapi": "3.0.1",
  "info": {
    "title": "SEC Form 144 Scraper: Insider Planned Sales",
    "description": "Scrape SEC Form 144 notices of planned insider stock sales by ticker or across the market. Get the seller and role, shares, value, percent of shares outstanding, broker, how the shares were acquired, 10b5-1 plan dates and past sales. Spot cluster selling. Export to CSV or Excel.",
    "version": "1.0",
    "x-build-id": "MpmhWTHKhHVZeXBjc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parselab~sec-form-144-planned-sales-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parselab-sec-form-144-planned-sales-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/parselab~sec-form-144-planned-sales-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parselab-sec-form-144-planned-sales-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/parselab~sec-form-144-planned-sales-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parselab-sec-form-144-planned-sales-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000."
          },
          "mode": {
            "title": "What to collect",
            "enum": [
              "filings",
              "issuers",
              "sellers"
            ],
            "type": "string",
            "description": "Notices returns one row per Form 144 with the planned sale. Companies returns one row per company with the total planned selling and cluster selling. Sellers returns one row per insider with the notices of the period.",
            "default": "filings"
          },
          "tickers": {
            "title": "Stock tickers",
            "type": "array",
            "description": "Tickers of the companies to follow, for example NVDA, AAPL. With a company the default start date is 180 days ago. Leave empty to scan all companies in the date range.",
            "items": {
              "type": "string"
            }
          },
          "ciks": {
            "title": "Company IDs (CIK)",
            "type": "array",
            "description": "SEC company numbers of the issuers, for companies without a ticker.",
            "items": {
              "type": "string"
            }
          },
          "companyNames": {
            "title": "Company or seller names",
            "type": "array",
            "description": "Part of a name, for example Therapeutics or Smith. Only notices where the company or the filer has a name containing the text are read.",
            "items": {
              "type": "string"
            }
          },
          "sellerNames": {
            "title": "Seller names",
            "type": "array",
            "description": "Part of the name of the insider who plans to sell, for example Cook or Zuckerberg.",
            "items": {
              "type": "string"
            }
          },
          "relationships": {
            "title": "Relationship to the company",
            "type": "array",
            "description": "Keep only sellers with this relationship, for example Officer, Director or 10 percent owner. Any match keeps the notice.",
            "items": {
              "type": "string"
            }
          },
          "exchanges": {
            "title": "Stock exchanges",
            "type": "array",
            "description": "Part of the exchange name, for example NASDAQ or NYSE.",
            "items": {
              "type": "string"
            }
          },
          "minValueUsd": {
            "title": "Minimum market value (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only notices where the shares to sell are worth at least this much, for example 1000000."
          },
          "minShares": {
            "title": "Minimum shares to sell",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only notices for at least this many shares."
          },
          "minPercentOfOutstanding": {
            "title": "Minimum percent of shares outstanding",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Keep only notices that cover at least this percent of all shares of the company, for example 0.5."
          },
          "onlyTradingPlans": {
            "title": "Only sales under a trading plan",
            "type": "boolean",
            "description": "Keep only notices that mention a Rule 10b5-1 plan adoption date. These sales were set up in advance and say less about the current view of the insider.",
            "default": false
          },
          "excludeSuspect": {
            "title": "Hide suspect notices",
            "type": "boolean",
            "description": "Hide notices with data warnings, such as more shares than the company has, an implied price under one cent or an unusual relationship. Anyone can file a Form 144, so a few notices contain typing errors.",
            "default": false
          },
          "excludeAmendments": {
            "title": "New notices only (no amendments)",
            "type": "boolean",
            "description": "Skip Form 144/A amendments.",
            "default": false
          },
          "dateFrom": {
            "title": "Filed from",
            "type": "string",
            "description": "First filing date, YYYY-MM-DD. The default is 3 days ago, or 180 days ago when you choose companies."
          },
          "dateTo": {
            "title": "Filed to",
            "type": "string",
            "description": "Last filing date, YYYY-MM-DD. The default is today."
          },
          "onlyNewSinceLastRun": {
            "title": "Only notices not returned before",
            "type": "boolean",
            "description": "Skips notices that an earlier run already returned. Use it for daily alerts.",
            "default": false
          },
          "maxFilingsToScan": {
            "title": "Max filings to scan",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Safety limit for how many notices are read before the run stops, even when few match your filters.",
            "default": 3000
          },
          "contactEmail": {
            "title": "Contact email (optional)",
            "type": "string",
            "description": "Added to the request header as SEC fair access guidelines recommend. Leave empty if you prefer."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}