Exchanges
Discover supported exchanges and list their available symbols.
Two endpoints let you discover what markets TAAPI supports at runtime:
GET /exchanges— list all supported exchangesGET /exchanges/{exchange}/symbols— list symbols for a specific exchange
GET /exchanges
Returns all supported exchanges. No parameters. No authentication required.
curl https://v2.taapi.io/exchanges \ -H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch('https://v2.taapi.io/exchanges', {
headers: { Authorization: 'Bearer YOUR_API_KEY' }
});
const exchanges = await res.json();
The response is a list of exchange identifiers. Pass the exact identifier string as the exchange parameter in indicator and candle requests.
[ "binance", "binancefutures", "bybit", "coinbase", "kraken", "kucoin" ]
GET /exchanges/{exchange}/symbols
Returns all trading pairs supported for a given exchange.
| Parameter | Type | Required | Description |
|---|---|---|---|
exchange |
string (path) | Yes | Exchange identifier, e.g. binance, bybit. |
curl https://v2.taapi.io/exchanges/binance/symbols \ -H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch('https://v2.taapi.io/exchanges/binance/symbols', {
headers: { Authorization: 'Bearer YOUR_API_KEY' }
});
const symbols = await res.json();
[ "BTCUSDT", "ETHUSDT", "SOLUSDT", "BNBUSDT", ... ]
Errors
["BTCUSDT", "ETHUSDT", ...]
{ "error": "Exchange not found: unknownexchange" }Symbol format
Use the no-slash format: BTCUSDT. This is the canonical format accepted by all TAAPI endpoints and matches how symbols are returned by GET /exchanges/{exchange}/symbols.
Exchange casing
Exchange identifiers in REST requests are lowercase (e.g. binance, bybit). In WebSocket streaming update messages the subscription key uses uppercase (e.g. BINANCE:BTC/USDT:1m). This is intentional — the casing difference is by design, not a bug.