/ writing / finance
Every SEC filing is public. Querying them shouldn't be painful
EDGAR is free. It's also a mess: nested ZIPs, mixed encodings, millions of files, and a query interface that feels like 1998. If you need "all 10-Ks mentioning material weakness for companies over $10B market cap," you're writing a scraper, not running a query.
SEC EDGAR Filings solves the plumbing. Two modes:
// full-text search across everything
{ "mode": "fullTextSearch", "query": "material weakness", "formTypes": ["10-K", "10-Q"], "limit": 100 }
// company history by CIK
{ "mode": "companyFilings", "cik": "0000320193", "formTypes": ["10-K"], "limit": 50 }
Output is flat records with direct document URLs:
{
"cik": "0000320193",
"companyName": "Apple Inc.",
"formType": "10-K",
"filingDate": "2023-11-03",
"periodOfReport": "2023-09-30",
"accessionNumber": "0000320193-23-000106",
"documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019323000106/0000320193-23-000106-index.htm",
"primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019323000106/aapl-20230930.htm",
"fileNumber": "001-36743",
"filmNumber": "231345678",
"fetchedAt": "2026-07-27T12:00:00Z"
}
What makes this different from the SEC's own search
- Actual full-text search (SEC's search is metadata-only for older filings)
- No rate limits on the actor side — Apify handles the politeness
- Direct document URLs you can
curlor feed to a PDF parser - CIK resolution built in — search by ticker or name, get the right CIK
- Deduplicated — same filing accessed multiple ways returns one record
I built this because I was tired of writing the same EDGAR downloader for every finance project. Now I don't.
Try it: SEC EDGAR Filings on Apify — search 28M+ filings, get typed records back.