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.

GET/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>"
Parameters
ParameterDescription
symbol

path · 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.

Response fields of One coin's spot markets across exchanges: price, volume, taker buy/sell flow
FieldTypeDescription
symbolstringThe ticker as the coin is listed, e.g. "BTC" for "btc".
marketsobject[]One row per venue and pair, by 24h volume descending.
markets[].venuestringThe trading venue, e.g. "Binance".
markets[].pairstringBase and quote, e.g. "BTC/USDT" or "BTC/KRW".
markets[].priceUsdnumber | nullLast price, converted to USD whatever the quote currency.
markets[].windowsobjectThe figures over each trailing window.
markets[].windows.1hobject
markets[].windows.1h.priceChangePercentnumber | nullPrice change over the window, percent.
markets[].windows.1h.volumeUsdnumber | nullTraded volume over the window, USD.
markets[].windows.1h.buyVolumeUsdnumber | nullVolume from taker buys over the window, USD.
markets[].windows.1h.sellVolumeUsdnumber | nullVolume from taker sells over the window, USD.
markets[].windows.1h.netFlowUsdnumber | nullTaker buys minus taker sells over the window, USD; negative when sellers dominated.
markets[].windows.1h.volumeChangePercentnumber | nullChange of the window's volume against the previous window of the same length, percent.
markets[].windows.4hobject
markets[].windows.4h.priceChangePercentnumber | nullPrice change over the window, percent.
markets[].windows.4h.volumeUsdnumber | nullTraded volume over the window, USD.
markets[].windows.4h.buyVolumeUsdnumber | nullVolume from taker buys over the window, USD.
markets[].windows.4h.sellVolumeUsdnumber | nullVolume from taker sells over the window, USD.
markets[].windows.4h.netFlowUsdnumber | nullTaker buys minus taker sells over the window, USD; negative when sellers dominated.
markets[].windows.4h.volumeChangePercentnumber | nullChange of the window's volume against the previous window of the same length, percent.
markets[].windows.12hobject
markets[].windows.12h.priceChangePercentnumber | nullPrice change over the window, percent.
markets[].windows.12h.volumeUsdnumber | nullTraded volume over the window, USD.
markets[].windows.12h.buyVolumeUsdnumber | nullVolume from taker buys over the window, USD.
markets[].windows.12h.sellVolumeUsdnumber | nullVolume from taker sells over the window, USD.
markets[].windows.12h.netFlowUsdnumber | nullTaker buys minus taker sells over the window, USD; negative when sellers dominated.
markets[].windows.12h.volumeChangePercentnumber | nullChange of the window's volume against the previous window of the same length, percent.
markets[].windows.24hobject
markets[].windows.24h.priceChangePercentnumber | nullPrice change over the window, percent.
markets[].windows.24h.volumeUsdnumber | nullTraded volume over the window, USD.
markets[].windows.24h.buyVolumeUsdnumber | nullVolume from taker buys over the window, USD.
markets[].windows.24h.sellVolumeUsdnumber | nullVolume from taker sells over the window, USD.
markets[].windows.24h.netFlowUsdnumber | nullTaker buys minus taker sells over the window, USD; negative when sellers dominated.
markets[].windows.24h.volumeChangePercentnumber | nullChange of the window's volume against the previous window of the same length, percent.
markets[].windows.1wobject
markets[].windows.1w.priceChangePercentnumber | nullPrice change over the window, percent.
markets[].windows.1w.volumeUsdnumber | nullTraded volume over the window, USD.
markets[].windows.1w.buyVolumeUsdnumber | nullVolume from taker buys over the window, USD.
markets[].windows.1w.sellVolumeUsdnumber | nullVolume from taker sells over the window, USD.
markets[].windows.1w.netFlowUsdnumber | nullTaker buys minus taker sells over the window, USD; negative when sellers dominated.
markets[].windows.1w.volumeChangePercentnumber | nullChange 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