---
title: "Annual fundamentals for 1-20 companies."
method: GET
path: "/api/v1/companies"
---

# Annual fundamentals for 1-20 companies.

`GET /api/v1/companies`

## Request

- Base URL: `https://tickerfacts.com`
- URL: `https://tickerfacts.com/api/v1/companies`
- Auth: one of:
  - none
  - HTTP bearer

## Query parameters

- `tickers` string, required
- `periods` string
- `metrics` string

## Response `200`

Per-ticker results with explicit per-ticker errors.

- CompanyBatch
  - `count` integer, required
  - `metric_definitions` object: Definitions for every returned metric and ratio, once for the batch; each company's own metric_definitions is empty.
  - `results` object[], required
    - `company` Company, required
      - `annual` AnnualPeriod[], required: Newest period end first.
        - `metrics` object, required: Canonical metric key to observation. A missing key means not reported, not zero.
        - `notes` object: Metric or ratio key to why this year's figure is not comparable with the year before (do not compute a change across it), or why a ratio is null.
        - `period_end` string, date, required
        - `period_year` integer, required
        - `ratios` object: Ratio key to value, computed by TickerFacts for this period: percent, except liabilities_to_equity and long_term_debt_to_equity (plain ratios). Null when an input is missing or incompatible, or the ratio means nothing (see notes).
      - `basis_breaks` object[]: Years on a different basis from the year before (restated after a spin-off, discontinued operation or accounting change, while the year before kept its old basis). Do not compute a change or growth rate across one.
        - `metric` string, required
        - `period_end` string, date, required
      - `cik` integer, required
      - `coverage` Coverage, required
        - `annual_periods_available` integer, required
        - `entity_continuity` string, required
        - `history_basis` string, required
        - `latest_observation_filed` string, nullable, required
        - `latest_period_end` string, nullable, required
        - `limitations` string[], required
        - `missing_metrics_latest_period` string[], required
        - `missing_reason` string, required
        - `status` string, required
      - `data_quality` string[]: Warnings about the figures themselves, such as out-of-scale values from a unit tagged wrongly.
      - `dataset_built_at` string, required
      - `dataset_sha256` string, nullable, required
      - `display_name` string, required: Readable form of name for display; match filings on cik, not this.
      - `evidence_url` string, required
      - `exchange` string, nullable, required
      - `latest_interim` object
        - `basis` string, required
        - `flows` 'trailing_twelve_months', required: Flows cover the twelve months ending period_end; single quarters are in quarterly.
        - `metrics` object, required: Trailing-twelve-month flows (with period_start) and latest quarterly balances (period_start null).
        - `period_end` string, date, required
      - `listing_status` 'current' | 'former', required: former: the company has left SEC's current ticker directory; its figures are its last filings and will not update.
      - `metric_definitions` object, required
      - `name` string, required: SEC conformed (legal) name, as filed.
      - `notice` string, required: Figures may be incomplete or wrong and are not investment advice; keep this caveat when passing figures on.
      - `profile` Profile
        - `exchange` string, nullable, required
        - `fiscal_year_end` string, nullable, required
        - `industry` string, nullable, required
        - `sector` string, nullable, required
        - `source` string, required
        - `state_of_incorporation` string, nullable, required
      - `quarterly` object
        - `basis` string, required
        - `quarters` object[], required: Newest first; present only when quarters or period quarterly was asked for.
          - `calendar_quarter` string, required: Calendar quarter the period ends in, e.g. 2026-Q2; never the issuer's fiscal label.
          - `metrics` object, required: Flows for the quarter (with period_start) and balances at its end (period_start null). A flow with derivation is the difference of two reported year-to-date figures.
          - `period_end` string, date, required
          - `period_start` string, date, required
      - `reporting` object
        - `latest_period_end` string, date, required
        - `latest_report` 'annual' | 'quarterly', required
        - `next_period_end_estimate` string, date
        - `next_period_ended` boolean: Whether the quarter after the latest report had ended when the dataset was built, so its report is due or not yet in the dataset.
        - `note` string, required
        - `quarters_available` integer, required
      - `requested_ticker` string, nullable, required
      - `research_url` string, required
      - `sec_history_url` string, required
      - `selection` Selection
        - `missing_metrics_by_period` object, required
        - `missing_metrics_by_quarter` object
        - `note` string: Why fewer periods or quarters came back than were available.
        - `periods_returned` integer, required
        - `quarters_returned` integer: Present when quarters were asked for.
        - `requested_metrics` string[], required
        - `requested_ratios` string[]
        - `resolved` object: Requested spelling to the unambiguous key it was read as, e.g. roe to return_on_equity. Generic debt_to_equity is rejected as ambiguous.
      - `source` string, required
      - `stock_splits` object[]: Detected from restated filings. Per-share figures and share counts filed before a split are on the old basis.
        - `first_filing_after` string, date, required
        - `ratio` string, required: 4-for-1, or 1-for-10 for a reverse split.
      - `successor` object
        - `cik` integer, required
        - `name` string, required
      - `terms` string, uri, required: Terms of use, which apply to API and agent use.
      - `ticker` string, nullable, required
      - `valuation` PriceValuation
        - `dividend_yield` number, nullable, required
        - `market_cap` number, nullable, required
        - `note` string, required
        - `pb_ratio` number, nullable, required
        - `pe_ratio` number, nullable, required
        - `price` number, required
        - `price_as_of` string, nullable, required
    - `requested_ticker` string, required
    - `status` 'ok' | 'not_found', required

## Other responses

- `404`: No such record in this build.

---

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