SEC Financial Statements XBRL Data Scraper
Pricing
from $3.00 / 1,000 results
SEC Financial Statements XBRL Data Scraper
Extract SEC XBRL financial statement data by concept (Revenues, Assets, Net Income) and fiscal year across all public companies. Filter by company, value range. No API key.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Compute Edge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract 10+ million financial data points from SEC XBRL filings. Scrape Revenues, Assets, Liabilities, Net Income, and any other US-GAAP concept reported by public companies across decades of historical data. Perfect for financial analysis, investment research, SEC compliance, and economic modeling.
What This Actor Does
This Actor provides direct access to the SEC's official XBRL "frames" API, which contains every financial metric reported by every US public company across multiple fiscal years.
Instead of manually downloading 10-K filings and parsing HTML, you get:
- Structured JSON output — All companies reporting a concept for a given year in one API response
- Zero setup required — No API keys, no login, no authentication
- Historical depth — Data from 2009 to 2025 for most concepts
- Instant results — Response times under 5 seconds
Key Features
- 800,000+ Financial Metrics (US-GAAP concepts) — Revenues, Assets, Liabilities, Operating Income, Stockholders' Equity, Cash Flow, and more
- Flexible filtering — Filter by company name, value range, and apply strict upper/lower bounds
- XBRL Taxonomy Support — Use any valid US-GAAP concept tag from the FASB taxonomy
- Balance Sheet & Income Statement Data — Support for both instant (Q4I suffix for balance sheet) and duration (annual/quarterly) concepts
- 10-digit CIK codes — Every company includes a link to their SEC EDGAR filings
- Zero API authentication — Free public API with no quotas
- Sorted by Value — Results ranked largest-to-smallest for quick top-company insights
Most-Requested Concepts
| Concept | US-GAAP Tag | Type | Units | Use Case |
|---|---|---|---|---|
| Revenues | Revenues | Duration | USD | Total annual sales; trending by company |
| Net Income | NetIncomeLoss | Duration | USD | Profitability; earnings rankings |
| Total Assets | Assets | Instant (Q4I) | USD | Company size; balance sheet snapshot |
| Total Liabilities | Liabilities | Instant (Q4I) | USD | Leverage analysis |
| Operating Income | OperatingIncomeLoss | Duration | USD | Core business profitability |
| Stockholders' Equity | StockholdersEquity | Instant (Q4I) | USD | Book value; valuation baseline |
| Cash & Equivalents | CashAndCashEquivalentsAtCarryingValue | Instant (Q4I) | USD | Liquidity; short-term solvency |
| Accounts Receivable | AccountsReceivable | Instant (Q4I) | USD | Credit quality; collection analysis |
Getting Started — 3 Steps
Step 1: Choose a Concept
Visit https://xbrl.fasb.org/us-gaap/ to explore the full US-GAAP taxonomy. Popular starting points:
- Income Statement (duration):
Revenues,NetIncomeLoss,OperatingIncomeLoss,CostOfRevenue - Balance Sheet (instant):
Assets,Liabilities,StockholdersEquity,CommonStockSharesIssued,Cash... - Cash Flow (duration):
NetCashProvidedByOperatingActivities,CapitalExpenditures
Step 2: Decide: Duration or Instant?
Duration concepts (Income Statement, Cash Flow) use annual/quarterly data:
- For annual 2023 data: Leave
frameSuffixempty (default) - API URL:
https://data.sec.gov/api/xbrl/frames/us-gaap/Revenues/USD/CY2023.json
Instant concepts (Balance Sheet) require a suffix for the specific date:
- For Q4 (December 31, 2023): Set
frameSuffixto "Q4I" - API URL:
https://data.sec.gov/api/xbrl/frames/us-gaap/Assets/USD/CY2023Q4I.json
If you choose a balance-sheet concept without the suffix, the Actor will gracefully return no data with a clear warning.
Step 3: Run the Actor
- Paste your desired concept (e.g.,
Revenues) - Optionally filter by company name (e.g., "Apple" for Apple Inc.)
- Set value filters (e.g., "Show only companies with >$1B revenue")
- Click Start
How to scrape SEC financial statement data
Tutorial 1: Top 100 Revenue-Generating Companies in 2023
Goal: Find the 100 largest US public companies by annual revenue in fiscal year 2023.
Input configuration:
- Concept:
Revenues - Unit:
USD - Year:
2023 - Frame Suffix: `` (empty, for annual data)
- Entity Name Filter: `` (empty, include all)
- Min Value:
0 - Max Value:
0(no cap) - Max Results:
100
Expected output:
[{"cik": "0000320193","entityName": "Apple Inc.","concept": "Revenues","label": "Revenues","unit": "USD","fiscalYear": "2023","value": 383285000000,"periodStart": "2022-09-25","periodEnd": "2023-09-30","accession": "0000320193-23-000106","secFilingsUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000320193&type=10-K"},{"cik": "0001018724","entityName": "Amazon.com Inc.","concept": "Revenues","label": "Revenues","unit": "USD","fiscalYear": "2023","value": 574785000000,"periodStart": "2023-01-01","periodEnd": "2023-12-31","accession": "0001018724-24-000004","secFilingsUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001018724&type=10-K"},...]
Use case: Build a market-cap proxy by summing revenues per company. Identify industry leaders. Track market shifts year-over-year.
Tutorial 2: Find Profitable Companies (Positive Net Income) in a Specific Year
Goal: Extract all US public companies with positive net income in 2023 to screen for profitable businesses.
Input configuration:
- Concept:
NetIncomeLoss - Unit:
USD - Year:
2023 - Frame Suffix: `` (empty)
- Entity Name Filter: `` (empty)
- Min Value:
1(only positive income) - Max Value:
0(no cap) - Max Results:
5000(expect ~3000-4000 profitable companies)
Expected output:
[{"cik": "0000320193","entityName": "Apple Inc.","concept": "NetIncomeLoss","label": "Net Income (Loss)","unit": "USD","fiscalYear": "2023","value": 96995000000,"periodStart": "2022-09-25","periodEnd": "2023-09-30","accession": "0000320193-23-000106","secFilingsUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000320193&type=10-K"},...]
Use case: Screen for profitable companies. Calculate profit margin (NetIncome / Revenues). Identify undervalued profitable businesses.
Tutorial 3: Compare Balance Sheet Assets Across Years (Instant Concept)
Goal: Extract total assets for a specific company (e.g., Microsoft) for Q4 2022 and Q4 2023 to analyze growth.
Input configuration:
- Concept:
Assets - Unit:
USD - Year:
2023 - Frame Suffix:
Q4I(Q4 instant for balance sheet) - Entity Name Filter:
Microsoft(case-insensitive partial match) - Min Value:
0 - Max Value:
0 - Max Results:
10
Expected output:
[{"cik": "0000789019","entityName": "MICROSOFT CORPORATION","concept": "Assets","label": "Assets","unit": "USD","fiscalYear": "2023","value": 411975000000,"periodStart": "","periodEnd": "2023-06-30","accession": "0000789019-23-000067","secFilingsUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000789019&type=10-K"}]
Note: For instant concepts, periodStart is empty ("") and periodEnd is the snapshot date (e.g., Q4 fiscal year-end).
Use case: Track asset growth. Compare balance sheet snapshots quarter-over-quarter or year-over-year. Analyze business expansion.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| concept | string | Revenues | US-GAAP concept name (e.g., "Assets", "NetIncomeLoss"). Visit https://xbrl.fasb.org/us-gaap/ |
| unit | string | USD | Reporting unit. Most concepts use "USD". Some use "shares", "percent", etc. |
| year | integer | 2023 | Fiscal year (2009-2025) |
| frameSuffix | string | `` (empty) | For instant (balance sheet) concepts, append the suffix. Examples: "Q4I" (Dec 31), "Q1I", "Q2I", "Q3I" |
| entityNameFilter | string | `` (empty) | Filter by company name (case-insensitive partial match). Example: "apple" matches "Apple Inc." |
| minValue | number | 0 | Exclude records with values below this threshold |
| maxValue | number | 0 | Exclude records with values above this threshold. 0 = no upper limit |
| maxResults | integer | 1000 | Maximum records to return (1-50,000) |
Output Fields
Every record includes:
| Field | Type | Description |
|---|---|---|
| cik | string | Central Index Key (10-digit, zero-padded). Unique SEC identifier for the company. |
| entityName | string | Official company name as reported to the SEC. |
| concept | string | The US-GAAP concept tag you requested (e.g., "Revenues"). |
| label | string | Human-readable label from the FASB taxonomy (e.g., "Revenues" → "Revenues") |
| unit | string | Reporting unit (usually "USD"). |
| fiscalYear | string | The fiscal year (e.g., "2023"). |
| value | number | The reported financial value (e.g., 383,285,000,000 for Apple's 2023 revenue in USD). |
| periodStart | string | ISO date when the fiscal period begins (empty for instant concepts). |
| periodEnd | string | ISO date when the fiscal period ends. |
| accession | string | SEC accession number for the filing containing this data. |
| secFilingsUrl | string | Direct link to browse that company's SEC EDGAR filings. |
Output Examples
Example 1: Duration Concept (Revenues)
{"cik": "0000320193","entityName": "Apple Inc.","concept": "Revenues","label": "Revenues","unit": "USD","fiscalYear": "2023","value": 383285000000,"periodStart": "2022-09-25","periodEnd": "2023-09-30","accession": "0000320193-23-000106","secFilingsUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000320193&type=10-K"}
Example 2: Instant Concept (Assets)
{"cik": "0000789019","entityName": "MICROSOFT CORPORATION","concept": "Assets","label": "Assets","unit": "USD","fiscalYear": "2023","value": 411975000000,"periodStart": "","periodEnd": "2023-06-30","accession": "0000789019-23-000067","secFilingsUrl": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000789019&type=10-K"}
Advanced: Understanding XBRL Concepts
Duration vs. Instant Concepts
Duration concepts measure activity over a period (e.g., "How much did you earn this year?"):
- Examples: Revenues, Net Income, Operating Cash Flow
- Frame format:
CY{year}(e.g.,CY2023) - Leave
frameSuffixempty
Instant concepts measure a snapshot at a point in time (e.g., "What did you own on Dec 31?"):
- Examples: Assets, Liabilities, Cash, Inventory
- Frame format:
CY{year}{Quarter}I(e.g.,CY2023Q4I) - Set
frameSuffixto the quarter suffix (Q1I,Q2I,Q3I,Q4I)
How to Find a Concept
- Visit https://xbrl.fasb.org/us-gaap/
- Search for the metric you want (e.g., "cash flow")
- Copy the concept name (e.g.,
NetCashProvidedByOperatingActivities) - Paste into the Actor's Concept field
Common Concept Groups
Income Statement (Duration)
RevenuesCostOfRevenueGrossProfitOperatingExpensesOperatingIncomeLossInterestExpenseIncomeTaxExpenseNetIncomeLoss
Balance Sheet (Instant — use "Q4I" suffix)
AssetsCurrentAssetsLiabilitiesCurrentLiabilitiesStockholdersEquityCashAndCashEquivalentsAtCarryingValueAccountsReceivableInventory
Cash Flow (Duration)
NetCashProvidedByOperatingActivitiesNetCashUsedInInvestingActivitiesNetCashUsedInFinancingActivitiesCapitalExpenditures
Pricing
This Actor uses the free SEC XBRL API (no usage limits, no API key required). You pay only for Apify compute time.
- Compute cost: ~$0.0001-0.001 per run (typically <5 second latency)
- Typical batch: 100-10,000 records per run = $0.01-0.10
- Bulk runs: 1000+ records = $0.10-0.50 per run
The SEC API itself is completely free and public domain.
Troubleshooting
"Frame not found" Error (404)
This means the requested concept/year combination doesn't exist in that frame format.
Solutions:
- Check if it's an instant concept — Try adding a
frameSuffixlike "Q4I". Example: Assets requires "Q4I" for balance sheet data. - Verify the concept name — Visit https://xbrl.fasb.org/us-gaap/ to confirm the exact spelling.
- Check the year range — The SEC XBRL API covers 2009-2025. Some older concepts may not have data for all years.
"No records found" for a Concept
The concept exists but returned zero data points.
Possible causes:
- The concept is very specialized (e.g., a small subset of companies report it)
- The entity name filter is too restrictive
- The value filters eliminated all results
Solution: Run with no filters to see the full dataset, then narrow down.
Empty periodStart for Duration Concepts
For balance-sheet-only concepts (instant concepts), periodStart will be empty (""). This is normal.
FAQ
Q: Do I need an API key? A: No. The SEC XBRL API is completely free and public. Zero authentication required.
Q: Can I download all 800,000 concepts? A: Yes, but one at a time. Each run fetches one concept for one year. To fetch multiple concepts, run the Actor multiple times with different inputs.
Q: How often is the SEC XBRL data updated? A: The SEC publishes XBRL data quarterly as companies file 10-Q and 10-K reports. Most recent data is current to the previous quarter.
Q: What's the difference between CIK and accession number? A: CIK is the company's unique 10-digit SEC identifier (e.g., 0000320193 for Apple). Accession is the unique identifier for a specific filing (e.g., 0000320193-23-000106 for Apple's 2023 10-K).
Q: Can I export the data to Excel? A: Yes. After the run completes, click the Dataset tab → Export → Choose CSV or JSON.
Q: How do I find the right frameSuffix for my concept?
A: If you get a "404 not found" error, try appending "Q4I" (for Q4 balance sheet data). If that fails, the concept may only report as a duration concept (no suffix needed). See the "Understanding XBRL Concepts" section above.
Related Actors
Scraping more financial data? Check out these complementary tools:
- FRED Economic Data Scraper — Extract macroeconomic time series (GDP, unemployment, inflation)
- SEC EDGAR Filings Scraper — Download full 10-K/10-Q text documents
- Stock Market Data Scraper — Real-time and historical price data
- Company Financial Ratios Calculator — Build custom financial metrics from SEC data
Legal & Compliance
Important Disclaimer:
This Actor fetches data from the SEC's public XBRL API. The data is:
- Public domain — Published by the SEC under a Creative Commons license
- Accurate as filed — We report exactly what companies filed; data quality depends on filer accuracy
- Not investment advice — Do not use this data alone for investment decisions
Terms of Use:
- Respect the SEC's API rate limits (typically very generous for bulk downloads)
- Include attribution if republishing data
- See https://www.sec.gov/cgi-bin/viewer for SEC's data terms
Support:
- Verify your concept exists at https://xbrl.fasb.org/us-gaap/
- Test the SEC API directly:
curl "https://data.sec.gov/api/xbrl/frames/us-gaap/{concept}/USD/CY2023.json" - Check SEC documentation: https://www.sec.gov/cgi-bin/viewer
Built with ❤️ for investors, researchers, and financial analysts.