SEC Earnings Release Scraper — Text & Metrics avatar

SEC Earnings Release Scraper — Text & Metrics

Pricing

$2.00 / 1,000 records

Go to Apify Store
SEC Earnings Release Scraper — Text & Metrics

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

Source Sauce

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

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 pipelinesrelease_text is clean prose paired with a source_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 — tickers takes an array, and limit controls how many filings come back per issuer.
  • Can I get every issuer reporting on a given day, without a ticker list? Yes — set mode to fullMarket and optionally date. 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_registrants on the same record.

Input

FieldTypeNotes
modestringwatchlist (default) or fullMarket. Full-market ignores tickers/ciks and returns every issuer reporting results on one EDGAR index day.
datestringfullMarket 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.
maxFilingsintfullMarket only. Caps how many filings are examined in one run. Default 400.
tickersstring[]e.g. ["AAPL","MSFT"]. Resolved via SEC's own ticker→CIK map.
ciksstring[]Use when a ticker isn't in SEC's map (ETFs and some issuers are missing).
limitintFilings per issuer, newest first. Default 2.
includeTextboolSet false for metadata + metrics only (smaller payloads).
contactEmailstringRequired. 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_text is the authoritative output; metrics is a convenience layer. The parser is deliberately conservative and returns null rather than a number it can't stand behind.
  • Some issuers publish figures only in tables (ExxonMobil reports 114,529 with units declared in a column header). Rather than guess a magnitude, those fields come back null — the full text is still there.
  • Non-GAAP labels are not silently mapped. A company reporting only "core EPS" returns null for eps_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 network
uv run python -m src.run --tickers AAPL --limit 1 --user-agent "you you@example.com"