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 |
|
|
|
|
v2 |
|
|
|
-
v1 -
EXCHANGE_TICKERjoins 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.Ndisambiguator 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
-
Change the base path from
/api/v1to/api/v2. -
Anywhere v1 takes an
EXCHANGE_TICKERSKU, pass themultiples_idinstead - this is theskusarray in Current Company Data and Historical Company Data, and theskufield returned by every endpoint. -
Nothing else changes. All request filters and every response field - including
tickerandexchange, 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".

