Discovery and markets API
Order book heatmap brief: largest resting bids and asks over time
A coin's largest resting bid and ask in each snapshot on one exchange, and the newest snapshot's biggest walls. A few KB.
/api/external/discovery/orderbook-heatmap-brief/{symbol}What it returns
The brief of orderbook-heatmap; prefer it unless you need every cell. Same parameters, defaults and 400s/404s. It keeps the market identity, cellCount, capped and maxQuantity, gives every snapshot its best bid and ask plus its largest listed bid and ask, and lists the newest snapshot's 10 largest bids and asks. Sizes are in units of the coin. When capped is true only the largest cells were listed, so a snapshot can lack its smaller levels.
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/orderbook-heatmap-brief/<symbol>"
| Parameter | Description |
|---|---|
marketquery · string · optional | futures (the perpetual futures book) or spot. Defaults to futures.futuresspot |
venuequery · string · optional | The exchange, spelled as listed: Binance, OKX or Hyperliquid for futures; Binance or Coinbase for spot. Defaults to Binance.BinanceOKXHyperliquidCoinbase |
intervalquery · string · optional | Spacing between snapshots. Defaults to one hour.1m15m1h4h1d |
rangequery · number · optional | The band kept, in percent either side of each snapshot's mid price. Defaults to 2.0.5125102550 |
limitquery · integer · optional | How many of the most recent snapshots to return, the live one included, 1 to 100. Defaults to 24. |
instrumentquery · string · optional | The exchange's instrument id, e.g. "BTCUSDT" on Binance, "BTC-USDT-SWAP" on OKX, "BTC-USD" on Hyperliquid or Coinbase. Sent as given. Omitted: the main USD-margined perpetual (futures) or USDT pair (USD on Coinbase) for the coin. |
symbolpath · string · required | The coin (base asset) ticker, e.g. "BTC" or "ETH" — not a venue instrument id such as "BTCUSDT" (that goes in instrument), 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 coin ticker, upper-cased. |
market | string | The book: futures or spot. |
venue | string | The exchange. |
instrument | string | The exchange's instrument id the book is of. |
interval | string | The spacing between snapshots. |
rangePct | number | The band kept, in percent either side of each snapshot's mid price. |
snapshots | object[] | Every snapshot of the full answer, oldest first, with its largest listed bid and ask. |
snapshots[].at | number | When the book was recorded, unix seconds. |
snapshots[].bestBid | number | null | The highest bid in the recorded book; null when it had none. |
snapshots[].bestAsk | number | null | The lowest ask in the recorded book; null when it had none. |
snapshots[].complete | boolean | Whether the snapshot is final. false only on the newest, the live book when the figures were read. |
snapshots[].largestBid | object | null | The snapshot's listed bid with the most quantity; null when it lists none. |
snapshots[].largestBid.price | number | The price, in the instrument's quote currency. |
snapshots[].largestBid.quantity | number | Resting orders at that price, in units of the coin. |
snapshots[].largestAsk | object | null | The snapshot's listed ask with the most quantity; null when it lists none. |
snapshots[].largestAsk.price | number | The price, in the instrument's quote currency. |
snapshots[].largestAsk.quantity | number | Resting orders at that price, in units of the coin. |
bidWalls | object[] | The newest snapshot's 10 largest listed bids, most quantity first. Empty when it lists none. |
bidWalls[].price | number | The price, in the instrument's quote currency. |
bidWalls[].quantity | number | Resting orders at that price, in units of the coin. |
askWalls | object[] | The newest snapshot's 10 largest listed asks, most quantity first. Empty when it lists none. |
askWalls[].price | number | The price, in the instrument's quote currency. |
askWalls[].quantity | number | Resting orders at that price, in units of the coin. |
cellCount | number | Non-zero cells within the band, both sides, before any were dropped. |
capped | boolean | true when the map had more cells than one response carries and only the largest by US dollar value are listed. |
maxQuantity | number | null | The largest listed cell, in units of the coin — the top of the colour scale; null when there is no cell. |
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