SEC EDGAR Data Scraper
Pricing
from $1.00 / 1,000 results
SEC EDGAR Data Scraper
High-speed, browserless extraction of SEC EDGAR filings (10-K, 10-Q, 8-K, Form 4) by ticker symbol. Get structured company data, document manifests, and historical records in seconds without the overhead of a headless browser.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Inus Grobler
Maintained by CommunityActor stats
1
Bookmarked
4
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
SEC EDGAR Filings Scraper: Company Reports and Insider Filings
SEC EDGAR Data Scraper collects structured SEC filings by stock ticker for investors, analysts, compliance teams, researchers, and data teams that need clean EDGAR filing metadata, document links, and optional submission text without running a browser.
Use it to fetch 10-K, 10-Q, 8-K, DEF 14A, Forms 3, 4, 5, ownership filings, registration statements, and other public company filings from SEC EDGAR.
Main Use Cases
- Monitor public company filings by ticker.
- Build filing datasets for financial research, backtesting, and market monitoring.
- Collect direct SEC links for primary documents, filing detail pages, headers, and attachments.
- Track governance filings, proxy statements, ownership filings, and insider activity.
- Feed structured EDGAR metadata into spreadsheets, BI tools, databases, or AI workflows.
Data Extracted
Each dataset item represents one matched SEC filing and can include:
- Company fields: ticker, company name, CIK.
- Filing fields: form type, filing category, filing date, report date, accepted timestamp, period of report, accession number.
- Source links: filing detail URL, primary document URL, filing header URL.
- Document manifest: attachment names, document types, file sizes, categories, URLs, and primary-document flags.
- Optional full submission text: parsed SEC header fields, filer details, document text, and summary fields when the filing is text-extractable.
Input Configuration
Start with ticker symbols and keep the date range narrow when you want the lowest cost.
tickers- Required list of stock tickers, such asAAPL,MSFT, orNVDA. Duplicates are removed.filingFocus- A simple preset:investor,investor_plus_governance,company_filings,ownership, orall.dateFromanddateTo- Filing date range inYYYY-MM-DDformat.enrichmentMode- Usefiling-detailfor normal metadata and document links at the current 1 GB production default. Usefullonly when you need parsed submission text and run with at least 512 MB memory.maxFilingsPerTicker- Recommended for predictable cost, especially with broad date ranges.formTypes- Optional exact SEC forms, such as10-K,10-Q,8-K,DEF 14A,4, orS-1.filingCategories- Optional category filter:financial_reports,company_updates,governance,capital_markets,ownership, orother.
Example Input
{"tickers": ["AAPL", "MSFT", "NVDA"],"formTypes": ["10-K", "10-Q", "8-K"],"dateFrom": "2025-01-01","dateTo": "2025-12-31","enrichmentMode": "filing-detail","maxFilingsPerTicker": 10}
For parsed complete submission text:
{"tickers": ["AAPL"],"formTypes": ["10-K"],"dateFrom": "2025-01-01","dateTo": "2025-12-31","enrichmentMode": "full","maxFilingsPerTicker": 1}
Example Output
{"ticker": "AAPL","companyName": "Apple Inc.","cik": "0000320193","formType": "8-K","filingCategory": "company_updates","filingDate": "2025-12-05","reportDate": "2025-12-04","acceptedAt": "2025-12-05 16:31:42","periodOfReport": "2025-12-04","accessionNumber": "0001140361-25-044561","filingDetailUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036125044561/0001140361-25-044561-index.html","primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036125044561/ef20060722_8k.htm","filingHeaderUrl": "https://www.sec.gov/Archives/edgar/data/320193/000114036125044561/0001140361-25-044561.hdr.sgml","documentCount": 2,"dataFileCount": 5,"submissionTextStatus": "not_requested","submissionTextTextTruncated": false}
Running On Apify
- Open the Actor on Apify.
- Add one or more ticker symbols.
- Choose a filing focus or exact form types.
- Set a date range and
maxFilingsPerTickerwhen you want predictable cost. - Run the Actor and open the Dataset tab when it finishes.
Results can be exported from Apify as JSON, JSONL, CSV, Excel, XML, and other supported formats.
Python API Example
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run_input = {"tickers": ["AAPL", "MSFT"],"formTypes": ["10-K", "10-Q", "8-K"],"dateFrom": "2025-01-01","dateTo": "2025-12-31","enrichmentMode": "filing-detail","maxFilingsPerTicker": 5,}run = client.actor("thescrapelab/Apify-SEC-EDGAR-data").call(run_input=run_input)if run is None:raise RuntimeError("Actor call returned no run or storage metadata")for item in client.dataset((run["defaultDatasetId"] if isinstance(run, dict) else run.default_dataset_id)).iterate_items():print(item["ticker"], item["formType"], item["filingDate"], item["filingDetailUrl"])
Pricing And Cost Control
This Actor is designed for low compute cost. Recent benchmarks showed normal capped filing-detail runs completing reliably at 256 MB memory after optimization; those benchmarks do not change the current 1 GB production default. Full submission text parsing should use at least 512 MB memory.
The current Store price and estimated platform usage are shown before each run. Result volume grows with ticker count, date range, and filing types, while full-text enrichment adds more requests and larger rows.
Cost-control tips:
- Use
filing-detailunless you need parsed submission text. - Use at least 512 MB memory when
enrichmentModeisfull. - Set
maxFilingsPerTickerfor broad date ranges. - Filter by
formTypeswhen you only need specific SEC forms. - Keep very large historical crawls split by ticker group or date range.
Limits And Caveats
- This Actor uses SEC public web resources and direct EDGAR endpoints. It does not use a paid third-party data API.
fullmode is slower and creates larger dataset items because it fetches and parses complete submission text.- Some filings, especially PDF-first annual reports such as
ARS, may returnsubmissionTextStatus: "not_extractable". Metadata and source links are still returned. - Extremely broad uncapped runs can produce large datasets. Use filters and caps for predictable cost.
- SEC data can contain amendments, missing fields, or filing-specific document structures.
Troubleshooting
No results:
- Check that the ticker is public and listed in SEC company ticker data.
- Expand the date range.
- Remove strict
formTypesfilters or tryfilingFocus: "all".
Unexpectedly high result count:
- Set
maxFilingsPerTicker. - Narrow
dateFromanddateTo. - Use exact
formTypes.
Submission text is missing:
- Set
enrichmentModetofull. - Check
submissionTextStatusandsubmissionTextError. - PDF-first filings may need separate PDF extraction.
Run is slower than expected:
- Use
filing-detailmode. - Reduce ticker count or split the run into smaller batches.
- Avoid broad historical ranges unless you need them.
FAQ
Can I scrape SEC EDGAR filings by ticker?
Yes. Provide stock tickers and the Actor resolves them to SEC CIK identifiers before collecting matching filings.
Does this support 10-K, 10-Q, and 8-K filings?
Yes. Use formTypes to request exact forms such as 10-K, 10-Q, and 8-K.
Can I get Form 4 insider trading filings?
Yes. Use filingFocus: "ownership" or set formTypes to include 4, 3, or 5.
Does it return direct SEC document URLs?
Yes. Results include filing detail URLs, primary document URLs, filing header URLs, and attachment manifests when available.
Does it parse full filing text?
Use enrichmentMode: "full" for parsed complete submission text when the SEC filing is text-extractable.
Is this a browser scraper?
No. It uses direct SEC web resources and EDGAR JSON/archive pages, which keeps memory and runtime lower than browser automation.
Can I export SEC filings to CSV or Excel?
Yes. Use Apify Dataset export options after the run finishes.
Complete searches, partial results and repeat exports
RUN-SUMMARY provides per-ticker source completeness, failed historical archives, deduplication conflicts, enrichment failures, limits and delivery status. noMatchesConfirmed is true only when every requested search completed without coverage, delivery or spending limits and no filings matched. Partial, failed, interrupted or ambiguous results never mean no new filings.
Omitted dates keep the existing behavior: the most recent December (the current December during December itself, otherwise the previous year's December). This is not a rolling recent-period or watchlist default. New Console examples omit the stale 2024 date prefills; saved explicit date ranges are unchanged. Choose explicit dates for your own workflow. Current production defaults are 1 GB and 300 seconds; no resource change is included.
Pricing includes the standard start event, one normal or premium ticker-search event per completed source search, and $0.001 per delivered filing row. Normal search prices are $0.005 on FREE/BRONZE, $0.004 on SILVER and $0.003 on GOLD/PLATINUM/DIAMOND. Premium prices are $0.025, $0.025, $0.022, $0.020, $0.020 and $0.020 respectively. The standard start event is $0.00005 at 1 GB. A normal FREE-tier search with three delivered rows illustrates $0.00805, conditional on availability. Use current Pricing-tab rates and a positive run charge limit.
A completed source search may have zero matching filings and still incur its search fee. Incomplete source searches do not incur that successful-search event; real partial filing rows may still incur their existing row fee. Normal/premium mode determines the search event. Optional document enrichment can be partial or non-extractable even after a complete metadata search; inspect each row and the summary. If saving or charging cannot be confirmed, processing stops without replaying that delivery or continuing to another ticker.
Every run remains a fresh snapshot. Accession numbers deduplicate overlapping source history within a ticker search. Distinct amendment accessions remain distinct filings; corrected observations of the same accession are not newly filed amendments. Compare accession and factual metadata downstream if you maintain history. No persistent watchlist, automatic history, schedule, notification or investment recommendation is provided. The official SEC submissions API is a free alternative when you can maintain your own processing.