Pricing
from $1.00 / 1,000 results
SEC EDGAR Filings Scraper
Scrape SEC EDGAR filings (10-K, 10-Q, 8-K, Form 4 insider trades, 13F holdings) for any US public company. HTTP-only via the SEC's public API. No login, no proxy, no auth.
Pricing
from $1.00 / 1,000 results
Rating
4.0
(1)
Developer
Actor stats
0
Bookmarked
4
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Scrape SEC EDGAR โ the US Securities and Exchange Commission's public database of every filing every public US company makes. Annual reports (10-K), quarterly reports (10-Q), material event disclosures (8-K), insider transactions (Form 4), hedge-fund holdings (13F), proxy statements, IPO prospectuses, and more. HTTP-only via the SEC's official JSON API. No login, no proxy.
What this actor does
- Resolves tickers (e.g.
AAPL) or CIKs to company records via SEC's master ticker map - Fetches recent filings for each company from
https://data.sec.gov/submissions/CIK<padded>.json - Filters by filing type (32 supported types), date range, and free-text keyword
- Optionally fetches the primary document HTML and emits cleaned text (for keyword search across filing text)
- Builds direct URLs to the filing index page, primary document, and EDGAR detail page
- Honors SEC's 10-requests-per-second rate limit + required User-Agent header
Output per filing
cik(10-digit padded),cikInt,companyName,ticker,tickers[],exchange,sic,sicDescriptionfilingTypeโ e.g.10-K,10-Q,8-K,4accessionNumberโ SEC's unique filing IDfiledAtโ date filedreportingPeriodโ fiscal period the filing coversacceptedAtโ exact timestamp of acceptanceprimaryDocFilename,primaryDocDescriptionprimaryDocUrlโ direct link to the actual filing documentfilingIndexUrlโ search results page on EDGARfilingDetailUrlโ filing's detail page on EDGARsizeBytes,isXbrl,isInlineXbrlprimaryDocText(only whenfetchPrimaryDocText=true) โ plain-text content of the filing, capped at 100k charsprimaryDocTextLengthrecordType: "filing",scrapedAt
Empty fields are omitted (no nulls).
Input
| Field | Type | Default | Description |
|---|---|---|---|
companies | array | ["AAPL","MSFT"] | Tickers (resolves automatically) or 10-digit CIKs |
filingTypes | array | ["10-K","10-Q","8-K"] | 32 supported types: 10-K, 10-Q, 8-K, DEF 14A, S-1, 13F-HR, 4, 3, 5, etc. |
dateRangeFrom | string | โ | Drop filings filed before this ISO date |
dateRangeTo | string | โ | Drop filings filed after this ISO date |
maxItemsPerCompany | int | 50 | Hard cap per company (1โ1000) |
maxItems | int | 500 | Global hard cap (1โ10000) |
fetchPrimaryDocText | bool | false | Fetch + extract the filing document's plain text |
containsKeyword | string | โ | Only emit filings whose text contains this substring (implies fetchPrimaryDocText) |
userAgentEmail | string | apify-actor@noreply.apify.com | Contact email for SEC's required User-Agent header |
Example: latest annual reports for tech giants
{"companies":["AAPL","MSFT","GOOGL","META","AMZN","NVDA"],"filingTypes":["10-K"],"maxItemsPerCompany":5}
Example: insider trades for a single company
{"companies":["TSLA"],"filingTypes":["4"],"maxItemsPerCompany":100}
Example: 8-K events with keyword search
{"companies":["AAPL"],"filingTypes":["8-K"],"fetchPrimaryDocText":true,"containsKeyword":"acquisition","dateRangeFrom":"2024-01-01"}
Example: hedge-fund holdings (13F)
{"companies":["0001067983"],"filingTypes":["13F-HR"],"maxItemsPerCompany":20}
Use cases
- Equity research โ pull every 10-K and 10-Q for a portfolio
- Insider trade alerts โ daily run on
Form 4filings for executives at watched companies - M&A monitoring โ
S-4registrations +8-Kevent disclosures filtered for "acquisition" keyword - IPO tracking โ
S-1andS-3filings to spot upcoming listings - Hedge fund replication โ
13F-HRfilings to mirror prominent fund managers' positions - Compliance audits โ verify filings for portfolio companies
- Financial journalism โ programmatic access to public filings without paying Bloomberg
- XBRL data extraction โ
isXbrlflag identifies machine-readable filings for downstream parsers
FAQ
Does it require a login or cookies? No. SEC EDGAR is fully public.
Is a proxy needed? No. SEC accepts requests from any IP, with a soft 10 req/sec rate limit.
Why does SEC require a User-Agent email? SEC's fair-access policy requires every API request to include a contact email so they can reach the operator if there's an issue. The actor uses a generic Apify-actor email by default; for production high-volume scraping, override with your own.
How fresh is the data? Real-time. SEC processes filings within minutes of submission.
What's the difference between cik and accessionNumber? cik identifies the company; accessionNumber identifies a specific filing. Each filing has a unique accession (e.g. 0000320193-24-000123).
Can I get the full filing text? Yes โ set fetchPrimaryDocText: true to also fetch the primary document and emit cleaned plain text (capped at 100k chars per record). Combine with containsKeyword to filter to filings mentioning a specific term.
What's the difference between 10-K and 20-F? 10-K is for US-domiciled companies; 20-F is for foreign-domiciled companies (e.g. ADRs). Same purpose: annual report.
Can I scrape a private company? No โ only US public companies and foreign companies that file with the SEC. Private companies don't file.
How is 13F-HR different from SC 13G? 13F-HR is a hedge fund's quarterly position list (all holdings >$100M AUM). SC 13G is a 5%+ ownership disclosure for any single security. Both useful for tracking institutional money flows.
What's an XBRL filing? Machine-readable structured filing format. The actor's isXbrl and isInlineXbrl flags tell you which filings have parseable structured data โ useful for downstream financial-data extraction.
