SEC EDGAR Company Filings Scraper
Pricing
from $0.03 / 1,000 filing metadata rows
SEC EDGAR Company Filings Scraper
Extract SEC EDGAR filing metadata by ticker or CIK with form/date filters, accession numbers, company fields, and direct SEC document URLs.
Pricing
from $0.03 / 1,000 filing metadata rows
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
Extract public SEC EDGAR company filing metadata by ticker or CIK. Get recent 10-K, 10-Q, 8-K, Form 4, and other filing rows with dates, accession numbers, company identifiers, and SEC document links.
What does SEC EDGAR Company Filings Scraper do?
SEC EDGAR Company Filings Scraper turns a list of public-company tickers or CIKs into a clean dataset of filing metadata.
You can use it to:
- π’ Look up filings for public companies such as Apple, Microsoft, or Tesla
- π Filter by SEC form type such as
10-K,10-Q,8-K, or4 - π Restrict results to a filing date range
- π Export SEC filing detail URLs and primary document URLs
- π Feed filing metadata into spreadsheets, databases, alerts, or dashboards
Who is it for?
This actor is useful for teams that monitor public-company disclosures.
- πΌ Finance analysts tracking earnings reports and annual filings
- π§Ύ Compliance teams monitoring issuer disclosure activity
- π° Journalists watching event-driven 8-K filings
- π Investors and researchers building company filing datasets
- π§± B2B data teams enriching company profiles with SEC metadata
- π€ Automation teams triggering workflows when new filings appear
Why use this actor?
SEC EDGAR data is public, but raw filing feeds can be awkward to normalize. This actor gives you a consistent row-per-filing dataset that is ready to export or integrate.
Benefits:
- β Ticker and CIK input support
- β Form and date filters
- β Clean dataset fields
- β Direct SEC links
- β Low-cost HTTP-based runs
- β No login or account required for the source data
What data can you extract?
Each output row represents one company filing.
| Field | Description |
|---|---|
cik | SEC Central Index Key, zero-padded |
ticker | Stock ticker when known |
companyName | Company name from SEC data |
sic | SIC code when available |
sicDescription | SIC industry description |
form | SEC form type |
filingDate | Filing date |
reportDate | Report period date when present |
accessionNumber | SEC accession number |
primaryDocument | Primary filing document filename |
filingDetailUrl | SEC filing detail page URL |
documentUrl | Direct primary document URL |
fileNumber | SEC file number |
filmNumber | SEC film number |
acceptanceDateTime | SEC acceptance timestamp |
isXbrl | Whether SEC marks the filing as XBRL |
items | 8-K item list or related SEC item metadata |
How much does it cost to scrape SEC EDGAR company filings?
The actor uses pay-per-event pricing:
- Start event: $0.005 small one-time run fee
- Filing metadata rows: charged per saved filing row
Formula-derived pricing was below the platform minimum granularity, so the live tiered row prices are: FREE $0.0000575, BRONZE $0.00005, SILVER $0.000039, GOLD $0.00003, PLATINUM $0.00002, and DIAMOND $0.000014 per filing metadata row. The BRONZE tier is $0.05 per 1,000 rows.
How to scrape SEC filings
- Open the actor on Apify.
- Add one or more tickers or CIKs.
- Optionally add form filters such as
10-K,10-Q, and8-K. - Optionally set
dateFromanddateTo. - Choose the maximum filings per company.
- Run the actor.
- Export the dataset as JSON, CSV, Excel, XML, or HTML.
Input example
{"tickersOrCiks": ["AAPL", "MSFT"],"forms": ["10-K", "10-Q", "8-K"],"dateFrom": "2024-01-01","maxFilingsPerCompany": 25,"includeDocuments": true,"requestDelayMs": 120}
Input options
Tickers or CIKs
Use stock tickers such as AAPL or SEC CIKs such as 0000320193.
Form types
Leave the form list empty to include all recent form types. Add values such as:
10-K10-Q8-K4S-1DEF 14A
Date filters
Use YYYY-MM-DD dates. The actor filters on SEC filing date.
Maximum filings per company
Use a small number for testing and a larger number for production exports.
Include document URLs
When enabled, each row includes a direct URL to the primary filing document when SEC provides one.
Request delay
A polite delay helps keep requests moderate for large batches of companies.
Output example
{"cik": "0000320193","ticker": "AAPL","companyName": "Apple Inc.","sic": "3571","sicDescription": "Electronic Computers","form": "10-Q","filingDate": "2024-08-02","reportDate": "2024-06-29","accessionNumber": "0000320193-24-000081","primaryDocument": "aapl-20240629.htm","filingDetailUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019324000081/0000320193-24-000081-index.html","documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019324000081/aapl-20240629.htm","fileNumber": "001-36743","filmNumber": "241168450","acceptanceDateTime": "2024-08-01T18:03:34.000Z","isXbrl": true,"items": ""}
Tips for best results
- Start with one or two tickers while testing.
- Use CIKs when a company ticker has changed.
- Use date filters for recurring monitoring jobs.
- Leave forms empty when you need a complete recent filing feed.
- Use
maxFilingsPerCompanyto control dataset size.
Common use cases
- π Monitor new earnings filings
- π§Ύ Build compliance review queues
- π° Track material event 8-K disclosures
- π’ Enrich public-company databases
- π Trigger alerts for selected form types
- π Create historical filing metadata exports
Integrations
You can connect the dataset to many downstream tools:
- Google Sheets or Excel for analyst workflows
- BI tools for disclosure dashboards
- Databases and warehouses for company intelligence
- Slack or email alerts through Apify integrations
- Webhooks for event-driven filing monitoring
- LLM workflows that need filing links and metadata
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/sec-edgar-company-filings-scraper').call({tickersOrCiks: ['AAPL', 'MSFT'],forms: ['10-K', '10-Q'],maxFilingsPerCompany: 10});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/sec-edgar-company-filings-scraper').call(run_input={'tickersOrCiks': ['AAPL', 'MSFT'],'forms': ['10-K', '10-Q'],'maxFilingsPerCompany': 10,})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~sec-edgar-company-filings-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"tickersOrCiks":["AAPL"],"forms":["10-K"],"maxFilingsPerCompany":5}'
MCP integration
Use this actor from MCP-compatible tools through Apify MCP Server.
MCP URL:
https://mcp.apify.com/?tools=fetch_cat/sec-edgar-company-filings-scraper
Claude Code setup:
$claude mcp add apify-sec-edgar https://mcp.apify.com/?tools=fetch_cat/sec-edgar-company-filings-scraper
MCP JSON configuration:
{"mcpServers": {"apify-sec-edgar": {"url": "https://mcp.apify.com/?tools=fetch_cat/sec-edgar-company-filings-scraper"}}}
Example prompts:
- "Run SEC EDGAR Company Filings Scraper for AAPL and summarize the latest 10-Q filings."
- "Find recent 8-K filings for MSFT and return the filing URLs."
- "Export the latest annual filings for these public companies."
Scheduling and monitoring
Create a scheduled Apify task to run the actor daily or weekly. Combine date filters and form filters to monitor the filings that matter to your team.
For example:
- Daily 8-K monitor for a watchlist
- Weekly 10-Q and 10-K export
- Monthly company disclosure archive update
Legality and source policy
SEC EDGAR filing metadata is public information. You are responsible for using exported data lawfully and respecting applicable rules, terms, and regulations.
Use moderate request volumes and avoid abusive traffic patterns. The actor includes a configurable request delay for polite pacing.
Troubleshooting
Why did a ticker return no results?
The ticker may be invalid, recently changed, or not present in the SEC ticker mapping. Try the company's CIK instead.
Why are there fewer filings than I expected?
Check your form filters, date filters, and maxFilingsPerCompany. Leaving forms empty returns all recent form types.
Why is documentUrl empty?
Some filings may not have a primary document value, or includeDocuments may be disabled.
FAQ
Can I scrape full filing text?
This version focuses on filing metadata and filing URLs. Full document extraction may be added later with separate pricing because it costs more to process.
Can I use CIKs instead of tickers?
Yes. Use zero-padded or non-padded CIK values.
Does this require SEC login?
No. The actor uses public SEC filing metadata.
Can I export to CSV?
Yes. Apify datasets can be exported as CSV, JSON, Excel, XML, RSS, and HTML.
Related scrapers
Other actors by fetch_cat may help with company and business-data workflows:
- https://apify.com/fetch_cat/google-jobs-scraper
- https://apify.com/fetch_cat/github-repository-search-scraper
- https://apify.com/fetch_cat/ashby-jobs-scraper
Changelog
0.1
Initial version with ticker/CIK input, form/date filters, and filing metadata output.
Support
If a run does not produce the filings you expect, open an issue from the Apify run page and include your input and expected company/form/date range.