SEC EDGAR Scraper
Pricing
Pay per event
SEC EDGAR Scraper
Search SEC EDGAR for company filings. Find 10-K annual reports, 10-Q quarterly reports, 8-K current reports, and more. Get filing dates, company details, and document links.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Share
Search SEC EDGAR for company filings. Find annual reports (10-K), quarterly reports (10-Q), current reports (8-K), proxy statements, insider trading forms, and more.
What does SEC EDGAR Scraper do?
SEC EDGAR Scraper searches the SEC's EDGAR full-text search system for corporate filings. Enter a company name or keyword, optionally filter by form type and date range, and get structured metadata for each filing including company name, CIK number, filing date, period of report, accession number, and direct links to filing documents.
Results are deduplicated by filing — you get one entry per filing rather than per document.
Why use SEC EDGAR Scraper?
- Official SEC data — direct access to the world's largest corporate filings database
- All form types — 10-K, 10-Q, 8-K, S-1, DEF 14A, Form 4, 13F-HR, SC 13D, 20-F
- Date filtering — narrow results to specific time periods
- Company details — CIK numbers, SIC codes, state of incorporation, business location
- Direct links — filing index pages and document URLs for every result
- Free and reliable — SEC's public API, no authentication needed
Use cases
- Financial research — find annual and quarterly reports for any public company
- Compliance monitoring — track new filings for specific companies or industries
- Investment analysis — analyze 10-K and 10-Q filings for financial data
- Insider trading — monitor Form 4 filings for insider buying and selling
- Due diligence — check corporate filings before business decisions
- Academic research — collect filing metadata for financial studies
How to scrape SEC EDGAR filings
- Go to the SEC EDGAR Scraper on Apify Store.
- Enter a company name or keyword in Search query.
- Optionally filter by Form type and Date range.
- Click Start and wait for the run to finish.
- Download your data in JSON, CSV, or Excel format.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | string | Yes | — | Company name or keyword (e.g., "Tesla", "Apple") |
formType | string | No | all | Filing type filter (10-K, 10-Q, 8-K, S-1, etc.) |
startDate | string | No | — | Filter from date (YYYY-MM-DD) |
endDate | string | No | — | Filter until date (YYYY-MM-DD) |
maxResults | integer | No | 25 | Maximum filings to extract (1–100) |
Example input
{"searchQuery": "Tesla","formType": "10-K","startDate": "2023-01-01","endDate": "2025-12-31","maxResults": 25}
Output example
Each filing returns structured metadata:
{"companyName": "Tesla, Inc. (TSLA) (CIK 0001318605)","cik": "0001318605","formType": "10-K","filingDate": "2025-01-30","periodOfReport": "2024-12-31","accessionNumber": "0001628280-25-003063","fileDescription": "10-K","stateOfIncorporation": "DE","businessLocation": "Palo Alto, CA","sicCode": "3711","filingUrl": "https://www.sec.gov/Archives/edgar/data/0001318605/...","documentsUrl": "https://www.sec.gov/cgi-bin/browse-edgar?...","searchQuery": "Tesla","scrapedAt": "2026-03-03T05:55:00.000Z"}
Output fields
| Field | Type | Description |
|---|---|---|
companyName | string | Company name with ticker and CIK |
cik | string | Central Index Key (SEC identifier) |
formType | string | Filing form type (10-K, 10-Q, 8-K, etc.) |
filingDate | string | Date the filing was submitted |
periodOfReport | string | Financial period covered |
accessionNumber | string | Unique filing identifier |
fileDescription | string | Filing description |
stateOfIncorporation | string | State where company is incorporated |
businessLocation | string | Company business address |
sicCode | string | Standard Industrial Classification code |
filingUrl | string | Direct link to filing index page |
documentsUrl | string | Link to browse company filings |
searchQuery | string | The search query used |
scrapedAt | string | ISO 8601 timestamp of extraction |
How much does it cost to scrape SEC EDGAR filings?
SEC EDGAR Scraper uses pay-per-event pricing:
| Event | Price |
|---|---|
| Run started | $0.001 |
| Filing extracted | $0.001 per filing |
Cost examples
| Filings | Cost |
|---|---|
| 10 filings | $0.011 |
| 25 filings | $0.026 |
| 100 filings | $0.101 |
Use with AI agents via MCP
SEC EDGAR Scraper is available as a tool for AI assistants via the Model Context Protocol (MCP).
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Example prompts
- "Get SEC filings for Apple Inc"
- "Search EDGAR for 10-K annual reports from Tesla"
Learn more in the Apify MCP documentation.
API usage
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("automation-lab/sec-edgar-scraper").call(run_input={"searchQuery": "Tesla","formType": "10-K","maxResults": 10})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['filingDate']} — {item['formType']} — {item['companyName']}")
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/sec-edgar-scraper').call({searchQuery: 'Tesla',formType: '10-K',maxResults: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {console.log(`${item.filingDate} — ${item.formType} — ${item.companyName}`);});
cURL
curl "https://api.apify.com/v2/acts/automation-lab~sec-edgar-scraper/runs" \-X POST \-H "Authorization: Bearer YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQuery": "Tesla", "formType": "10-K", "maxResults": 10}'
Integrations
Connect SEC EDGAR Scraper to your workflow with Apify integrations:
- Webhooks — trigger actions when new filings are found
- Google Sheets — export filing data to spreadsheets
- Slack — get notified about new company filings
- Zapier / Make — connect to 5,000+ apps and services
- Scheduled runs — monitor filings daily or weekly
Tips and best practices
- Use exact company names for focused results (e.g., "Tesla Inc" rather than just "Tesla")
- The 10-K form type also returns 10-K/A (amended annual reports)
- Use date filters to narrow results to specific reporting periods
- The
filingUrllinks directly to the filing index page with all associated documents - CIK numbers can be used for precise company lookups in other SEC APIs
- SIC codes indicate the company's industry classification
Legality
Scraping publicly available data is generally legal according to the US Court of Appeals ruling (HiQ Labs v. LinkedIn). This actor only accesses publicly available information and does not require authentication. Always review and comply with the target website's Terms of Service before scraping. For personal data, ensure compliance with GDPR, CCPA, and other applicable privacy regulations.
FAQ
My search returns too many unrelated results — how do I narrow it down? Use the exact company name (e.g., "Tesla Inc" instead of "Tesla") and add a form type filter. Date range filtering also helps reduce noise significantly.
Why are some filings missing the periodOfReport field?
Not all SEC filing types have a period of report. Form 4 (insider trading) and some 8-K filings may not include this field. It is most consistently available on 10-K and 10-Q filings.
Changelog
- v0.1 — Initial release with full-text search, form type filtering, and date ranges
Other financial data tools
- Company Funding Tracker — Track startup funding rounds and investments
- Financial Statements Scraper — Extract financial statements from public companies
- USAspending Scraper — Scrape government contract and spending data
- Regulations.gov Scraper — Extract federal regulatory documents and comments