DocsSymbols

Symbols

See every symbol we cover in one list, then the symbols your key can read, per asset class.

Open .md

Two kinds of list. GET /symbols/catalog shows everything we cover: every symbol across every asset class, the same for every key. The per asset class routes below show what your key can read, so they follow your plan. The same codes appear in the public Symbols directory.

GET/symbols/catalog
Open .md

Full symbol catalog (every asset class)

Every symbol we serve, with its asset class and market, filterable and paged. Any key can read it, including Free; it shows what we cover, not what your plan includes.

asset_classstring
Only this asset class.
Valuesstocksforexcryptoindicesetfscommoditiesperpetualsbonds
marketstring
Only codes written as CC:SYMBOL with this prefix, for example US, IN or DE. Every stock and bond yield has one; forex, crypto, indices, commodities and perpetuals have market: null.
qstring
Case-insensitive text found in the symbol or the name, up to 64 characters.
limitinteger
Rows per page, 1 to 1000.
Default100
offsetinteger
Rows to skip. Pass next_offset to read the next page.
Default0
curl -sS "https://api.tickerlayer.com/symbols/catalog" \
  -H "x-api-key: <YOUR_API_KEY>"

Response 200 OK

JSON
{
  "results": [
    {
      "symbol": "US:KO",
      "name": "The Coca-Cola Company",
      "asset_class": "stocks",
      "market": "US"
    },
    {
      "symbol": "EURUSD",
      "name": "Euro / United States Dollar",
      "asset_class": "forex",
      "market": null
    },
    {
      "symbol": "BTCUSD",
      "name": "Bitcoin / USD",
      "asset_class": "crypto",
      "market": null
    }
  ],
  "results_count": 100,
  "total_count": 17076,
  "next_offset": 100
}
The example is abridged to one row from each of three asset classes. A real page holds up to limit rows, sorted by asset class and then by symbol, so the first pages are stocks; filter with asset_class, market or q to go straight to what you need. market is the country of the exchange for stocks and bond yields (US, DE, JP); forex, crypto, indices, commodities and perpetuals are not tied to one country, so theirs is null. total_count counts every match before paging: ?asset_class=stocks&market=DE&limit=1 tells you how many German stocks we cover. Pass next_offset as offset for the next page, until it is null. A symbol two asset classes serve, such as XAUUSD, is listed under both. Reading a price still needs a plan that includes it: a symbol listed here that your key does not include answers 403. Each call counts as one request.
RoutesResponse
Stocks, forex, indices, ETFs, commoditiesA symbols array, with no top-level count.
CryptoItems under data, each with type: "crypto", and a top-level count.
PerpetualsA symbols array with a top-level count.
Overnightresults with results_count and session_open.
Futures CFDsproducts with a top-level count from GET /futures/products; the dated months come from GET /futures/contracts.
BondsNo list route: the fixed tenors are listed below.
GET/stocks/symbols
Open .md

Stocks symbol list (global)

The stocks your key can read, as market-qualified CC:SYMBOL codes, sorted by market, then by base symbol.

marketstring
A two-letter market code, for example US or DE. Leave it out to list every market your key includes.
curl -sS "https://api.tickerlayer.com/stocks/symbols?market=US" \
  -H "x-api-key: <YOUR_API_KEY>"

Response 200 OK

JSON
{
  "symbols": [
    {
      "symbol": "US:JPM",
      "base_symbol": "JPM",
      "market": "US",
      "name": "JPMorgan Chase & Co."
    },
    {
      "symbol": "US:KO",
      "base_symbol": "KO",
      "market": "US",
      "name": "The Coca-Cola Company"
    }
  ]
}
A market your key does not include returns an empty list. To see the stocks we cover in any market, use the full catalog, for example GET /symbols/catalog?asset_class=stocks&market=IN.
GET/forex/symbols
Open .md

Forex symbol list

Returns enabled FX pairs and crosses, sorted by symbol ascending.

curl -sS "https://api.tickerlayer.com/forex/symbols" \
  -H "x-api-key: <YOUR_API_KEY>"

Response 200 OK

JSON
{
  "symbols": [
    { "symbol": "EURUSD", "name": "Euro / United States Dollar" },
    { "symbol": "GBPUSD", "name": "British Pound / United States Dollar" }
  ]
}
GET/crypto/symbols
Open .md

Crypto symbol list

Returns enabled crypto spot symbols with display names and a "crypto" type discriminator.

