API Reference

Balance Sheets

A company's balance sheet as clean, normalized numbers — assets, liabilities, debt, and shareholders' equity — 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.

GET/v1/financials/balance-sheets

Provide a ticker or cik and a period. Each row covers one reporting period, newest first, and carries the source accession and filing URL.

Coverage & freshness
We cover ~2,000 US-listed companies — the entire S&P 500 plus roughly 1,500 more US mid- and small-caps — with numbers derived from SEC filings and kept current within about a day of a new 10-K or 10-Q. See Coverage & data source for the full list and the IFRS boundary.

Query parameters#

tickerstringoptional
US ticker, e.g. AAPL. Provide ticker or cik (at least one is required).
cikstringoptional
SEC Central Index Key — an alternative to ticker.
period"annual" | "quarterly" | "ttm"required
Reporting period (required). annual = 10-K periods, quarterly = 10-Q periods, ttm = trailing twelve months.
limitnumberoptional
Number of reporting periods to return, newest first. Defaults to 4.
report_periodstringoptional
Return only the period whose report date equals this exact date (YYYY-MM-DD, the fiscal period end). Combine with the range filters as an additional AND constraint.
report_period_gtestringoptional
Only periods with a report date on or after this date (YYYY-MM-DD). Also available: report_period_lte, report_period_gt, report_period_lt.

Example request#

curlbash
curl "https://api.focusalpha.ai/v1/financials/balance-sheets?ticker=AAPL&period=annual&limit=4" \
  -H "Authorization: Bearer $FOCUSALPHA_API_KEY"

Response#

Returns a balance_sheets array, newest first. Each row carries the shared identifying fields, then the balance sheet line items.

Shared row fields#

Every statement row carries the same identifying fields, then its line items.

tickerstringrequired
Company ticker.
ciknumberrequired
SEC Central Index Key.
report_periodstringrequired
The fiscal period end date (YYYY-MM-DD).
periodstringrequired
The requested period — annual, quarterly, or ttm.
fiscal_periodstring | nulloptional
The fiscal label — FY, Q1, Q2, or Q3.
currencystringrequired
Reporting currency, e.g. USD.
accession_numberstring | nulloptional
The SEC filing these numbers were derived from.
filing_urlstring | nulloptional
Link to the source filing on EDGAR.
calendar_datestring | nulloptional
Calendar-aligned period date, where available.

Balance sheet line items#

Fields: total_assets, current_assets, cash_and_equivalents, inventory, current_investments, trade_and_non_trade_receivables, non_current_assets, property_plant_and_equipment, goodwill_and_intangible_assets, investments, non_current_investments, outstanding_shares, tax_assets, total_liabilities, current_liabilities, trade_and_non_trade_payables, deferred_revenue, deposit_liabilities, non_current_liabilities, current_debt, non_current_debt, total_debt, tax_liabilities, shareholders_equity, retained_earnings, accumulated_other_comprehensive_income.

Example response#

balance-sheets.jsonjson
{
  "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,
      "current_assets": 152987000000,
      "cash_and_equivalents": 29943000000,
      "total_liabilities": 308030000000,
      "current_liabilities": 176392000000,
      "total_debt": 106629000000,
      "shareholders_equity": 56950000000
    }
  ]
}
Numbers, as filed
Values are pulled from each company’s XBRL facts — public-domain structured data filed with the SEC — and normalized to a consistent schema. They are not adjusted, restated, or estimated.
Need all three statements?
The combined /v1/financials route returns income statements, balance sheets, and cash-flow statements in a single call.

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.