SEC EDGAR Filings Scraper - 10-K, 8-K, 13F
Pricing
from $20.00 / 1,000 filing extracteds
SEC EDGAR Filings Scraper - 10-K, 8-K, 13F
Pull SEC EDGAR filings (10-K, 10-Q, 8-K, 13F) for any US-listed ticker and structure them to JSON: filing metadata, sectioned document text, risk factors and LLM-ready summaries. Official SEC full-text search API, no API key required.
Pricing
from $20.00 / 1,000 filing extracteds
Rating
0.0
(0)
Developer
Oaida Adrian
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
SEC EDGAR Filings & Financial Corpus Scraper
Pull SEC EDGAR filings — 10-K, 10-Q, 8-K and 13F-HR — for any US-listed ticker and get each filing structured to JSON: filing metadata, sectioned document text, 10-K risk factors (Item 1A), 13F holdings tables, and an optional LLM-ready summary. Built on the SEC's official full-text search API — no API key, no third-party data vendor.
Why
EDGAR is the canonical source of US public-company disclosures, but the raw archive is hostile to analysis: filings are HTML documents with table-heavy layouts, and the full-text search UI is built for humans, not pipelines. This actor turns a ticker + form-type + date window into a clean corpus of JSON records — one per filing — ready for financial alt-data pipelines, sentiment/risk analysis, RAG corpora, or LLM fine-tuning datasets.
How it works
- Ticker → CIK — resolves the ticker against the official SEC company
list (
company_tickers.json); falls back to display-name search for delisted or foreign-format tickers. - Full-text search — queries the official EDGAR full-text search JSON
API (
efts.sec.gov/LATEST/search-index) with the ticker, form types and date window, paginated at 100 hits per page, deduplicated by accession number, and filtered to each filing's primary document (exhibits are excluded; their URLs remain reachable via the filing index link). - Document extraction — fetches each primary document from the SEC Archives and converts HTML to clean text (scripts/styles stripped, tables preserved, entities decoded, whitespace normalised).
- Structuring — splits documents into Item sections (
Item 1.,Item 1A.,Item 7.,Item 2.02, ...), extracts risk factors from 10-K/10-Q Item 1A, and parses 13F-HR XML InfoTables into holding records (issuer, CUSIP, value, shares, voting authority). - Summary — when
summarizeis enabled, emits a deterministic markdown summary per filing (metadata, section map, risk-factor excerpt, holdings preview) designed for direct LLM consumption — no external LLM call, no extra cost.
SEC fair-access policy is respected: a descriptive User-Agent
(Darknezz Research admin@adrianhomelab.com) and polite pacing (~5
requests/second, well under the 10 rps limit) with 429 backoff.
Input
| Field | Type | Default | Description |
|---|---|---|---|
ticker | string | — | Stock ticker, e.g. AAPL, MSFT, TSLA (required) |
formTypes | string[] | ["10-K","10-Q","8-K","13-F"] | Form types to pull; 13-F maps to 13F-HR |
period | string | empty | Date window: 2023-2026, 2024, or 2023-01-01:2026-12-31 |
summarize | boolean | true | Add the LLM-ready summary per filing |
maxItems | integer | 50 | Max filings to extract (1–500) |
Example:
{"ticker": "AAPL","formTypes": ["10-K", "8-K"],"period": "2023-2026","summarize": true}
Output
One dataset item per filing:
- Metadata —
accessionNumber,ticker,companyName,cik,formType,filingDate,periodEnding, eventitems(8-K), file details,documentUrl,sourceUrl(filing index). sections— array of{heading, item, text}for each Item section (per-section cap 60k chars; full text stays at the source URL).riskFactors— 10-K/10-Q Item 1A text (or any "Risk Factors" heading), empty for 8-K.holdings— 13F positions:nameOfIssuer,titleOfClass,cusip,value,shares,sharesType,putCall,investmentDiscretion,otherManager,votingSole/Shared/None. Mega-manager filings are capped at 20,000 positions withholdingsCount+holdingsTruncatedflags.summary— LLM-ready markdown whensummarizeis true.charCount,scrapedAt.
Use cases
- Financial alt-data — monitor 8-K event items (2.02 results, 1.01 agreements, 9.01 exhibits) across a watchlist.
- Risk analysis — 10-K Item 1A risk-factor corpus for sector risk benchmarking or LLM risk-extraction pipelines.
- 13F tracking — institutional holdings snapshots (quarterly) for fund-flow and positioning analysis.
- Vertical AI corpus — clean, sectioned regulatory text for fine-tuning, RAG, or evaluation datasets.
- Fundamental screening — 10-Q/10-K MD&A text for narrative trend analysis over time.
Run from the API
curl -X POST "https://api.apify.com/v2/acts/darknezz~sec-edgar-filings-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"ticker":"AAPL","formTypes":["8-K"],"period":"2024-2026","summarize":true,"maxItems":5}'
Pricing
Pay-per-event — charged per filing extracted (result event).
Pricing is finalised at publication; this actor is currently held private.
FAQ
Do I need an API key? No — EDGAR is a free public API. Only a descriptive User-Agent is required, which the actor sets automatically.
Rate limits? SEC's fair-access policy allows 10 requests/second; the actor stays at ~5 and backs off on 429s.
Why are exhibits missing from sections? Each filing yields its primary
document only; exhibit files (EX-99.1 press releases, EX-10 contracts) are
one click away via sourceUrl (the filing index).
Amendments? /A variants are included when the form-type filter matches
(e.g. 10-K/A); use the exact form code to narrow.
What about delisted tickers? If the ticker is absent from the SEC company list, the actor falls back to display-name full-text search, which covers most historical filers.