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
2
Total users
1
Monthly active users
4 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.