---
title: "A company's valuation multiples over time — EV/Revenue, EV/EBIT, EV/EBITDA, P/E, Price/Sales and Price/Book recomputed point-in-time at each past quarter's filing date, oldest first (up to ~10 years); REITs also carry P/FFO and P/AFFO, and any filer with a verified reconciliation carries EV over its own stated Adjusted EBITDA, from the company's SEC-stated reconciliation as it existed at each sample date. Each sample uses only facts filed by that date and that day's raw close; a completed exact-primary split reconciliation preserves older samples, while anchors before an unresolved split are omitted. Absent ratios carry a machine-readable reason (evMissingReason / peMissingReason) instead of an estimate."
method: GET
path: "/v1/stocks/{ticker}/valuation-multiples/history"
tags: ["Multiples"]
---

# A company's valuation multiples over time — EV/Revenue, EV/EBIT, EV/EBITDA, P/E, Price/Sales and Price/Book recomputed point-in-time at each past quarter's filing date, oldest first (up to ~10 years); REITs also carry P/FFO and P/AFFO, and any filer with a verified reconciliation carries EV over its own stated Adjusted EBITDA, from the company's SEC-stated reconciliation as it existed at each sample date. Each sample uses only facts filed by that date and that day's raw close; a completed exact-primary split reconciliation preserves older samples, while anchors before an unresolved split are omitted. Absent ratios carry a machine-readable reason (evMissingReason / peMissingReason) instead of an estimate.

`GET /v1/stocks/{ticker}/valuation-multiples/history`

## Request

- Base URL: `https://api.equibles.com`
- URL: `https://api.equibles.com/v1/stocks/{ticker}/valuation-multiples/history`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/equibles/apis/equibles-api/docs/v1/stocks/:ticker/valuation-multiples/history/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `ticker` string, required

## Response `200`

OK

- ValuationMultiplesHistoryResponse
  - `ticker` string, nullable
  - `companyName` string, nullable
  - `omittedAnchorCount` integer: Sampled quarters dropped because no ratio was computable at that point in time or because the raw-close split basis was unprovable — non-zero means the series is shorter than the advertised ~10 years by this many anchors.
  - `omittedForUnprovenSplitBasisCount` integer: How many of the omitted anchors were dropped solely because they predate the company's latest unresolved split, where the stored raw-close basis cannot be proven against the current per-share basis; an exact-primary reconciliation preserves the older anchors (UnverifiedPriceSplitBasis). Always ≤ omittedAnchorCount.
  - `ffoLabel` string, nullable: REIT only: the company's verbatim label for the FFO measure behind priceToFfo (its own non-GAAP definition, from the newest priced sample). Null when no sample carries P/FFO.
  - `affoLabel` string, nullable: REIT only: the company's verbatim label for the AFFO measure behind priceToAffo. Null when no sample carries P/AFFO.
  - `adjustedEbitdaLabel` string, nullable: The company's verbatim label for the Adjusted EBITDA measure behind evToAdjustedEbitda (its own non-GAAP definition, from the newest priced sample). Any filer with a verified reconciliation — no SIC gate. Null when no sample carries evToAdjustedEbitda.
  - `points` ValuationMultiplesHistoryPointDto[], nullable
    - `label` string, nullable
    - `asOf` string, date
    - `close` number, double, nullable
    - `peRatio` number, double, nullable
    - `peBasis` string, nullable: "diluted-eps" or "common-shareholder-income"; null when P/E is unavailable.
    - `evToRevenue` number, double, nullable
    - `evToEbit` number, double, nullable
    - `evToEbitda` number, double, nullable: EV over TTM EBITDA (EBIT plus the tagged depreciation-and-amortization family), the same strict same-date EV as evToEbit.
    - `priceToSales` number, double, nullable: Market cap (close times the share count filed by the sample date) over the TTM revenue as filed by then; needs no enterprise value.
    - `priceToBook` number, double, nullable: Market cap over the newest stockholders' equity instant filed by the sample date; null when none is tagged, stale, or not positive.
    - `priceToFfo` number, double, nullable: REIT only: price over the company's own stated FFO, re-resolved point-in-time from the approved SEC-filed reconciliation as it existed at this sample date. A company-defined non-GAAP measure — see ffoBasis and the response-level ffoLabel.
    - `priceToAffo` number, double, nullable: REIT only: price over the company's own stated AFFO, same methodology as priceToFfo.
    - `ffoBasis` string, nullable: The aggregation basis that priced this sample's P/FFO — "TTM" (four consecutive stated fiscal quarters) or "FY2023" (the stated full year). Can differ between samples as the company's disclosures evolve.
    - `affoBasis` string, nullable: The aggregation basis behind this sample's P/AFFO (see ffoBasis).
    - `evToAdjustedEbitda` number, double, nullable: EV over the company's own stated Adjusted EBITDA, re-resolved point-in-time from the approved SEC-filed reconciliation as it existed at this sample date against the sample's same-date EV. Any filer with a verified reconciliation — no SIC gate. A company-defined non-GAAP measure — see adjustedEbitdaBasis and the response-level adjustedEbitdaLabel.
    - `adjustedEbitdaBasis` string, nullable: The aggregation basis behind this sample's evToAdjustedEbitda (see ffoBasis).
    - `evMissingReason` string, nullable: Why enterprise value was not computable at this sample, when it was not: NoCloseNearSampleDate, MissingShareCount, MissingSameDateDebt or MissingSameDateCash. Null when EV computed.
    - `peMissingReason` string, nullable: Why P/E was not computable at this sample, when it was not: NoCloseNearSampleDate, IncompleteTtmEps or NonPositiveTtmEps. Null when P/E computed.

## Other responses

- `400`: Invalid request — a malformed parameter value or a query parameter this endpoint does not support.
- `404`: Not Found

---

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