SEC EDGAR Scraper avatar

SEC EDGAR Scraper

Pricing

from $0.40 / 1,000 filing fetcheds

Go to Apify Store
SEC EDGAR Scraper

SEC EDGAR Scraper

Fetches SEC EDGAR filings, normalized financial statements, XBRL facts, insider trades (Form 4), institutional holdings (13F), activist stakes (13D/G), full-text search hits, and parsed 8-K items via official SEC APIs. Zero anti-bot. Optional AI summaries.

Pricing

from $0.40 / 1,000 filing fetcheds

Rating

5.0

(1)

Developer

Omar Eldeeb

Omar Eldeeb

Maintained by Community

Actor stats

2

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

What does SEC EDGAR Scraper do?

SEC EDGAR Scraper fetches structured data directly from the U.S. Securities and Exchange Commission's official EDGAR system — every public filing, every XBRL financial fact, every insider trade, every institutional holding — and delivers it as clean JSON or CSV you can feed straight into a pipeline.

It uses the SEC's official data APIs (data.sec.gov, efts.sec.gov, www.sec.gov/Archives/edgar), which are public-domain, zero-auth, and fully commercial-safe. No CAPTCHAs, no scraping fragility — just the same data that Bloomberg, FactSet, and sec-api.io resell, delivered cheaper and on your own Apify schedule.

Built with TypeScript on the Apify SDK. Respects SEC fair-use limits automatically, so it never gets throttled.

Why use SEC EDGAR Scraper?

  • Financial analysts — pull normalized income statements, balance sheets, and cash flows for any U.S. public company with one call. No more wrestling with XBRL.
  • Hedge funds & quants — monitor insider trades (Form 4), institutional position changes (13F), and activist stake accumulations (13D/G) as filings land.
  • M&A / PE dealmakers — auto-parse 8-K item codes (2.01 acquisitions, 5.02 exec changes, 4.01 auditor changes) to surface deal signals the moment they're filed.
  • Investment research & AI/LLM teams — pipe 20+ years of filings into your model with structured metadata, AI-generated filing summaries, and full-text search.
  • Compliance & governance teams — track peer filings, proxy statements, and disclosure trends with date-range filters and scheduled runs.

How to use SEC EDGAR Scraper

  1. Pick a mode: filings, xbrl_facts, financials, full_text_search, form4, form13f, activist, latest_feed, or eight_k_items.
  2. For company-scoped modes, add one or more tickers (e.g. AAPL, TSLA) — or CIKs, company names, or domains. The actor auto-resolves to canonical SEC CIK.
  3. Optional filters: forms (10-K, 10-Q, 8-K, etc.), dateFrom / dateTo, maxItems, form-specific filters.
  4. Run the actor. Results land in the default dataset.
  5. Export as JSON, CSV, Excel, or XML from the Apify Console — or pipe into a webhook / pull via API.
  6. Want daily updates? Enable incremental mode and schedule the actor to run daily — only new or changed items are emitted.

Input

The simplest possible input — fetch Apple's recent 10-K and 10-Q filings:

{
"mode": "filings",
"tickers": ["AAPL"],
"forms": ["10-K", "10-Q"],
"maxItems": 20
}

Get normalized income statements for Microsoft over the past 5 fiscal years:

{
"mode": "financials",
"tickers": ["MSFT"],
"statementTypes": ["income_statement"],
"fiscalPeriods": ["FY"],
"dateFrom": "2020-01-01",
"maxItems": 10
}

Find every 10-K that mentions "artificial intelligence" in 2025:

{
"mode": "full_text_search",
"searchQuery": "artificial intelligence",
"forms": ["10-K"],
"dateFrom": "2025-01-01",
"dateTo": "2025-12-31",
"maxItems": 500
}

Track recent insider buying at Tesla worth at least $100,000:

{
"mode": "form4",
"tickers": ["TSLA"],
"transactionCodes": ["P"],
"minTransactionValue": 100000,
"dateFrom": "2025-01-01",
"maxItems": 50
}

Pull 13F institutional holdings for Berkshire Hathaway (CIK 1067983):

