---
title: "Financial statement by type"
method: GET
path: "/v1/statements"
---

# Financial statement by type

`GET /v1/statements`

## Request

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

Use this route to fetch one normalized statement for analysis or a financial-model input. Set `statement` and select annual or quarterly cadence, fiscal year, and a bounded history when the reporting slice matters. The response resolves supported US GAAP and IFRS filers, preserves reported units, periods, and filing provenance, and can contain missing or incomparable line items; it is not a substitute for the cited filing. See [API conventions](/api-conventions) and [freshness and source evidence](/freshness-and-trust).

## Query parameters

- `ticker` string
- `symbol` string
- `cik` string
- `statement` string
- `period` 'annual' | 'quarterly' | 'quarter' | 'q'
- `fy` integer
- `year` integer
- `fy_from` integer
- `fyFrom` integer
- `fy_to` integer
- `fyTo` integer
- `limit` integer
- `view` 'default' | 'compact' | 'agent'

## Response `200`

Successful response. view=compact returns CompactStatement; view=agent returns StatementAgentRecord; default returns Statement.

- union
  - Statement
    - `object` 'statement', required
    - `id` string, required
    - `createdAt` string, required
    - `livemode` boolean, required
    - `entityId` string, required
    - `ticker` string, nullable, required
    - `companyName` string, required
    - `statementKey` string, required
    - `title` string, required
    - `period` 'annual' | 'quarterly', required
    - `periods` object[], required
      - `periodEnd` string
      - `filedAt` string, nullable
      - `form` string, nullable
      - `fy` number, nullable
      - `fp` string, nullable
    - `rows` object[], required
      - `key` string
      - `tag` string
      - `taxonomy` string
      - `label` string
      - `unit` string, nullable
      - `values` object[]
    - `provenance` ResponseMetadata, 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
    - `completeness` object
    - `freshness` FreshnessMetadata: Freshness of the record. For SEC filings, freshness measures the delay between SEC acceptance (`sourcePublishedAt`) and when the record became available in the API — not the age of the document. Statuses: `current` (recently published and available promptly), `archival` (an immutable historical document held in full; its availability delay is not a freshness signal), `degraded`/`stale` (a recently published filing that became available later than the freshness thresholds allow), `fresh` (continuously refreshed datasets recently observed at source), `unknown` (no timestamps). An old immutable filing is never `stale` simply because it was published long ago. `lagMs` is the publish-to-availability delay in milliseconds.
      - `status` 'fresh' | 'current' | 'archival' | 'stale' | 'degraded' | 'unknown', required
      - `asOf` string, required
      - `sourcePublishedAt` string, nullable
      - `lagMs` integer, nullable
    - `materialization` MaterializationMetadata
      - `parserVersion` string, required
      - `materializationVersion` string, required
    - `validation` ValidationStatus
      - `status` 'validated' | 'unvalidated' | 'degraded', required
      - `confidence` 'high' | 'medium' | 'low', nullable
      - `validatedAt` string, nullable
      - `validationPipeline` string, nullable
      - `exceptions` string[]
    - `traceparent` string
  - CompactStatement
    - `ticker` string, nullable, required
    - `statementKey` string, nullable, required
    - `period` 'annual' | 'quarterly', nullable, required
    - `periods` object[], required
      - `periodEnd` string, required
      - `filedAt` string, nullable, required
      - `form` string, nullable, required
      - `fy` number, nullable, required
      - `fp` string, nullable, required
    - `rows` object[], required
      - `key` string, nullable, required
      - `label` string, nullable
      - `unit` string, nullable, required
      - `values` number[], required
      - `discrete` number[]
    - `requestId` string
    - `traceparent` string, nullable
  - StatementAgentRecord
    - `object` 'statement', required
    - `ticker` string, nullable, required
    - `companyName` string, required
    - `statementKey` string, required
    - `title` string, required
    - `period` 'annual' | 'quarterly', required
    - `periods` object[], required
      - `periodEnd` string, required
      - `filedAt` string, nullable, required
      - `form` string, nullable, required
      - `fy` number, nullable, required
      - `fp` string, nullable, required
    - `rows` object[], required
      - `key` string, required
      - `tag` string, required
      - `taxonomy` string, required
      - `label` string, required
      - `unit` string, nullable, required
      - `values` object[], required
        - `periodEnd` string, required
        - `filedAt` string, nullable, required
        - `form` string, nullable, required
        - `fy` number, nullable, required
        - `fp` string, nullable, required
        - `periodStart` string, nullable
        - `value` number, nullable, required
        - `periodBasis` 'instant' | 'fiscal_year_to_date' | 'discrete_period'
        - `discreteQuarter` object
          - `value` number, nullable, required
          - `basis` 'discrete_period', required
          - `reason` 'already_discrete' | 'derived' | 'instant_statement' | 'missing_value' | 'indeterminate_quarter' | 'no_matching_prior_ytd' | 'duration_mismatch', required
          - `periodStart` string, nullable, required
    - `sources` object[], required
      - `source` string, required
      - `sourceKind` 'company_facts' | 'filing', required
      - `accessionNumber` string, nullable, required
      - `sourceUrl` string, uri, required
    - `requestId` string, required
    - `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)
