{
  "openapi": "3.0.1",
  "info": {
    "title": "SEC EDGAR Filings Scraper - 10-K, 10-Q, Insider Trades",
    "description": "Scrape SEC EDGAR filings (10-K, 10-Q, 8-K), parsed Form 3/4/5 insider trades, XBRL financial facts, peer benchmarks and full-text search for any public company. Export to CSV, Excel, JSON. No login or API key needed. Pay per result, filing rows from $0.015 each.",
    "version": "0.1",
    "x-build-id": "HM2ZhC7f28yTyYc6N"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~sec-edgar-filings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-sec-edgar-filings-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/recordsdata~sec-edgar-filings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-sec-edgar-filings-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/recordsdata~sec-edgar-filings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-sec-edgar-filings-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": {
          "tickers": {
            "title": "Tickers or company names",
            "maxItems": 1000,
            "type": "array",
            "description": "Stock tickers (e.g. \"AAPL\", \"MSFT\") or company names to look up, resolved against the SEC ticker list. If tickers, CIKs and the search query are all empty, the Actor runs with AAPL so a default run always returns data. Up to 1,000 companies per run (tickers and CIKs together): split longer lists across runs.",
            "items": {
              "type": "string"
            }
          },
          "searchQuery": {
            "title": "Full-text search query (optional)",
            "type": "string",
            "description": "Search the text of every EDGAR filing for this phrase, across ALL companies, independent of Tickers above. Leave empty to skip. Billed per hit as search-hit-record. Each hit carries the filer's SIC industry code and title, state of incorporation and business location as stated in that filing, plus the 8-K item numbers when the filing is an 8-K."
          },
          "searchForms": {
            "title": "Full-text search: form types",
            "type": "array",
            "description": "Only used with the full-text search query. Restricts the search to these SEC form types (e.g. \"10-K\", \"8-K\"). Leave empty to search all forms.",
            "items": {
              "type": "string"
            }
          },
          "maxSearchHits": {
            "title": "Full-text search: max hits",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of full-text search hits to deliver. EDGAR returns 100 hits per request and the Actor reads further pages when needed, up to 1,000 hits (also limited by Max Items).",
            "default": 20
          },
          "ciks": {
            "title": "CIK numbers (optional)",
            "maxItems": 1000,
            "type": "array",
            "description": "SEC Central Index Key numbers (e.g. \"320193\" for Apple), if you already know them. Skips the ticker lookup. Any digit count is accepted and zero-padded automatically. Up to 1,000 companies per run (tickers and CIKs together).",
            "items": {
              "type": "string"
            }
          },
          "forms": {
            "title": "Filing form types",
            "type": "array",
            "description": "Only keep filings of these form types, for example 10-K, 10-Q, 8-K or 4. An amendment is a separate type: 10-K/A is not matched by 10-K, so list both when you want both. Leave empty for every form type. SEC defines hundreds of form codes; check a company's own EDGAR page if unsure which ones it files.",
            "items": {
              "type": "string"
            }
          },
          "dateFrom": {
            "title": "Filed on or after (YYYY-MM-DD)",
            "type": "string",
            "description": "Only filings filed on or after this date. Applies to company filings and to the full-text search. Older years are read from the extra submissions files EDGAR lists, so a date years back works too.",
            "default": ""
          },
          "dateTo": {
            "title": "Filed on or before (YYYY-MM-DD)",
            "type": "string",
            "description": "Only filings filed on or before this date. Leave empty for up to today.",
            "default": ""
          },
          "maxPerCompany": {
            "title": "Max filings per company",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of recent filings to fetch per company, most recent first.",
            "default": 50
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of rows to deliver in total across filings, financial facts and search hits. Free users are limited to 10 (preview). Paid users: default 100, max 1,000,000.",
            "default": 100
          },
          "includeInsiderTransactions": {
            "title": "Insider transactions (Form 3/4/5)",
            "type": "boolean",
            "description": "Parse the reporting owner, transaction code, shares and price from Form 3/4/5 filings. Billed per parsed transaction as insider-transaction-record.",
            "default": false
          },
          "includeFinancialFacts": {
            "title": "Financial facts (XBRL)",
            "type": "boolean",
            "description": "Pull structured financial data (revenue, net income, assets, etc.) reported in XBRL. Billed per financial concept per company as financial-fact-record — 6 concepts on one company is 6 events, only for concepts the company actually reports.",
            "default": false
          },
          "financialConcepts": {
            "title": "Financial concepts to include",
            "maxItems": 30,
            "type": "array",
            "description": "Which XBRL us-gaap concepts to pull when Financial facts is on. Uses SEC's own concept names — check a company's companyfacts API if you need an exact tag not listed here. Up to 30 concepts per company.",
            "default": [
              "Revenues",
              "NetIncomeLoss",
              "Assets",
              "Liabilities",
              "StockholdersEquity",
              "EarningsPerShareBasic"
            ],
            "items": {
              "type": "string"
            }
          },
          "includePeerBenchmark": {
            "title": "Industry peer benchmark",
            "type": "boolean",
            "description": "For each financial concept, pull every other real company's reported value for the same concept in the same fiscal year (SEC's XBRL Frames API), sorted highest to lowest. Requires Financial facts to also be on. Billed per peer company as peer-benchmark-record.",
            "default": false
          },
          "maxPeers": {
            "title": "Max peer companies per concept",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many peer companies to include per concept when Industry peer benchmark is on.",
            "default": 20
          },
          "onlyNew": {
            "title": "Only new results",
            "type": "boolean",
            "description": "Only new results: skip every record this same search already returned in an earlier run, so scheduled runs return just what is new, and you are not charged for skipped records. Max Items then means N new rows. State is saved in a key-value store named sec-edgar-seen in your own Apify account, one entry per search.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name (state key)",
            "type": "string",
            "description": "Optional label used with Only new results to keep several independent monitors, for example two schedules with the same tickers. Each distinct search plus label has its own list of already seen records. Leave empty for the default monitor.",
            "default": ""
          },
          "resetSeen": {
            "title": "Reset seen records",
            "type": "boolean",
            "description": "Clear the stored list of already seen records for this exact search before the run, so Only new results starts again from zero and returns the latest records again. Only has an effect together with Only new results.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}