SEC EDGAR Scraper avatar

SEC EDGAR Scraper

Pricing

$0.50 / 1,000 filings

Go to Apify Store
SEC EDGAR Scraper

SEC EDGAR Scraper

SEC EDGAR filing-index metadata as clean JSON: company filing history by ticker or CIK, or full-text search across all filers. Official SEC APIs, no login, no document parsing.

Pricing

$0.50 / 1,000 filings

Rating

0.0

(0)

Developer

Rowfeed

Rowfeed

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

SEC EDGAR Filings Scraper – Company History & Full-Text Search

Get SEC EDGAR filing-index metadata as clean JSON: every 10-K, 10-Q, 8-K, Form 4 and other filing a company has made, or every filing across all of EDGAR that matches a full-text search. Built for financial analysts, compliance teams, researchers and AI agents who need a reliable filing index without scraping HTML, running headless browsers or fighting SEC's 403s. Plain HTTPS calls to SEC's own official, key-less JSON APIs with retries and a silent-failure check, so a scheduled run keeps working when EDGAR hiccups.

What you get

  • Company filing history – every accession number, form type, filing date, report period and primary-document link for a ticker or CIK, filterable by form type and date, newest first.
  • EDGAR full-text search – every filing across all filers that matches a keyword or phrase, filterable by form type and date range, so you can track who is disclosing what (e.g. "climate risk", "data breach", a competitor's name).
  • Filing-index metadata only – accession number, company, CIK, ticker, form type, dates, document link and filing size. No document bodies are parsed, so insider names on Forms 3/4/5 appear only as the index row SEC already publishes, never scraped out of the form text.

Sample row

One 10-K from mode: "company" with companies: ["AAPL"].

{
"accession_number": "0000320193-25-000079",
"company_name": "Apple Inc.",
"cik": 320193,
"ticker": "AAPL",
"form_type": "10-K",
"filing_date": "2025-10-31",
"report_period": "2025-09-27",
"primary_document": "aapl-20250927.htm",
"filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm",
"index_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.htm",
"file_number": "001-36743",
"size": 9392337,
"scraped_at": "2026-09-16T06:30:52+00:00",
"acceptanceDateTime": "2025-10-31T10:01:26.000Z",
"act": "34",
"isXBRL": 1,
"isInlineXBRL": 1,
"primaryDocDescription": "10-K"
}

Filters

InputModeDefaultWhat it does
modecompanycompany = filing history for specific companies. search = full-text search across all filers.
companiescompany["AAPL", "MSFT", "TSLA"]Ticker symbols (e.g. AAPL) or CIK numbers (e.g. 320193). An unknown ticker/CIK becomes an unbilled error row instead of stopping the run.
formTypesboth[]Keep only these form types, e.g. ["10-K", "10-Q", "8-K"]. Empty = every form type. In search mode this matches SEC's form family, so ["8-K"] also returns 8-K/A amendments; check form_type on the row to filter exactly.
sincecompanyOnly filings on or after this date (YYYY-MM-DD).
maxFilingsPerCompanycompany100Row cap per company.
querysearchclimate riskFull-text search phrase, matched against filing text.
startDate / endDatesearchDate range (YYYY-MM-DD).
maxResultssearch100Row cap for the search.

Pricing

Pay per event, no subscription: $0.50 per 1,000 filing rows. A default run (300 filings across 3 companies) costs $0.15. Set a maximum charge on the run and the Actor stops cleanly when it is reached, charging only for rows that were actually saved.

Use it from your tools

  • API and SDKs – call it via the Apify API or the official Python/JavaScript clients: one call to start the run, one to fetch the dataset as JSON or CSV.
  • Schedules – run it daily inside Apify to catch new 8-Ks or 10-Qs the moment they post, and pipe rows to Google Sheets, a webhook or your own storage.
  • n8n, Make and Zapier – trigger runs and feed filings into a workflow through Apify's integration for each.
  • AI agents and MCP – this Actor is eligible for agentic use via Apify's MCP server and supports pay-per-event pricing, so an agent can pull a company's filing history or run a full-text search mid-task and pay only per row it actually reads.

Details

  • Source: three official SEC EDGAR APIs – full-text search (efts.sec.gov/LATEST/search-index), company submissions (data.sec.gov/submissions) and the ticker/CIK lookup (www.sec.gov/files/company_tickers.json). No login, no proxies, no browser, no scraping of filing bodies.
  • What is not included: the contents of filings. Forms 3/4/5 (insider transactions) are returned only as the filing-index row SEC already publishes as public record (who filed, when, which form) – never as parsed officer/insider details pulled from the document text.
  • Reliability: SEC requires a descriptive User-Agent and rate-limits requests; this Actor identifies itself accordingly and stays under 4 requests/second. 429 and 5xx responses are retried with exponential backoff (5 tries), a 200 without valid JSON counts as a failure, and one bad ticker or CIK never stops the run: it becomes an error row (company, error, errorMessage) and the rest continues. A run fails only when it produced no rows and hit real request errors; an unknown ticker with no other errors is a successful, empty-for-that-row run.
  • Run stats: the STATS record in the run's key-value store holds request and error counts per category (network, rate_limit, blocked, not_found, other).
  • Output: one dataset row per filing with the columns above first and every raw SEC field after them. The Overview table shows company, ticker, form, filing date, document and link. Export as JSON, CSV or Excel, fetch through the Apify API, or schedule runs and pipe them into Google Sheets, Make, Zapier or your own code.

Not affiliated with the U.S. Securities and Exchange Commission. Data comes from SEC's own public EDGAR APIs.