Migration to API v2

Every company in the API is addressed by a SKU — a short, URL-safe identifier you send in request bodies and receive back on every record.

The API ships in two versions, v1 and v2, that are identical in every respect - same endpoints, filters, fields and responses - except the SKU format.

Choose the version whose identifier best fits how you store data; switching is a one-line change to the base path plus the SKU you send and read.

The two formats

Version

Base URL

SKU format

Example — Adobe Inc

v1

https://multiples.vc/api/v1

EXCHANGE_TICKER

NAS_ADBE

v2

https://multiples.vc/api/v2

multiples_id (TICKER-COUNTRY)

ADBE-USA

  • v1 - EXCHANGE_TICKER joins the listing exchange and the ticker with an underscore: NAS_ADBE (Adobe on Nasdaq), KRX_366030, ETR_1U1. A company that trades on several exchanges has one SKU.

  • v2 - joins the ticker and the company's ISO 3166-1 alpha-3 country code with a hyphen: ADBE-USA, 366030-KOR, 1U1-DEU. Occasionally a trailing .N disambiguator is appended when two companies share the same ticker and country (e.g. KLAR-SWE.1), so treat the SKU as an opaque string rather than parsing its parts. There is one identifier per company, independent of which exchange it trades on.

Which version to use

Use v2 for anything you persist or sync. It is stable: it does not change when a company re-lists, switches its primary exchange, or trades on multiple venues, and it collapses a company's many listings into a single identifier - so your stored keys keep resolving over time.

Use v1 (EXCHANGE_TICKER) if you already key your own data by exchange + ticker and want a 1:1 mapping to a specific listing.

Switching from v1 to v2

  1. Change the base path from /api/v1 to /api/v2.

  2. Anywhere v1 takes an EXCHANGE_TICKER SKU, pass the multiples_id instead - this is the skus array in Current Company Data and Historical Company Data, and the sku field returned by every endpoint.

  3. Nothing else changes. All request filters and every response field - including ticker and exchange, which v2 still returns - are identical to v1.

Example — Current Company Data (v2)

Body:

{
  "skus": ["ADBE-USA"]
}

{"skus":["ADBE-USA"]}

Response (identity fields shown; the full field set is identical to v1 Current Company Data):

{
  "data": [
    {
      "sku": "ADBE-USA",
      "ticker": "ADBE",
      "exchange": "NAS",
      "name": "Adobe Inc"
    }
  ]
}

The same request in v1 would send { "skus": ["NAS_ADBE"] } and return "sku": "NAS_ADBE".