SEC EDGAR Data Scraper avatar

SEC EDGAR Data Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
SEC EDGAR Data Scraper

SEC EDGAR Data Scraper

High-speed, browserless extraction of SEC EDGAR filings (10-K, 10-Q, 8-K, Form 4) by ticker symbol. Get structured company data, document manifests, and historical records in seconds without the overhead of a headless browser.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Inus Grobler

Inus Grobler

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

7 days ago

Last modified

Share

SEC EDGAR Data Scraper API: company filings by ticker

Extract structured SEC EDGAR filing data for public companies by stock ticker. This Actor resolves tickers to official SEC CIK identifiers, searches EDGAR submissions, filters filings by date and form type, and returns clean dataset records for financial research, compliance monitoring, investment analysis, and data pipelines.

Use it as a browserless SEC filings scraper for 10-K, 10-Q, 8-K, DEF 14A, Form 3, Form 4, Form 5, registration statements, ownership filings, and other EDGAR company filings.

What you get

  • SEC EDGAR filings by ticker, including CIK, company name, form type, filing date, report date, and accession number.
  • Direct SEC URLs for the filing detail page, primary document, filing header, and document attachments.
  • Normalized document manifests with document names, types, sizes, categories, and primary-document flags.
  • Optional full submission text parsing for extractable filings, including header fields, filer details, document text, and summary fields.
  • Historical filing expansion when the company has older EDGAR submission archive pages.

Common use cases

  • Build SEC filing datasets for financial analysis, backtesting, and market research.
  • Monitor 10-K, 10-Q, and 8-K filings for public companies.
  • Collect proxy statements and governance filings such as DEF 14A.
  • Track insider and ownership activity from Form 3, Form 4, Form 5, SC 13D, and SC 13G.
  • Enrich company intelligence workflows with EDGAR metadata and source document links.

Quick start

Run the Actor in Apify Console with a ticker list:

{
"tickers": ["AAPL", "MSFT", "NVDA"]
}

Default settings are optimized for a fast filings search:

  • filingFocus: investor
  • enrichmentMode: filing-detail
  • dateFrom / dateTo: most recent December window when omitted
  • maxFilingsPerTicker: uncapped unless you provide a value

For a broader annual research run:

{
"tickers": ["AAPL", "MSFT", "NVDA"],
"formTypes": ["10-K", "10-Q", "8-K"],
"dateFrom": "2025-01-01",
"dateTo": "2025-12-31",
"enrichmentMode": "filing-detail",
"maxFilingsPerTicker": 10
}

For parsed complete submission text:

{
"tickers": ["AAPL"],
"formTypes": ["10-K"],
"dateFrom": "2025-01-01",
"dateTo": "2025-12-31",
"enrichmentMode": "full",
"maxFilingsPerTicker": 1
}

Input options

tickers

  • Required array of stock tickers.
  • Examples: AAPL, MSFT, NVDA, BRK-B.
  • Tickers are normalized before lookup.

filingFocus

  • Optional high-level filing filter.
  • Supported values: investor, investor_plus_governance, company_filings, ownership, all.
  • Use this when you want useful presets instead of exact SEC form codes.

dateFrom and dateTo

  • Optional inclusive filing date range in YYYY-MM-DD format.
  • Use these fields to target a quarter, year, event window, or monitoring period.

enrichmentMode

  • filing-detail: returns filing metadata, SEC document links, and document manifests.
  • full: also fetches and parses the SEC complete submission text file when the filing is text-extractable.

maxFilingsPerTicker

  • Optional positive integer.
  • Useful for controlling cost, runtime, and dataset size.

formTypes

  • Optional exact SEC form type filter.
  • Examples: 10-K, 10-Q, 8-K, DEF 14A, 4, SC 13G, S-1.
  • When provided, this overrides the filingFocus preset.

filingCategories

  • Optional category filter.
  • Supported values: financial_reports, company_updates, governance, capital_markets, ownership, other.

Output data

Each dataset item represents one matched SEC filing.

{
"ticker": "AAPL",
"companyName": "Apple Inc.",
"cik": "0000320193",
"formType": "8-K",
"filingCategory": "company_updates",
"filingDate": "2025-12-05",
"reportDate": "2025-12-04",
"acceptedAt": "2025-12-05 16:31:42",
"periodOfReport": "2025-12-04",
"accessionNumber": "0001140361-25-044561",
"filingDetailUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036125044561/0001140361-25-044561-index.html",
"primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036125044561/ef20060722_8k.htm",
"filingHeaderUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036125044561/0001140361-25-044561.hdr.sgml",
"documentCount": 2,
"dataFileCount": 5,
"submissionTextStatus": "not_requested",
"submissionTextTextTruncated": false
}

Key fields include:

  • Company identifiers: ticker, companyName, cik
  • Filing metadata: formType, filingCategory, filingDate, reportDate, acceptedAt, periodOfReport, accessionNumber
  • Source links: filingDetailUrl, primaryDocumentUrl, filingHeaderUrl
  • Filing files: documents, documentCount, dataFileCount
  • Full-text enrichment fields: submissionTextStatus, submissionTextError, submissionTextPrimaryDocumentText, submissionText

Dataset results can be exported from Apify as JSON, JSONL, CSV, Excel, XML, and other supported formats.

Python API example

Install the Apify Python client:

$pip install apify-client

Run the Actor and read the default dataset:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"tickers": ["AAPL", "MSFT"],
"formTypes": ["10-K", "10-Q", "8-K"],
"dateFrom": "2025-01-01",
"dateTo": "2025-12-31",
"enrichmentMode": "filing-detail",
"maxFilingsPerTicker": 5,
}
run = client.actor("thescrapelab/Apify-SEC-EDGAR-data").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["ticker"], item["formType"], item["filingDate"], item["filingDetailUrl"])

Pricing and usage notes

This Actor uses Apify pay-per-event pricing. Check the Actor Pricing tab for the current rates.

  • ticker-search: charged once per successfully resolved ticker in filing-detail mode.
  • ticker-search-premium: charged once per successfully resolved ticker in full mode.
  • apify-default-dataset-item: charged once per dataset item written.
  • Invalid or unresolved tickers are not charged as ticker search events.
  • Internal pagination and retry requests are not charged as separate search events.

Reliability

  • Uses direct SEC endpoints instead of browser automation for faster and more stable runs.
  • Sends an SEC-compliant user agent.
  • Applies conservative request throttling and retries common transient SEC responses such as 403, 429, and 503.
  • Works well for scheduled filing checks, batch research jobs, and API-based enrichment workflows.

Limitations

  • full mode is slower and produces larger dataset items because it fetches and parses complete submission text files.
  • Some filings, especially PDF-first annual reports such as ARS, may return submissionTextStatus: "not_extractable". Metadata and source document links are still returned.
  • Very broad uncapped runs across many tickers can produce large datasets. Use maxFilingsPerTicker, dateFrom, dateTo, and formTypes to control scope.

SEC EDGAR API, SEC filings API, SEC filings scraper, EDGAR company filings, stock ticker to CIK lookup, 10-K scraper, 10-Q scraper, 8-K scraper, Form 4 scraper, insider trading filings, public company filings dataset, financial documents API.