---
title: "Company financial statements"
method: GET
path: "/v1/companies/financials"
---

# Company financial statements

`GET /v1/companies/financials`

## Request

- Base URL: `https://api.turos.app`
- URL: `https://api.turos.app/v1/companies/financials`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Use this route to assemble the three core normalized statements for one issuer or a bounded ticker batch. `tickers` returns one row per requested ticker and can include a partial degraded state when an individual issuer fails; inspect each row rather than treating the batch as all-or-nothing. Select annual or quarterly cadence and fiscal-year filters before comparing results. Values retain SEC XBRL source context and are not live market data. See [statements reference](/api-reference/statements) and [freshness and source evidence](/freshness-and-trust).

## Query parameters

- `ticker` string
- `cik` string
- `tickers` string
- `symbols` string
- `period` 'annual' | 'quarterly'
- `fy` integer
- `fy_from` integer
- `fy_to` integer
- `limit` integer

## Response `200`

Successful response

- union
  - CompanyFinancials
    - `ticker` string, nullable, required
    - `companyName` string, required
    - `period` 'annual' | 'quarterly', required
    - `provenance` object, required
      - `source` string, required
      - `sourceLabel` string
      - `sourceAgency` string
      - `canonicality` string
      - `fallbackPolicy` string
      - `accessionNumber` string, nullable, required
      - `filingUrl` string, uri, required
      - `acceptedAt` string, nullable
      - `retrievedAt` string, required
      - `parserVersion` string, required
    - `freshness` object
      - `status` 'fresh' | 'current' | 'archival' | 'stale' | 'degraded' | 'unknown', required
      - `asOf` string, required
      - `sourcePublishedAt` string, nullable
      - `lagMs` integer, nullable
      - `synthetic` boolean
    - `materialization` object
      - `parserVersion` string, required
      - `materializationVersion` string, required
    - `requestId` string
    - `traceparent` string
    - `object` 'company_financials', required
    - `data` object[], required
      - `period_of_report_date` string, required
      - `fiscal_period` string, nullable, required
      - `fiscal_year` number, nullable, required
      - `filing_date` string, nullable, required
      - `financials` object, required
        - `income_statement` object, required
          - `period_of_report_date` string, required
          - `fiscal_period` string, nullable, required
          - `fiscal_year` number, nullable, required
          - `filing_date` string, nullable, required
          - `revenue` number, nullable, required
          - `costOfRevenue` number, nullable, required
          - `grossProfit` number, nullable, required
          - `operatingIncome` number, nullable, required
          - `netIncome` number, nullable, required
          - `ebitda` number, nullable, required
          - `eps` number, nullable, required
          - `epsDiluted` number, nullable, required
          - `weightedAverageShares` number, nullable, required
        - `balance_sheet` object, required
          - `period_of_report_date` string, required
          - `fiscal_period` string, nullable, required
          - `fiscal_year` number, nullable, required
          - `filing_date` string, nullable, required
          - `assets` number, nullable, required
          - `currentAssets` number, nullable, required
          - `equity` number, nullable, required
          - `totalLiabilities` number, nullable, required
          - `longTermDebt` number, nullable, required
          - `currentLiabilities` number, nullable, required
          - `retainedEarnings` number, nullable, required
          - `cashAndEquivalents` number, nullable, required
        - `cash_flow_statement` object, required
          - `period_of_report_date` string, required
          - `fiscal_period` string, nullable, required
          - `fiscal_year` number, nullable, required
          - `filing_date` string, nullable, required
          - `operatingCashFlow` number, nullable, required
          - `capitalExpenditures` number, nullable, required
          - `freeCashFlow` number, nullable, required
          - `dividendsPaid` number, nullable, required
          - `depreciationAndAmortization` number, nullable, required
  - CompanyFinancialsBatch
    - `object` 'list', required
    - `data` union[], required
      - union
        - object
          - `ticker` string, required
          - `companyName` string, required
          - `period` 'annual' | 'quarterly', required
          - `provenance` object, required
            - `source` string, required
            - `sourceLabel` string
            - `sourceAgency` string
            - `canonicality` string
            - `fallbackPolicy` string
            - `accessionNumber` string, nullable, required
            - `filingUrl` string, uri, required
            - `acceptedAt` string, nullable
            - `retrievedAt` string, required
            - `parserVersion` string, required
          - `freshness` object
            - `status` 'fresh' | 'current' | 'archival' | 'stale' | 'degraded' | 'unknown', required
            - `asOf` string, required
            - `sourcePublishedAt` string, nullable
            - `lagMs` integer, nullable
            - `synthetic` boolean
          - `materialization` object
            - `parserVersion` string, required
            - `materializationVersion` string, required
          - `requestId` string
          - `traceparent` string
          - `object` 'company_financials', required
          - `data` object[], required
            - `period_of_report_date` string, required
            - `fiscal_period` string, nullable, required
            - `fiscal_year` number, nullable, required
            - `filing_date` string, nullable, required
            - `financials` object, required
              - …
          - `status` 'ok', required
        - object
          - `ticker` string, required
          - `status` 'error', required
          - `error` object, required
            - `code` string, required
            - `message` string, required
    - `count` integer, required
    - `degradedState` object, nullable, required
      - `status` 'partial', required
      - `reason` string, required
      - `missingTickers` string[], required
    - `requestId` string
    - `traceparent` string

## Other responses

- `default`: Contract-aware error response

---

[API](https://skmtc.dev/turos/apis/turos-api.md) · [All operations](https://skmtc.dev/turos/apis/turos-api/llms.txt) · [OpenAPI document](https://skmtc.dev/turos/apis/turos-api/revisions/a68d3ec80a56?raw)
