SEC Earnings Release Scraper — Text & Metrics
Pricing
$2.00 / 1,000 records
SEC Earnings Release Scraper — Text & Metrics
Parsed earnings-release text and headline metrics from SEC 8-K filings — not just a link to the filing. Get the full quarterly press release body plus revenue, EPS, margin and net income figures, each with its SEC source URL. Financial data for analysts, investor relations and AI agents.
Pricing
$2.00 / 1,000 records
Rating
0.0
(0)
Developer
Source Sauce
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Get the actual earnings release text from SEC 8-K filings — not just a link to the filing.
Most SEC tools hand you filing metadata and a URL. The numbers you actually want live inside an exhibit attached to the filing, and the 8-K's own primary document is a cover page that contains no financials at all. This actor resolves the right exhibit, strips it to clean text, and returns it alongside the headline figures.
Unofficial. Not affiliated with or endorsed by the U.S. Securities and Exchange Commission.
What you get per filing
{"company": "Apple Inc.","tickers": ["AAPL"],"cik": "0000320193","accession": "0000320193-26-000018","form": "8-K","items": ["2.02", "9.01"],"filing_date": "2026-07-30","report_date": "2026-07-30","release_document": "a8-kex991q3202606272026.htm","release_chars": 10468,"release_text": "Apple reports third quarter results ... quarterly revenue of $109.4 billion, up 16 percent year over year ...","metrics": {"revenue": "$109.4 billion","eps_diluted": "$2.02","gross_margin_pct": "50.1","net_income": "$27.5 billion"},"source_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000018/a8-kex991q3202606272026.htm","co_registrants": []}
Every record carries source_url — the exact SEC document the text came from, so any figure can be
checked at the primary source.
One filing is one record, even when several companies file it together. Utility holding companies
and REITs routinely file a single 8-K under a parent plus its subsidiaries or operating partnership.
SEC's index lists each registrant separately; we return one record and name the others in
co_registrants, so you are billed once for one document:
"company": "ALLIANT ENERGY CORP","cik": "0000352541","co_registrants": [{"cik": "0000052485", "company": "INTERSTATE POWER & LIGHT CO"},{"cik": "0000107832", "company": "WISCONSIN POWER & LIGHT CO"}]
Who uses this
- Equity analysts and quant funds — quarterly results in structured form the moment they are filed, rather than waiting for an aggregator to pick them up.
- Investor relations and comms teams — pull competitors' earnings press releases into one place on results day.
- AI agents and retrieval pipelines —
release_textis clean prose paired with asource_url, which is what a RAG pipeline needs and what a filing-metadata API does not give you. - Financial data products — revenue, EPS, gross margin and net income as parsed fields, with the release body kept alongside so any number can be audited back to the source.
Common questions
- Is this 10-Q or 10-K data? No — 8-K earnings releases only, items 2.02 and 7.01. That is where US issuers publish quarterly results first; the 10-Q follows weeks later.
- Do I get full financial statements? No. You get the press release body plus the four headline metrics above. Statement tables are not parsed into fields — see Honest limitations.
- How current is it? As current as EDGAR itself; filings are retrievable within minutes of acceptance.
- Can I run it for a whole watchlist? Yes —
tickerstakes an array, andlimitcontrols how many filings come back per issuer. - Can I get every issuer reporting on a given day, without a ticker list? Yes — set
modetofullMarketand optionallydate. That returns every 8-K item-2.02 filing on the most recent published EDGAR index day. For scale: 57 issuers on 2026-07-31, against a market-wide average of about 90 item-2.02 filings per business day measured across 2026-07-20..31. - Am I charged twice when a parent and its subsidiary file the same 8-K? No. One filing is one
charge; the other registrants are listed in
co_registrantson the same record.
Input
| Field | Type | Notes |
|---|---|---|
mode | string | watchlist (default) or fullMarket. Full-market ignores tickers/ciks and returns every issuer reporting results on one EDGAR index day. |
date | string | fullMarket only. YYYY-MM-DD; defaults to today. Walks back to the most recent published index, so weekends and holidays return the last trading day rather than nothing. |
maxFilings | int | fullMarket only. Caps how many filings are examined in one run. Default 400. |
tickers | string[] | e.g. ["AAPL","MSFT"]. Resolved via SEC's own ticker→CIK map. |
ciks | string[] | Use when a ticker isn't in SEC's map (ETFs and some issuers are missing). |
limit | int | Filings per issuer, newest first. Default 2. |
includeText | bool | Set false for metadata + metrics only (smaller payloads). |
contactEmail | string | Required. The SEC requires EDGAR requests to identify the requester with a contact email. Sent only to the SEC in the User-Agent header — never stored or shared otherwise. |
Unresolved tickers are reported, never silently dropped — a lookup miss means "not in SEC's map", not "company doesn't exist".
Which filings it covers
8-K filings carrying item 2.02 (Results of Operations) or item 7.01 (Regulation FD) — the two item codes under which US issuers publish quarterly results. Item 7.01 also captures the monthly credit-statistics releases that card issuers file.
Honest limitations
release_textis the authoritative output;metricsis a convenience layer. The parser is deliberately conservative and returnsnullrather than a number it can't stand behind.- Some issuers publish figures only in tables (ExxonMobil reports
114,529with units declared in a column header). Rather than guess a magnitude, those fields come backnull— the full text is still there. - Non-GAAP labels are not silently mapped. A company reporting only "core EPS" returns
nullforeps_diluted, because those are different measures. - Verified across a live sample of 10 large-cap issuers (Apple, Microsoft, NVIDIA, JPMorgan, Coca-Cola, Delta, Goldman Sachs, P&G, ExxonMobil, Tesla): release text resolved for 10/10, headline revenue for 7/10, with the 3 abstentions correct per the rules above.
Notes on sourcing
Data comes from the SEC's public EDGAR system, accessed with a declared User-Agent and self-throttled well inside SEC's published request guidance. No login, paywall, or access control is bypassed.
Development
uv run --with pytest pytest -q # 21 unit tests, no networkuv run python -m src.run --tickers AAPL --limit 1 --user-agent "you you@example.com"