SEC EDGAR Financial Data API
The SEC EDGAR API provides structured financial statement data directly from SEC filings (10-K, 10-Q, 20-F).
This API processes XBRL data from the SEC EDGAR database to deliver:
- Income statements with derived metrics (margins, EBITDA, growth rates)
- Balance sheets with calculated debt metrics
- Cash flow statements with free cash flow calculations
- Trailing Twelve Months (TTM) data from quarterly filings
- A single currency code per response so clients know how to display monetary values
Data Coverage: All publicly traded companies that file with the SEC
Historical Data: Annual data from company inception, quarterly data for TTM calculations
Financials Endpoint
Fetch complete financial statements for any SEC-registered company.
example: http://apiii.online/api/sec/v1/financials?ticker=AAPL
Params
| Param | Required | Type | Description |
|---|---|---|---|
| ticker | true | string | Stock ticker symbol (e.g. AAPL, MSFT, GOOGL) |
Response Fields
| Field | Type | Description |
|---|---|---|
| ticker | string | Uppercase ticker symbol |
| entityName | string | Official company name from SEC |
| cik | number | SEC Central Index Key |
| currency | string | ISO 4217 code for monetary amounts (e.g. USD, EUR, RUB). Counts are taken from the latest annual income-statement period (most recent 10-K/20-F flow end date), then among those currencies within 90% of the max count, USD is preferred, then EUR, then the highest count. If there is no annual flow data, counts use the whole filing. Use this to format labels; EPS uses the same currency per share. |
| income | array | Annual income statements |
| balance_sheet | array | Annual balance sheets |
| cash_flow | array | Annual cash flow statements |
| ttm | object | null | Trailing Twelve Months data (when available) |
Returns
Data Structure
Income Statement Fields
| Field | Description |
|---|---|
| period_end | Fiscal period end date (ISO format) |
| Revenue | Total revenue |
| CostOfSales | Cost of goods sold / cost of revenue |
| OperatingIncome | Operating income (EBIT) |
| NetIncome | Net income attributable to shareholders |
| DilutedShares | Weighted average diluted shares outstanding |
| EPSDiluted | Diluted earnings per share |
| GrossMargin | Gross profit margin (%) - derived |
| OperatingMargin | Operating margin (%) - derived |
| EBITDA | Earnings before interest, taxes, D&A - derived |
| EBITDAMargin | EBITDA margin (%) - derived |
| RevenueGrowth | Year-over-year revenue growth (%) - derived |
Balance Sheet Fields
| Field | Description |
|---|---|
| Cash | Cash and cash equivalents |
| CurrentAssets | Total current assets |
| TotalAssets | Total assets |
| CurrentLiabilities | Total current liabilities |
| TotalLiabilities | Total liabilities |
| StockholdersEquity | Total shareholders' equity |
| TotalDebt | Long-term + short-term debt - derived |
| NetDebt | Total debt minus cash - derived |
Cash Flow Fields
| Field | Description |
|---|---|
| OperatingCF | Cash flow from operating activities |
| InvestingCF | Cash flow from investing activities |
| FinancingCF | Cash flow from financing activities |
| CapEx | Capital expenditures |
| StockBasedCompensation | Stock-based compensation expense |
| FreeCashFlow | Operating CF minus CapEx - derived |
TTM (Trailing Twelve Months)
When quarterly (10-Q) filings are available and more recent than the latest annual report, the API automatically calculates Trailing Twelve Months metrics.
Calculation Method
TTM values are calculated using the formula:
TTM = Latest Annual + Current YTD - Prior Year Same YTDThis approach naturally accounts for seasonality without naive multiplication, providing accurate trailing twelve-month figures.
TTM Response Structure
| Field | Description |
|---|---|
| period_label | Quarter identifier (e.g., "Q2 TTM", "Q3 TTM") |
| income | TTM income statement metrics |
| balance_sheet | Most recent quarterly balance sheet (point-in-time) |
| cash_flow | TTM cash flow metrics |
When TTM is Available
- Company has filed at least one 10-Q (quarterly report)
- The most recent 10-Q is more current than the latest 10-K (annual report)
- Sufficient quarterly data exists for year-over-year comparison
XBRL Taxonomy Support
The API supports both US-GAAP and IFRS taxonomies, automatically detecting and processing the appropriate accounting standard for each company.
- US-GAAP: Used by most US companies (10-K filings)
- IFRS: Used by foreign companies filing 20-F forms
Error Handling
| Status Code | Description |
|---|---|
| 400 | Missing or invalid ticker parameter |
| 401 | Unauthorized - missing or invalid Bearer token |
| 404 | Ticker not found in SEC database or no financial data available |
| 500 | Internal server error during data processing |
Data Source
All data is sourced directly from the SEC EDGAR REST API:
- Ticker-to-CIK mapping: https://www.sec.gov/files/company_tickers.json
- Company facts: https://data.sec.gov/api/xbrl/companyfacts/CIK{'{'}cik{'}'}.json
The API processes raw XBRL facts from annual filings (10-K, 20-F) and quarterly filings (10-Q) to construct structured, normalized financial statements.
Rate Limiting: The SEC EDGAR API allows approximately 10 requests per second. This proxy endpoint respects SEC rate limits automatically.