Financial Statements Scraper
Pricing
Pay per event
Financial Statements Scraper
Extract clean financial data from SEC EDGAR XBRL API. Enter stock tickers, get structured income statements, balance sheets, and cash flow data. Supports annual and quarterly periods with automatic concept fallback resolution.
Pricing
Pay per event
Rating
0.0
(0)
Developer

Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract structured financial statements from SEC EDGAR XBRL data for any U.S. public company. A free alternative to Bloomberg Terminal and S&P Capital IQ.
📊 What does Financial Statements Scraper do?
Financial Statements Scraper extracts clean, structured financial data from SEC EDGAR's XBRL API for any U.S. public company. Enter stock tickers and get ready-to-use financial statements:
🔹 Key Metrics — Revenue, Net Income, EPS, Assets, Equity in one view 🔹 Income Statement — Revenue through Net Income with all line items 🔹 Balance Sheet — Assets, Liabilities, and Stockholders' Equity 🔹 Cash Flow Statement — Operating, Investing, and Financing activities 🔹 All Statements — Complete financial data in one run
❓ Why use Financial Statements Scraper?
🔹 Free data source — SEC EDGAR XBRL API is free and public. No API key needed 🔹 Bloomberg alternative — Get the same financial data that costs $24,000/year on Bloomberg 🔹 Ticker resolution — Just enter stock tickers (AAPL, MSFT, TSLA) — CIK numbers resolved automatically 🔹 Clean output — Data is normalized and deduplicated. No XBRL complexity to deal with 🔹 Concept fallbacks — Handles different XBRL tags used by different companies (e.g., Apple's revenue tag) 🔹 Annual and quarterly — Supports both 10-K and 10-Q data
💡 Use cases
🔹 Financial analysis — Build DCF models, compare companies, track growth trends 🔹 Investment research — Screen stocks by financial metrics across thousands of companies 🔹 Fintech data pipelines — Feed structured financials into trading algorithms or dashboards 🔹 Academic research — Study corporate finance, profitability trends, and market dynamics 🔹 Competitive intelligence — Compare revenue, margins, and R&D spend across competitors 🔹 Journalism — Fact-check corporate claims with actual SEC filings
📊 Sample output
Apple Inc. (AAPL) — Key Metrics
| Fiscal Year | Revenue | Net Income | EPS | Assets | Equity |
|---|---|---|---|---|---|
| FY2025 | $416.2B | $112.0B | $7.46 | $359B | $88B |
| FY2024 | $391.0B | $93.7B | $6.08 | $365B | $57B |
| FY2023 | $383.3B | $97.0B | $6.13 | $353B | $62B |
💰 Pricing
Financial Statements Scraper uses pay-per-event pricing:
| Event | Price |
|---|---|
| Start (per run) | $0.005 |
| Statement period scraped | $0.002 |
Free plan estimate: ~50 statement periods per month on the Apify Free plan ($5/month platform credit). That's 10 companies x 5 years of annual data.
🔢 How to get financial statements
- Go to the Financial Statements Scraper page on Apify
- Select the statement type (key metrics, income statement, balance sheet, cash flow, or all)
- Enter stock tickers (e.g., AAPL, MSFT, TSLA)
- Choose annual or quarterly data and how many years of history
- Click "Start" and wait for results
- Download data as JSON, CSV, Excel, or connect via API
📥 Input parameters
| Parameter | Type | Description |
|---|---|---|
| mode | string | Statement type: key-metrics, income-statement, balance-sheet, cash-flow, or all |
| tickers | string[] | Stock ticker symbols (e.g., AAPL, MSFT, TSLA) |
| ciks | string[] | SEC CIK numbers (alternative to tickers) |
| period | string | annual (10-K) or quarterly (10-Q) |
| maxYears | number | Years of historical data (default: 5, max: 30) |
📤 Output fields
Key Metrics
Revenues, NetIncomeLoss, EarningsPerShareDiluted, Assets, Liabilities, StockholdersEquity, CashAndCashEquivalentsAtCarryingValue, LongTermDebt, OperatingIncomeLoss, GrossProfit, CommonStockSharesOutstanding, NetCashProvidedByUsedInOperatingActivities
Income Statement
Revenues, CostOfRevenue, GrossProfit, ResearchAndDevelopmentExpense, SellingGeneralAndAdministrativeExpense, OperatingExpenses, OperatingIncomeLoss, InterestExpense, IncomeTaxExpenseBenefit, NetIncomeLoss, EarningsPerShareBasic, EarningsPerShareDiluted
Balance Sheet
CashAndCashEquivalentsAtCarryingValue, AccountsReceivableNetCurrent, InventoryNet, AssetsCurrent, PropertyPlantAndEquipmentNet, Goodwill, Assets, LiabilitiesCurrent, LongTermDebt, Liabilities, StockholdersEquity
Cash Flow
NetCashProvidedByUsedInOperatingActivities, DepreciationDepletionAndAmortization, PaymentsToAcquirePropertyPlantAndEquipment, NetCashProvidedByUsedInInvestingActivities, NetCashProvidedByUsedInFinancingActivities, PaymentsOfDividends, PaymentsForRepurchaseOfCommonStock
💡 Tips
🔹 XBRL concept names — Output field names use standard XBRL US-GAAP taxonomy names. These are consistent across all companies and are the same as used in SEC filings. 🔹 Null values — Some fields may be null if the company doesn't report that line item or uses a non-standard XBRL tag. Key concepts have automatic fallback resolution. 🔹 Foreign companies — Works with foreign companies that file with the SEC (20-F filers like BABA, TSM). 🔹 Up to 30 years — SEC EDGAR has XBRL data going back to 2009 for most companies. Set maxYears=30 for full history.
🔗 Integrations
Export financial data to Google Sheets, Excel, Slack, Zapier, Make, or any webhook. Connect via the Apify API to build automated financial analysis pipelines.
💻 API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('automation-lab/financial-statements-scraper').call({mode: 'income-statement',tickers: ['AAPL', 'MSFT', 'GOOGL'],period: 'annual',maxYears: 5,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('automation-lab/financial-statements-scraper').call(run_input={'mode': 'key-metrics','tickers': ['TSLA', 'RIVN', 'LCID'],'period': 'quarterly','maxYears': 3,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl "https://api.apify.com/v2/acts/automation-lab~financial-statements-scraper/runs" \-X POST -H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_TOKEN" \-d '{"mode": "all", "tickers": ["AAPL"], "period": "annual", "maxYears": 10}'
⚖️ Legality
Financial Statements Scraper only accesses publicly available data through the official SEC EDGAR XBRL API. SEC filings are public records under U.S. law. The SEC explicitly provides these APIs for programmatic access.
❓ FAQ
Q: What companies are covered? A: All U.S. public companies that file with the SEC — over 8,000 companies including all S&P 500, NASDAQ, and NYSE listed companies.
Q: How current is the data? A: Data is updated as companies file their 10-K and 10-Q reports with the SEC. Annual reports are typically filed within 60-90 days of fiscal year end.
Q: Can I get quarterly data? A: Yes. Set period to "quarterly" to get 10-Q data. Note that quarterly data may have more null fields as companies report less detail in 10-Q filings.
Q: What about non-GAAP metrics? A: This scraper extracts GAAP (Generally Accepted Accounting Principles) data from XBRL filings. Non-GAAP metrics like adjusted EBITDA are not standardized in XBRL and require parsing 10-K text.
Q: Why are some fields null? A: Companies use different XBRL tags for the same concept. The scraper has fallback resolution for common variations (e.g., Apple's revenue tag), but some companies may use tags not yet mapped.
🔗 Related scrapers
🔹 Company Funding Tracker — Track startup funding rounds from SEC Form D filings 🔹 SEC EDGAR Scraper — Search all SEC filing types (10-K, 10-Q, 8-K) 🔹 Yahoo Finance Scraper — Stock quotes, market data, and financial news