{
"mode": "form13f",
"tickers": ["1067983"],
"maxItems": 500
}

Get activist (SC 13D) stake accumulations for any ticker under pressure:

{
"mode": "activist",
"tickers": ["DIS"],
"activistOnly": true,
"maxItems": 20
}

Generate AI-powered summaries of a company's 8-K earnings releases:

{
"mode": "eight_k_items",
"tickers": ["NVDA"],
"eightKItemCodes": ["2.02"],
"enableAiSummary": true,
"maxItems": 8
}

Output

Example output from filings mode:

{
"type": "filing",
"cik": "320193",
"ticker": "AAPL",
"companyName": "Apple Inc.",
"form": "10-K",
"accessionNumber": "0000320193-25-000079",
"filingDate": "2025-10-31",
"reportDate": "2025-09-27",
"acceptanceDateTime": "2025-10-31T18:04:43.000Z",
"primaryDocument": "aapl-20250927.htm",
"primaryDocDescription": "10-K",
"items": null,
"isXBRL": true,
"isInlineXBRL": true,
"size": 6391250,
"filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm",
"filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.htm",
"aiSummary": null,
"scrapedAt": "2026-04-19T20:05:49.147Z"
}

Example output from financials mode (normalized income statement):

{
"type": "financial_statement",
"cik": "320193",
"ticker": "AAPL",
"companyName": "Apple Inc.",
"statementType": "income_statement",
"period": "2025-FY",
"periodEnd": "2024-09-28",
"fiscalYear": 2025,
"fiscalPeriod": "FY",
"form": "10-K",
"filedDate": "2025-10-31",
"accessionNumber": "0000320193-25-000079",
"currency": "USD",
"lineItems": [
{ "label": "Revenue", "concept": "RevenueFromContractWithCustomerExcludingAssessedTax", "value": 383285000000, "unit": "USD" },
{ "label": "Cost of Revenue", "concept": "CostOfGoodsAndServicesSold", "value": 214137000000, "unit": "USD" },
{ "label": "Gross Profit", "concept": "GrossProfit", "value": 169148000000, "unit": "USD" },
{ "label": "Operating Income", "concept": "OperatingIncomeLoss", "value": 114301000000, "unit": "USD" },
{ "label": "Net Income", "concept": "NetIncomeLoss", "value": 96995000000, "unit": "USD" },
{ "label": "EPS Diluted", "concept": "EarningsPerShareDiluted", "value": 6.13, "unit": "USD/shares" }
]
}

Example output from form4 mode (insider trade):

{
"type": "form4_transaction",
"cik": "320193",
"ticker": "AAPL",
"companyName": "Apple Inc.",
"insiderName": "Borders Ben",
"insiderCik": "0002100523",
"insiderTitle": "Principal Accounting Officer",
"isOfficer": true,
"isDirector": false,
"isTenPercentOwner": false,
"transactionType": "other",
"transactionCode": "F",
"shares": 892,
"pricePerShare": 266.43,
"totalValue": 237655.56,
"sharesOwnedAfter": 39987,
"transactionDate": "2026-04-15",
"filingDate": "2026-04-17"
}

Data fields

FieldTypeDescription
typeenumDiscriminator: filing, xbrl_fact, financial_statement, full_text_hit, form4_transaction, form13f_holding, activist_filing, eight_k_parsed
cikstringSEC Central Index Key (company identifier)
tickerstring?Stock ticker, when known
companyNamestringRegistrant name as filed
formstringForm type (10-K, 10-Q, 8-K, 4, 13F-HR, SC 13D, etc.)
filingDatedateWhen the filing was submitted to SEC
reportDatedate?Period the filing reports on (e.g. fiscal year-end)
accessionNumberstringUnique SEC filing identifier
filingUrlurlDeep link to the primary filing document
filingIndexUrlurlDeep link to the filing's index page (all exhibits)
scrapedAttimestampWhen this record was emitted by the actor
aiSummaryobject?AI-generated structured summary (only when enableAiSummary is on)

Mode-specific fields (line items, transactions, XBRL facts) are documented inside each mode's output rows — see the examples above.

How much does it cost to scrape SEC EDGAR?

