Discovery and markets API
What is this spot exchange, and what does it trade?
One spot exchange: centralized or on-chain, trust score, 24h volume, country, and its 100 largest markets with price, volume and spread. Addressed by id; no chain.
/api/external/discovery/spot-venue/{id}What it returns
One spot exchange, by the id spot-venues lists: whether it is centralized or on-chain, its 1-10 trust score and rank, 24h volume in BTC and USD, country, founding year, how many assets and markets it lists, and its 100 largest markets by 24h USD volume with price, volume and bid/ask spread. pairCount is every market the venue lists; markets carries at most 100 of them, and a venue can list none. An id that names no venue returns 404, never a body of nulls.
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-venue/<id>"
| Parameter | Description |
|---|---|
idpath · string · required | A spot exchange's id, e.g. "binance", as id in spot-venues rows — not a token mint or contract address, and not scoped to any chain this API otherwise supports. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
id | string | The id asked for, as sent. Matching is case-insensitive. |
name | string | null | Display name. |
centralized | boolean | null | False for an on-chain exchange (a DEX). Null when not stated. |
trustScore | integer | null | Trust score from 1 (worst) to 10 (best). |
trustRank | integer | null | Rank by trust, 1 = most trusted. |
volumeBtc24h | number | null | Trailing 24h spot volume, in BTC. 0 is a real reading for an idle venue. |
volumeUsd24h | number | null | The same volume in USD, at the BTC/USD rate the venue's own markets imply. Null when no market is priced. |
yearEstablished | integer | null | Year the venue was founded. Null when not stated. |
country | string | null | Country the venue is registered in. Null when not stated. |
hasTradingIncentive | boolean | null | Whether the venue pays traders to trade, which inflates its volume. Null when not stated. |
url | string | null | The venue's own website. |
coinCount | integer | null | How many assets the venue lists. |
pairCount | integer | null | How many markets the venue lists, of which markets carries at most 100. |
markets | object[] | The largest markets, largest 24h USD volume first. |
markets[].base | string | The traded asset as the venue writes it. On an on-chain venue this is the token address in UPPER CASE, which is not a usable Solana address: use baseCoinId to identify the asset. |
markets[].target | string | The quote asset, written the same way as base. |
markets[].baseCoinId | string | null | The traded asset's coin id, as id in coin rows elsewhere on this API. Null when unmapped. |
markets[].targetCoinId | string | null | The quote asset's coin id. Null for a fiat quote or when unmapped. |
markets[].price | number | null | Last price, in units of target. |
markets[].priceUsd | number | null | Last price of one base, in USD. |
markets[].volumeBase24h | number | null | Trailing 24h volume, in units of base. |
markets[].volumeUsd24h | number | null | Trailing 24h volume, in USD. |
markets[].spreadPercent | number | null | Bid/ask spread in percent: 0.01 means 0.01 %. |
markets[].isAnomaly | boolean | null | The price is flagged as an outlier against other venues. |
markets[].isStale | boolean | null | The price is flagged as not updated recently. |
markets[].lastTradedAt | string | null | When the market last traded (ISO 8601). |
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