Discovery and markets API
One coin's spot markets across exchanges: price, volume, taker buy/sell flow
One coin's spot pairs on centralized exchanges, venue by venue: USD price and, over 1h to 1w, volume split into taker buys and sells, net flow and changes. Keyed by coin ticker.
/api/external/discovery/spot-coin-venues/{symbol}What it returns
Every spot pair of one coin on the centralized venues covered, one row per venue and pair, ordered by 24h volume descending (pairs with no volume last). Each carries its last price in USD and, for the last 1h, 4h, 12h, 24h and 1w, its price change, volume split into taker buys and sells, net flow (buys minus sells) and volume change. symbol is the coin ticker (e.g. "BTC"), matched case-insensitively — not a pair, not a token mint or contract address, and not scoped to any of this API's chains. An unknown ticker, or one with no spot market, answers 404.
Chains
This endpoint is not tied to a chain: it takes no chain in its request.
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/discovery/spot-coin-venues/<symbol>"
| Parameter | Description |
|---|---|
symbolpath · string · required | The coin (base asset) ticker, e.g. "BTC" or "PEPE" — not a pair such as "BTCUSDT" or "BTC/USDT", and not a token mint or contract address. Case-insensitive. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
symbol | string | The ticker as the coin is listed, e.g. "BTC" for "btc". |
markets | object[] | One row per venue and pair, by 24h volume descending. |
markets[].venue | string | The trading venue, e.g. "Binance". |
markets[].pair | string | Base and quote, e.g. "BTC/USDT" or "BTC/KRW". |
markets[].priceUsd | number | null | Last price, converted to USD whatever the quote currency. |
markets[].windows | object | The figures over each trailing window. |
markets[].windows.1h | object | |
markets[].windows.1h.priceChangePercent | number | null | Price change over the window, percent. |
markets[].windows.1h.volumeUsd | number | null | Traded volume over the window, USD. |
markets[].windows.1h.buyVolumeUsd | number | null | Volume from taker buys over the window, USD. |
markets[].windows.1h.sellVolumeUsd | number | null | Volume from taker sells over the window, USD. |
markets[].windows.1h.netFlowUsd | number | null | Taker buys minus taker sells over the window, USD; negative when sellers dominated. |
markets[].windows.1h.volumeChangePercent | number | null | Change of the window's volume against the previous window of the same length, percent. |
markets[].windows.4h | object | |
markets[].windows.4h.priceChangePercent | number | null | Price change over the window, percent. |
markets[].windows.4h.volumeUsd | number | null | Traded volume over the window, USD. |
markets[].windows.4h.buyVolumeUsd | number | null | Volume from taker buys over the window, USD. |
markets[].windows.4h.sellVolumeUsd | number | null | Volume from taker sells over the window, USD. |
markets[].windows.4h.netFlowUsd | number | null | Taker buys minus taker sells over the window, USD; negative when sellers dominated. |
markets[].windows.4h.volumeChangePercent | number | null | Change of the window's volume against the previous window of the same length, percent. |
markets[].windows.12h | object | |
markets[].windows.12h.priceChangePercent | number | null | Price change over the window, percent. |
markets[].windows.12h.volumeUsd | number | null | Traded volume over the window, USD. |
markets[].windows.12h.buyVolumeUsd | number | null | Volume from taker buys over the window, USD. |
markets[].windows.12h.sellVolumeUsd | number | null | Volume from taker sells over the window, USD. |
markets[].windows.12h.netFlowUsd | number | null | Taker buys minus taker sells over the window, USD; negative when sellers dominated. |
markets[].windows.12h.volumeChangePercent | number | null | Change of the window's volume against the previous window of the same length, percent. |
markets[].windows.24h | object | |
markets[].windows.24h.priceChangePercent | number | null | Price change over the window, percent. |
markets[].windows.24h.volumeUsd | number | null | Traded volume over the window, USD. |
markets[].windows.24h.buyVolumeUsd | number | null | Volume from taker buys over the window, USD. |
markets[].windows.24h.sellVolumeUsd | number | null | Volume from taker sells over the window, USD. |
markets[].windows.24h.netFlowUsd | number | null | Taker buys minus taker sells over the window, USD; negative when sellers dominated. |
markets[].windows.24h.volumeChangePercent | number | null | Change of the window's volume against the previous window of the same length, percent. |
markets[].windows.1w | object | |
markets[].windows.1w.priceChangePercent | number | null | Price change over the window, percent. |
markets[].windows.1w.volumeUsd | number | null | Traded volume over the window, USD. |
markets[].windows.1w.buyVolumeUsd | number | null | Volume from taker buys over the window, USD. |
markets[].windows.1w.sellVolumeUsd | number | null | Volume from taker sells over the window, USD. |
markets[].windows.1w.netFlowUsd | number | null | Taker buys minus taker sells over the window, USD; negative when sellers dominated. |
markets[].windows.1w.volumeChangePercent | number | null | Change of the window's volume against the previous window of the same length, percent. |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key