Combined Financials
The aggregator route — income statements, balance sheets, and cash-flow statements for a company in a single call, derived deterministically from the SEC XBRL data companies file. Annual, quarterly, or trailing-twelve-month, with the source accession and filing URL on every row.
/v1/financialsProvide a ticker or cik and a period. The combined route returns all three statements at once under a top-level financials object, holding income_statements, balance_sheets, and cash_flow_statements arrays — each newest first, each row carrying the source accession and filing URL.
Query parameters#
tickerstringoptionalAAPL. Provide ticker or cik (at least one is required).cikstringoptionalticker.period"annual" | "quarterly" | "ttm"requiredannual = 10-K periods, quarterly = 10-Q periods, ttm = trailing twelve months.limitnumberoptional4.report_periodstringoptionalYYYY-MM-DD, the fiscal period end). Combine with the range filters as an additional AND constraint.report_period_gtestringoptionalYYYY-MM-DD). Also available: report_period_lte, report_period_gt, report_period_lt.Example request#
curl "https://api.focusalpha.ai/v1/financials?ticker=AAPL&period=annual&limit=1" \
-H "Authorization: Bearer $FOCUSALPHA_API_KEY"Response#
Returns a top-level financials object nesting three arrays — income_statements, balance_sheets, and cash_flow_statements — each newest first. Every row across all three carries the same identifying fields (ticker, cik, report_period, period, fiscal_period, currency, accession_number, filing_url, calendar_date) followed by that statement’s line items.
For the full per-statement field lists, see the focused pages: Income statements, Balance sheets, and Cash-flow statements. A line item not reported for a period is null.
Example response#
{
"financials": {
"income_statements": [
{
"ticker": "AAPL",
"cik": 320193,
"report_period": "2024-09-28",
"period": "annual",
"fiscal_period": "FY",
"currency": "USD",
"accession_number": "0000320193-24-000123",
"filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019324000123",
"revenue": 391035000000,
"operating_income": 123216000000,
"net_income": 93736000000,
"earnings_per_share": 6.11
}
],
"balance_sheets": [
{
"ticker": "AAPL",
"cik": 320193,
"report_period": "2024-09-28",
"period": "annual",
"fiscal_period": "FY",
"currency": "USD",
"accession_number": "0000320193-24-000123",
"filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019324000123",
"total_assets": 364980000000,
"total_liabilities": 308030000000,
"shareholders_equity": 56950000000
}
],
"cash_flow_statements": [
{
"ticker": "AAPL",
"cik": 320193,
"report_period": "2024-09-28",
"period": "annual",
"fiscal_period": "FY",
"currency": "USD",
"accession_number": "0000320193-24-000123",
"filing_url": "https://www.sec.gov/Archives/edgar/data/320193/000032019324000123",
"net_cash_flow_from_operations": 118254000000,
"free_cash_flow": 108807000000
}
]
}
}Errors#
Statuses: 400 (missing both ticker and cik, a missing or invalid period, or a bad limit / date), 401 (bad or missing API key), 402 (per-minute rate limit or monthly quota exceeded — upgrade your plan), 404 (unresolvable ticker or CIK), 503 with a Retry-After header (data temporarily unavailable — retry shortly), and 500. A known company with no US-GAAP data is a successful 200 with empty arrays, not an error. See Errors.