curl -sS "https://api.tickerlayer.com/crypto/symbols" \
  -H "x-api-key: <YOUR_API_KEY>"

Response 200 OK

JSON
{
  "data": [
    { "symbol": "BTCUSD", "name": "Bitcoin / USD", "type": "crypto" },
    { "symbol": "ETHUSD", "name": "Ethereum / USD", "type": "crypto" }
  ],
  "count": 2
}
Prefer GET /crypto/symbols, like the other asset classes. The legacy GET /symbols route merges crypto, forex, commodities, ETFs and indices; it does not include stocks, which stay on GET /stocks/symbols.
GET/indices/symbols
Open .md

Indices symbol list

Returns curated index symbols available on the REST API (generic regional codes), sorted by symbol ascending.

curl -sS "https://api.tickerlayer.com/indices/symbols" \
  -H "x-api-key: <YOUR_API_KEY>"

Response 200 OK

JSON
{
  "symbols": [
    { "symbol": "DE40", "name": "Germany 40" },
    { "symbol": "EU50", "name": "Europe 50" },
    { "symbol": "JP225", "name": "Japan 225" },
    { "symbol": "US500", "name": "US 500" }
  ]
}
Public codes are source-neutral (for example US500, JP225, HK50). See also the Indices REST reference.
GET/etfs/symbols
Open .md

ETFs symbol list

Returns ETF-style symbols available on the REST API (curated codes plus enabled long-tail / regional rows for your key), sorted by symbol ascending.

curl -sS "https://api.tickerlayer.com/etfs/symbols" \
  -H "x-api-key: <YOUR_API_KEY>"

Response 200 OK

JSON
{
  "symbols": [
    { "symbol": "US100ETF", "name": "US growth 100" },
    { "symbol": "US500ETF", "name": "US 500" }
  ]
}
Display names are product-generic (no issuer or licensed benchmark branding). See also the ETFs REST reference.
GET/commodities/symbols
Open .md

Commodity symbol list

Returns enabled commodity reference symbols (metals, energy, agriculture), sorted by symbol ascending. Aliases may be accepted on quote routes but are not repeated in this list.

curl -sS "https://api.tickerlayer.com/commodities/symbols" \
  -H "x-api-key: <YOUR_API_KEY>"

Response 200 OK

JSON
{
  "symbols": [
    { "symbol": "BRENTUSD", "name": "Brent crude oil" },
    { "symbol": "XAUUSD", "name": "Gold" },
    { "symbol": "WTIUSD", "name": "WTI crude oil" }
  ]
}
GET/perpetuals/symbols
Open .md

Perpetuals symbol list

Every perpetual contract with its name, underlying class and how many sources list it. Open to any valid key, with or without Perpetuals on the account.

underlyingstring
Filter by the class of the underlying; an unknown value is ignored.
Valuesequityetfcommodityindexforexpre_ipocrypto
curl -sS "https://api.tickerlayer.com/perpetuals/symbols?underlying=commodity" \
  -H "x-api-key: <YOUR_API_KEY>"

Response 200 OK

JSON
{
  "symbols": [
    {
      "symbol": "XAUUSDT",
      "name": "Gold",
      "instrument_type": "perpetual",
      "underlying_asset_class": "commodity",
      "base": "XAU",
      "source_count": 6
    }
  ],
  "count": 8
}
Source-level accounts can add ?sources=true for the per-source universe; see Perpetuals.
GET/overnight/symbols
Open .md

Overnight symbol list

The US stocks and ETFs covered by the overnight session add-on, and whether the session is open right now.

curl -sS "https://api.tickerlayer.com/overnight/symbols" \
  -H "x-api-key: <YOUR_API_KEY>"

Response 200 OK

JSON
{
  "session_open": false,
  "results_count": 2,
  "results": [
    { "symbol": "US:KO", "kind": "stock" },
    { "symbol": "US500ETF", "kind": "etf" }
  ]
}
Needs the overnight add-on: without it the route answers 403 overnight access not enabled for your account. See Overnight session.

Bond symbols

Bonds have no list route: the set is fixed. Symbols are CC:TENOR, for example US:10Y, served by /bond and bonds.quotes.

CountryTenors
US1M 3M 6M 1Y 2Y 3Y 5Y 7Y 10Y 20Y 30Y
DE ES FR IT UK1Y 2Y 3Y 5Y 10Y 30Y