Discovery and markets API

Where does this coin trade, and how deep and liquid is each market?

Every spot market of one coin, centralized and on-chain, by 24h volume: venue, pair, price, volume, spread and 2% depth, with outlier and stale flags. Paged.

GET/api/external/discovery/coin-markets

What it returns

Every spot market one coin trades on, centralized exchanges and on-chain venues alike, 100 per page, largest 24h USD volume first: the venue, the pair, the last price (in the quote and in USD), 24h volume, bid-ask spread, the USD depth that moves the price 2% either way, and whether the market is flagged as an outlier or stale. The coin is a coin id (bitcoin, pepe), the one coin answers. Ask the next page for more; a page past the last is empty. An unknown coin returns 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/coin-markets"
Parameters
ParameterDescription
coin

query · string · optional

The coin, by coin id, e.g. bitcoin, pepe, bonk. Defaults to bitcoin.
page

query · integer · optional

Which page of 100 markets, from 1. Defaults to 1.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of Where does this coin trade, and how deep and liquid is each market?
FieldTypeDescription
coinstringThe coin answered, by coin id, lowercase.
pageintegerThe page answered.
marketsobject[]Up to 100 markets, largest 24h USD volume first. Empty past the last page.
markets[].venueIdstring | nullThe venue id, e.g. binance, okex; the subject of spot-venue for a centralized venue.
markets[].venueNamestringThe venue name, e.g. Binance, Raydium.
markets[].basestring | nullThe base side of the pair, e.g. PEPE; on an on-chain venue the token address (EVM lowercased). Null for a Solana token whose address is not known exactly: baseCoinId still names it.
markets[].targetstring | nullThe quote side of the pair, e.g. USDT; on an on-chain venue the token address (EVM lowercased, the zero address for the native coin). Null for a Solana token whose address is not known exactly: targetCoinId still names it.
markets[].baseCoinIdstring | nullThe base side, by coin id.
markets[].targetCoinIdstring | nullThe quote side, by coin id. Null for a fiat quote.
markets[].pricenumber | nullLast price, in the quote currency.
markets[].priceUsdnumber | nullLast price, in USD. Sub-cent prices come rounded to 3 significant figures; price is not rounded.
markets[].volumeBase24hnumber | null24h volume, in base-currency units.
markets[].volumeUsd24hnumber | null24h volume, in USD.
markets[].spreadPercentnumber | nullBid-ask spread, in percent (0.01 = 0.01%).
markets[].depthPlus2PercentUsdnumber | nullUSD of asks that must be bought to move the price 2% up. Null when not known.
markets[].depthMinus2PercentUsdnumber | nullUSD of bids that must be sold into to move the price 2% down. Null when not known.
markets[].isAnomalyboolean | nulltrue when the price is flagged as an outlier against the other markets.
markets[].isStaleboolean | nulltrue when the market has not traded recently.
markets[].lastTradedAtstring | nullLast trade, ISO-8601 UTC.

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