SEC EDGAR Scraper
Pricing
from $0.40 / 1,000 filing fetcheds
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
Actor stats
2
Bookmarked
9
Total users
6
Monthly active users
13 days ago
Last modified
Categories
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
- Pick a mode:
filings,xbrl_facts,financials,full_text_search,form4,form13f,activist,latest_feed, oreight_k_items. - 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. - Optional filters:
forms(10-K, 10-Q, 8-K, etc.),dateFrom/dateTo,maxItems, form-specific filters. - Run the actor. Results land in the default dataset.
- Export as JSON, CSV, Excel, or XML from the Apify Console — or pipe into a webhook / pull via API.
- 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
| Field | Type | Description |
|---|---|---|
type | enum | Discriminator: filing, xbrl_fact, financial_statement, full_text_hit, form4_transaction, form13f_holding, activist_filing, eight_k_parsed |
cik | string | SEC Central Index Key (company identifier) |
ticker | string? | Stock ticker, when known |
companyName | string | Registrant name as filed |
form | string | Form type (10-K, 10-Q, 8-K, 4, 13F-HR, SC 13D, etc.) |
filingDate | date | When the filing was submitted to SEC |
reportDate | date? | Period the filing reports on (e.g. fiscal year-end) |
accessionNumber | string | Unique SEC filing identifier |
filingUrl | url | Deep link to the primary filing document |
filingIndexUrl | url | Deep link to the filing's index page (all exhibits) |
scrapedAt | timestamp | When this record was emitted by the actor |
aiSummary | object? | 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:
| Event | Price | When it fires |
|---|---|---|
filing-fetched | $0.40 per 1,000 | Any filing, insider trade, 8-K item, activist stake, or 13F holding emitted |
xbrl-fact-fetched | $0.15 per 1,000 | Raw XBRL financial fact (one revenue data point, one EPS number, etc.) |
normalized-statement-fetched | $0.50 per 1,000 | A clean, analyst-ready financial statement (income, balance, cash flow) |
fulltext-hit-fetched | $0.30 per 1,000 | A filing matched by your full-text search query |
change-detected | $0.30 per 1,000 | A new or updated item surfaced via incremental mode |
ai-summary-generated | $0.05 each | An 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):
| Task | Events | Cost |
|---|---|---|
| Fetch 500 recent filings for 5 tickers | 500 filings | $0.18 |
| Pull 10 years of quarterly financials for a single ticker | 120 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 companies | 500 filings | $0.18 |
| Track 13F holdings for 3 hedge funds (8000 holdings) | 8,000 filings | $3.02 |
| AI-summarize 50 earnings 8-Ks | 50 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: trueand 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
formsanddateFrom/dateTotogether. Example: recent 10-Q filings from the past 90 days for a watchlist of 50 tickers. - Custom XBRL concepts — in
xbrl_factsmode, provide the exact US-GAAP concept names (e.g.StockholdersEquity,LongTermDebtNoncurrent). See SEC's XBRL taxonomy for the full catalog. - Multi-ticker runs — the
tickersfield 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
aiSummaryMaxCharsto 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.
Legal disclaimer
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.