SEC EDGAR Scraper | US Public Company Filings & Profiles
Pricing
from $1.20 / 1,000 results
SEC EDGAR Scraper | US Public Company Filings & Profiles
SEC EDGAR scraper & API: export US public-company filings, profiles and XBRL fundamentals (revenue, net income, assets, EPS) by ticker, CIK or name. Equity research, financial statement data and compliance — official data.sec.gov, fast, no login.
Pricing
from $1.20 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
18 hours ago
Last modified
Categories
Features
Share
SEC EDGAR Scraper 🏛️ — US Public Company Filings, Profiles & Financials
Extract official US public company profiles, recent regulatory filings (10-K, 10-Q, 8-K, Form 4, S-1), direct document download links, and as-reported XBRL fundamentals (Revenue, Net Income, Total Assets, Total Equity) directly from the Securities and Exchange Commission (SEC EDGAR). Look up companies by ticker symbols, 10-digit CIK numbers, or fuzzy legal names with zero authentication hurdles.
⚡ At a Glance
| Feature | Details |
|---|---|
| Coverage Universe | 10,000+ active US public companies listed across NYSE, Nasdaq, Cboe, and OTC markets |
| Corporate Identity & KYC | Official CIK (10-digit zero-padded), legal entity name, primary ticker, trading exchange, IRS Employer ID (EIN), LEI, SIC industry code, corporate headquarters phone, mailing & business street addresses |
| Regulatory Filings Feed | Form 10-K (Annual), 10-Q (Quarterly), 8-K (Current events), Form 4 (Insider transactions), S-1 (IPO), DEF 14A (Proxy), 13F-HR (Institutional holdings), S-4 (M&A) |
| Direct Document Links | Every filing record includes direct HTTPS URLs for the primary document (documentUrl) and official filing index page (indexUrl) |
| XBRL Financial Fundamentals | Multi-concept GAAP retrieval for latest reported Revenue, Net Income, Total Assets, and Total Stockholders' Equity with freshest-period selection |
| Search Modes | Input stock tickers (e.g. AAPL, MSFT, BRK.B), 10-digit CIK numbers, or fuzzy company names (e.g. Apple, Alphabet) |
| High-Volume Execution | Unlocked bulk ingestion — extract hundreds to thousands of companies in a single run with automatic rate limit handling |
| Export Formats | JSON, CSV, Microsoft Excel (XLSX), XML, HTML, or programmatic Apify REST API |
🎯 Why Scrape SEC EDGAR via Apify?
The US Securities and Exchange Commission (SEC) EDGAR system is the ultimate regulatory source of truth for public company disclosures in the United States. While commercial financial data terminals charge four figures per seat each month for company disclosures, EDGAR data is legally required to be public.
However, extracting data from SEC EDGAR at scale presents steep engineering hurdles:
- Complex CIK Mapping — SEC endpoints require zero-padded 10-digit Central Index Keys (
CIK), requiring continuous mapping between stock symbols, class-share tickers (BRK.BvsBRK-B), and registered legal names. - Strict User-Agent Compliance — SEC servers immediately reject requests with HTTP 403 unless a strictly formatted User-Agent header is declared.
- Bursty Rate Limits (10 req/sec) — SEC throttles aggressive crawlers with HTTP 429 errors, causing generic scrapers to drop filers or fail mid-run.
- GAAP Accounting Tag Evolution — As companies adopt new accounting standards (such as ASC 606 revenue recognition), simple XBRL scrapers return stale historical data or
nullvalues.
SEC EDGAR Scraper completely solves these challenges: it maps tickers to CIKs automatically, manages rate-limited retries with intelligent backoff, handles XBRL GAAP tag fallbacks with freshest-period resolution, and outputs clean, standardized rows.
🚀 High-Value Use Cases
| Industry / Role | Primary Application |
|---|---|
| Equity & Credit Analysts | Monitor quarterly earnings filings (10-Q), annual disclosures (10-K), and material event alerts (8-K) across custom coverage universes. |
| M&A & Corporate Development | Track S-1 registration statements and S-4 merger prospectuses to detect deal flow and public listing pipelines. |
| B2B Sales & Enterprise ABM | Enrich account-based marketing lists with registered executive phone numbers, headquarters addresses, and accelerated filer status. |
| Legal & Compliance Teams | Verify corporate identity, previous legal names (formerNames), state of incorporation, and Section 16 insider transactions (Form 4). |
| Financial AI & LLM Engineering | Stream clean, direct documentUrl links into document ingestion engines and RAG pipelines for SEC filing summarization. |
| Quantitative Research Desks | Ingest point-in-time financial statements and historical XBRL fundamentals to ground fundamental equity factor models. |
📊 Extracted Data Fields & Coverage
🏢 Corporate Profile & Identity Attributes
| Field | Type | Description | Coverage |
|---|---|---|---|
cik | String | Official 10-digit zero-padded SEC Central Index Key | 🟢 High (100%) |
name | String | Legal registered corporate entity name | 🟢 High (100%) |
primaryTicker | String | Primary public trading ticker symbol | 🟢 High (98%) |
tickers | Array | All active and secondary ticker symbols | 🟢 High (98%) |
primaryExchange | String | Primary listing stock exchange (e.g. Nasdaq, NYSE) | 🟢 High (98%) |
exchanges | Array | All stock exchanges where company securities trade | 🟢 High (98%) |
sic | String | Standard Industrial Classification 4-digit numeric code | 🟢 High (98%) |
sicDescription | String | Plain-text industry sector description | 🟢 High (98%) |
ein | String | US Federal Employer Identification Number | 🟢 High (98%) |
category | String | SEC filer classification (e.g. "Large accelerated filer") | 🟢 High (98%) |
fiscalYearEnd | String | Fiscal year end date in MMDD format (e.g. "1231" for Dec 31) | 🟢 High (98%) |
stateOfIncorporation | String | Two-letter US state or country of legal incorporation | 🟢 High (98%) |
entityType | String | Filer entity type (e.g. "operating", "investment") | 🟢 High (98%) |
phone | String | Official corporate executive office telephone number | 🟢 High (95%) |
formerNames | Array | Historical registered corporate legal names | 🟡 Conditional |
mailingStreet | String | Corporate mailing street address | 🟢 High (98%) |
mailingCity | String | Corporate mailing city | 🟢 High (98%) |
mailingState | String | Corporate mailing state / province | 🟢 High (98%) |
mailingZip | String | Corporate mailing postal code | 🟢 High (98%) |
businessStreet | String | Physical executive headquarters street address | 🟢 High (98%) |
businessCity | String | Physical executive headquarters city | 🟢 High (98%) |
businessState | String | Physical executive headquarters state | 🟢 High (98%) |
businessZip | String | Physical executive headquarters postal code | 🟢 High (98%) |
📑 Regulatory Filings Feed (recentFilings[])
| Field | Type | Description | Coverage |
|---|---|---|---|
form | String | Regulatory form identifier (10-K, 10-Q, 8-K, 4, S-1) | 🟢 High (100%) |
filingDate | String | Date SEC accepted the regulatory submission (YYYY-MM-DD) | 🟢 High (100%) |
reportDate | String | Balance sheet or event reporting date | 🟢 High (95%) |
accessionNumber | String | Unique SEC accession number (e.g. 0000320193-26-000106) | 🟢 High (100%) |
primaryDocument | String | File name of the primary filing document (HTML or XML) | 🟢 High (100%) |
documentUrl | String | Direct HTTPS URL to download or read the primary document | 🟢 High (100%) |
indexUrl | String | Direct HTTPS URL to view the complete filing folder on EDGAR | 🟢 High (100%) |
sizeBytes | Number | Size of the primary disclosure document in bytes | 🟢 High (100%) |
isXBRL | Boolean | true if structured XBRL financial statements are attached | 🟢 High (100%) |
isInlineXBRL | Boolean | true if modern Inline XBRL (iXBRL) format is used | 🟢 High (100%) |
📈 XBRL Financial Fundamentals (when includeFundamentals: true)
| Field | Type | Description | Coverage |
|---|---|---|---|
revenueLatest | Number | Most recent fiscal year/quarter total revenue in USD | 🟢 High (95%) |
revenueLatestPeriod | String | Period end date for the latest reported revenue figure | 🟢 High (95%) |
netIncomeLatest | Number | Most recent reported net income (loss) in USD | 🟢 High (95%) |
totalAssetsLatest | Number | Total corporate assets reported on balance sheet | 🟢 High (95%) |
totalEquityLatest | Number | Total stockholders' equity reported on balance sheet | 🟢 High (95%) |
📥 Input Parameters
Every parameter is optional. Running with {} extracts a default sample of 100 US public companies in seconds.
| Parameter | Type | Default | Description |
|---|---|---|---|
tickers | Array | ["AAPL", "MSFT", "NVDA"] | List of US stock tickers to query (case-insensitive). |
companyNames | Array | [] | Company names to search and resolve against official filer directory. |
ciks | Array | [] | Explicit 10-digit SEC Central Index Key numbers. |
maxCompanies | Integer | 0 | Maximum companies to return (0 = default sample of 100; set 1,000+ for large runs). |
includeRecentFilings | Boolean | true | Extract recent filings list with direct download links. |
filingFormTypes | Array | [] | Filter filings by form type (e.g. ["10-K", "10-Q", "8-K"]). Empty = keep all. |
maxFilingsPerCompany | Integer | 50 | Maximum recent filings per company (up to 1,000). |
includeFundamentals | Boolean | false | Fetch official XBRL financial statement fundamentals. |
userAgentEmail | String | "apify-edgar-scraper@example.com" | Contact email included in SEC-mandated User-Agent header. |
proxyConfiguration | Object | { "useApifyProxy": false } | Optional proxy settings. Defaults to direct HTTP with automatic fallback. |
Example Input: Earnings Season 10-K & 10-Q Tracker with Fundamentals
{"tickers": ["AAPL", "MSFT", "NVDA", "AMZN", "GOOGL", "META", "TSLA"],"includeRecentFilings": true,"filingFormTypes": ["10-K", "10-Q", "8-K"],"maxFilingsPerCompany": 25,"includeFundamentals": true,"maxCompanies": 0}
Example Input: S-1 IPO and Deal Registration Screening
{"tickers": [],"companyNames": [],"filingFormTypes": ["S-1", "S-4", "424B4"],"maxFilingsPerCompany": 10,"maxCompanies": 200}
📤 Sample Output Record
{"cik": "0000320193","name": "Apple Inc.","tickers": ["AAPL"],"primaryTicker": "AAPL","exchanges": ["Nasdaq"],"primaryExchange": "Nasdaq","sic": "3571","sicDescription": "Electronic Computers","ein": "942404110","category": "Large accelerated filer","fiscalYearEnd": "0930","stateOfIncorporation": "CA","entityType": "operating","phone": "(408) 996-1010","mailingStreet": "ONE APPLE PARK WAY","mailingCity": "CUPERTINO","mailingState": "CA","mailingZip": "95014","businessStreet": "ONE APPLE PARK WAY","businessCity": "CUPERTINO","businessState": "CA","businessZip": "95014","insiderTransactionForOwnerExists": true,"insiderTransactionForIssuerExists": true,"recentFilings": [{"form": "10-K","filingDate": "2026-10-31","reportDate": "2026-09-28","accessionNumber": "0000320193-26-000106","primaryDocument": "aapl-20260928.htm","primaryDocDescription": "10-K","sizeBytes": 11492084,"isXBRL": true,"isInlineXBRL": true,"documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000106/aapl-20260928.htm","indexUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019326000106/0000320193-26-000106-index.htm"}],"recentFilingsCount": 25,"lastFilingDate": "2026-10-31","lastFilingForm": "10-K","revenueLatest": 391035000000,"revenueLatestPeriod": "2026-09-28","netIncomeLatest": 93736000000,"totalAssetsLatest": 364980000000,"totalEquityLatest": 66804000000,"edgarUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000320193&type=&dateb=&owner=include&count=40","submissionsUrl": "https://data.sec.gov/submissions/CIK0000320193.json","searchInput": "ticker:AAPL","scrapedAt": "2026-11-10T14:30:00.000Z"}
💻 Python & Node.js Developer Integration
Stream regulatory filings and corporate fundamentals directly into quantitative research pipelines.
Python Integration with Pandas
from apify_client import ApifyClientimport pandas as pdclient = ApifyClient("YOUR_APIFY_API_TOKEN")run_input = {"tickers": ["NVDA", "AMD", "INTC", "TSM", "QCOM"],"includeRecentFilings": True,"filingFormTypes": ["10-K", "10-Q"],"includeFundamentals": True,"maxCompanies": 0,}run = client.actor("haketa/sec-edgar-scraper").call(run_input=run_input)items = client.dataset(run["defaultDatasetId"]).list_items().itemsdf = pd.DataFrame(items)# Display semiconductor revenue and profit comparisonsprint(df[["primaryTicker", "name", "revenueLatest", "netIncomeLatest", "lastFilingDate"]])
Node.js Integration
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_API_TOKEN' });const run = await client.actor('haketa/sec-edgar-scraper').call({tickers: ['AAPL', 'MSFT', 'GOOGL'],includeRecentFilings: true,maxFilingsPerCompany: 10,includeFundamentals: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Retrieved ${items.length} US public company filings.`);
❓ Frequently Asked Questions (FAQ)
Do I need a SEC EDGAR account or API token?
No. The scraper accesses official SEC EDGAR public endpoints directly. No accounts, API subscriptions, or authentication credentials are required.
How does the scraper prevent HTTP 429 rate limit blocks?
The scraper enforces request delays compliant with SEC guidelines and dynamically activates intelligent backoff with IP rotation if rate limiting is detected during large batch runs.
How are class-share tickers like Berkshire Hathaway resolved?
SEC identifies class shares with hyphens (e.g. BRK-B, BF-B), while financial markets frequently use dots (BRK.B, BF.B). The scraper normalizes all common symbol permutations automatically.
Can I scrape financial data for 1,000+ companies in a single run?
Yes. Setting maxCompanies: 1000 (or leaving tickers blank to stream across all active filers) will automatically page through the entire official US public company registry.
Are foreign private issuers listed in the US supported?
Yes. Foreign issuers listing American Depositary Receipts (ADRs) or direct listings file Form 20-F and Form 6-K, which are fully extracted by the scraper.
How fresh is the data returned?
Real-time. The scraper communicates directly with live SEC EDGAR endpoints. When a company submits a filing and the SEC acceptance timestamp is issued, it becomes immediately accessible.
What is the difference between documentUrl and indexUrl?
The documentUrl links directly to the raw filing content (e.g., the primary 10-K HTML statement), making it perfect for automated document scrapers and NLP parsing. The indexUrl opens the filing folder overview page containing all supplementary exhibits.
Can I run this scraper on an automated daily schedule?
Yes. You can schedule the actor via Apify Console or API to run on any cron schedule (e.g. daily at market close), appending newly filed regulatory reports to your target dataset or triggering downstream webhooks.
How does the scraper handle non-standard accounting periods?
For companies with fiscal years ending on non-calendar dates (such as Apple's September fiscal year end or Nvidia's January fiscal year end), the XBRL fundamentals parser extracts the exact balance sheet date into revenueLatestPeriod so financial analysts can perform apples-to-apples comparisons.
Can I export the data directly into Microsoft Excel or Google Sheets?
Yes. Apify Console provides 1-click export to CSV, XLSX, and JSON. Additionally, you can connect the dataset directly to Google Sheets using the Apify Google Sheets integration.
⚖️ Architectural Advantages & Comparison
Why investment banks, quants, and enterprise data teams use this dedicated SEC EDGAR pipeline over legacy financial terminals:
| Capability | Dedicated SEC EDGAR Scraper | Commercial Financial APIs ($$$) | Manual EDGAR Web Search |
|---|---|---|---|
| Cost Model | Pay-per-result / Ultra-low | $1,500–$2,500 / seat / month | Free but high labor cost |
| Direct Document Links | Yes (documentUrl on every filing) | Often locked or gated | Manual browsing required |
| XBRL Multi-Tag GAAP Fallback | Automatic freshest-period winner | Proprietary adjusted figures | None |
| Class-Share Ticker Mapping | Automatic (BRK.B → BRK-B) | Usually supported | Frustrating syntax errors |
| Throughput & Concurrency | Configurable concurrent batches | Strict rate limits per key | Single tab at a time |
| API & Webhook Delivery | Immediate JSON / CSV / API | Proprietary client SDK | Manual file downloads |
| Zero Authentication Setup | Yes (No API keys or logins) | Heavy contract & key provisioning | Captchas and IP blocks |
📑 Comprehensive Guide to Supported SEC Forms
Filter by any combination of regulatory forms using the filingFormTypes array:
- Form 10-K: Annual comprehensive summary of financial performance, audited statements, and business risks.
- Form 10-Q: Quarterly unaudited financial statements and operational updates.
- Form 8-K: Current unscheduled material events (executive departures, earnings releases, acquisitions, bankruptcies).
- Form 4: Changes in beneficial ownership by corporate insiders, officers, and directors within two business days.
- Form 3: Initial statement of beneficial ownership for newly appointed executives or >10% holders.
- Form S-1: Initial registration statement required before a private company conducts an Initial Public Offering (IPO).
- Form S-4: Registration statement filed in connection with business combinations, mergers, and exchange offers.
- Form DEF 14A: Definitive proxy statement detailing executive compensation, board elections, and shareholder votes.
- Form 13F-HR: Quarterly holdings report by institutional investment managers with over $100M in qualifying assets.
- Form 20-F & 6-K: Annual and current reports filed by foreign private issuers listing on US exchanges.
🔗 Enterprise Integration & Automation
Connect SEC EDGAR disclosures with enterprise business intelligence and data warehousing stacks:
| Workflow | Integrated Stack | Business Value |
|---|---|---|
| Real-Time 8-K Event Alerts | SEC EDGAR + Webhooks + Slack | Receive instant alerts when coverage companies report material corporate events. |
| Fundamental Equity Screeners | SEC EDGAR + Snowflake / BigQuery | Build automated valuation models combining SEC XBRL balance sheets with market price feeds. |
| B2B Account Scoring | SEC EDGAR + Salesforce / HubSpot | Automatically tag target accounts with verified employee counts, revenues, and executive phone numbers. |
| RAG LLM Regulatory Chatbots | SEC EDGAR + LangChain / Pinecone | Ingest direct 10-K and 10-Q HTML documents into vector databases for automated financial question answering. |
📋 Changelog
v1.2 (November 2026)
- Deep Pagination & Scale: Unlocked 1,000+ company extractions across the entire SEC ticker registry without artificial limits.
- Fast Prefill Execution: Optimized company profile and filing lookups to complete default test runs in under 15 seconds.
- Field Normalization: Enhanced XBRL multi-tag revenue resolution with freshest-period selection and class-share ticker mapping.
v1.1 (November 2026)
- Added direct primary document URLs (
documentUrl) and filing index links (indexUrl). - Implemented multi-concept XBRL fallbacks across GAAP accounting standards.
v1.0 (November 2026)
- Initial release of SEC EDGAR Scraper (US Public Company Filings & Profiles).
- Full extraction of corporate identity, recent filings feed, address verification, and SIC industry mapping.