DocsOverview

Documentation

TickerLayer is a developer-first aggregated market data platform. REST for snapshots, quotes, trades, and historical bars. Public WebSocket for low-latency streaming when market connections are active.

Open .md

Recent updates

1 / 4
All changes

Important Data Notice

All API and WebSocket data provided by TickerLayer comes from non-exchange sources, except the Perpetuals feed, which is a calculated composite of third-party perpetual futures markets and is not the price of any underlying on its primary market. None of it is official exchange feed data, and it may be delayed, inaccurate, incomplete, or different from official market prices. The same applies to CFD-style index and ETF-style reference symbols, to commodity reference prices, and to Futures CFDs, which are reference prices calculated with our own methodology and not the official settlement or closing price of any contract month. The data is for informational and technical use only. Redistribution is prohibited unless expressly authorized in writing.

What you can access

Nine feeds on one key. Each one opens its own reference: routes, parameters, example responses and the WebSocket channels it streams on.

Authentication

SurfaceSend the key as
RESTx-api-key: <YOUR_API_KEY> header
WebSocketwss://stream.tickerlayer.com/?apiKey=<YOUR_API_KEY> on the upgrade URL

A missing or invalid key returns 401; an inactive key, or one without the permission the request needs, returns 403. Authentication guide

Base URL & conventions

Base URL
https://api.tickerlayer.com
Format
JSON, with Content-Type: application/json.
Timestamps
Unix milliseconds (number).
Methods
GET for every data endpoint.
Symbols
Uppercase codes from the enabled registries; path symbols are trimmed and uppercased before lookup.

Symbol format

To see everything we cover, across every asset class and with any key, use the full catalog (GET /symbols/catalog). Each asset class also lists the symbols your key can read:

RouteReturnsExample
GET /stocks/symbolsEquities as CC:SYMBOL, filter with ?market=CCUS:KO
GET /forex/symbolsFX pairsEURUSD
GET /crypto/symbolsSpot crypto pairsBTCUSD
GET /indices/symbolsIndex codesUS500
GET /etfs/symbolsETF codesUS500ETF
GET /commodities/symbolsCommodity referencesXAUUSD
GET /perpetuals/symbolsPerpetual contractsXAUUSDT
GET /futures/productsFutures CFD products with their chain and roll symbolsWTIUSD.C1
BondsNo list route: the Bonds page lists every CC:TENORUS:10Y

More in the Symbols reference.

Response conventions

Null and optional fields
Required fields are always present. Optional fields may be left out (for example last_size on some snapshots); nullable fields are present as null when no reliable figure exists at that moment. Individual fields may be optional depending on market conditions; see each route for response details.
404 vs empty
An unknown symbol or resource returns 404 with a message; an empty list returns 200 with an empty array.
Rate limits
Over a limit returns 429. See Rate limits.
Error shape
{ statusCode, message, error } on every REST error. See Errors.

Docs for AI agents

Every page here also reads as Markdown, for ChatGPT, Claude, Cursor or your own agent.

Copy for AI
On an endpoint it copies that endpoint; Copy page for AI at the top copies the whole page.
Open .md
Opens the same text as a file. Any docs URL works with .md added, for example /docs/products/stocks.md, and so does a request with Accept: text/markdown.
llms.txt and MCP
llms.txt indexes the docs, llms-full.txt holds the full API reference in one file, and the MCP server gives agents the data itself.

Next steps