Pay only for what you use. Each chargeable event has its own price:

EventPriceWhen it fires
filing-fetched$0.40 per 1,000Any filing, insider trade, 8-K item, activist stake, or 13F holding emitted
xbrl-fact-fetched$0.15 per 1,000Raw XBRL financial fact (one revenue data point, one EPS number, etc.)
normalized-statement-fetched$0.50 per 1,000A clean, analyst-ready financial statement (income, balance, cash flow)
fulltext-hit-fetched$0.30 per 1,000A filing matched by your full-text search query
change-detected$0.30 per 1,000A new or updated item surfaced via incremental mode
ai-summary-generated$0.05 eachAn AI structured summary (premium; only when enableAiSummary is on)

Free trial: The first 50 chargeable events per run are free. Test any mode, see real output, pay nothing until you're confident.

Typical run costs (after the free trial):

TaskEventsCost
Fetch 500 recent filings for 5 tickers500 filings$0.18
Pull 10 years of quarterly financials for a single ticker120 statements$0.04
Full-text search "AI" across 2025 10-Ks (top 1000 hits)1,000 hits$0.29
500 insider trades at 20 S&P 500 companies500 filings$0.18
Track 13F holdings for 3 hedge funds (8000 holdings)8,000 filings$3.02
AI-summarize 50 earnings 8-Ks50 filings + 50 summaries$2.52

Compared to sec-api.io ($100/mo minimum) and Bloomberg terminals ($24k/user/year), this actor pays off even at heavy use.

Tips & advanced options

  • Incremental mode — set incrementalMode: true and schedule the actor (e.g. daily at 09:00 EST). On each run, only new or changed items are emitted, so your downstream systems see a clean delta stream.
  • Combining filters — all company-scoped modes accept forms and dateFrom / dateTo together. Example: recent 10-Q filings from the past 90 days for a watchlist of 50 tickers.
  • Custom XBRL concepts — in xbrl_facts mode, provide the exact US-GAAP concept names (e.g. StockholdersEquity, LongTermDebtNoncurrent). See SEC's XBRL taxonomy for the full catalog.
  • Multi-ticker runs — the tickers field accepts an array. One run for 100 companies is cheaper than 100 runs for 1 company each (fewer actor-start charges).
  • AI summaries on long filings — set aiSummaryMaxChars to truncate input. For 10-Ks (often 100k+ chars), 60k is usually enough to catch all material items.
  • Chaining with Apify webhooks — pipe results into Make.com, Zapier, Power BI, or a Slack channel using Apify's integrations.

EDGAR is a U.S. government system operated by the Securities and Exchange Commission. Data returned by this actor is public-domain and subject to the SEC.gov Privacy and Security Policy. This actor operates within SEC's published fair-use guidelines (≤10 requests/second, User-Agent header with contact info). You are responsible for complying with any downstream redistribution terms (e.g. GDPR if you're processing EU-linked data, or your local data-handling laws).

FAQ & support

Does this actor require an SEC API key? No. SEC EDGAR APIs are public-domain and unauthenticated. This actor sends a compliant User-Agent header automatically.

How fresh is the data? Filings appear in the submissions API within seconds of SEC acceptance. XBRL fact APIs can lag by a minute during 8-K peak hours. Full-text search index lags by 15–30 minutes on average.

What if my ticker isn't resolving? The SEC ticker list covers ~8,000 U.S.-listed public companies. For foreign filers (20-F issuers), closed-end funds, and some OTC stocks, pass the CIK directly in tickers (e.g. "1067983" for Berkshire Hathaway).

Can I run this on a schedule? Yes. Set incrementalMode: true and use Apify's scheduler. Daily runs after 6pm ET (after daily SEC close) catch the full day's filings.

What about 10-K amendments and restatements? Amendments (10-K/A, 10-Q/A) are returned as separate filings with the amendment form code. Use forms: ["10-K", "10-K/A"] to get both originals and amendments.

Something's wrong / I have a feature request. Open an issue on the actor's Issues tab or email the maintainer. Common requests (peer benchmarking, risk-factor diffing, proxy statement parsing) are on the roadmap.