Discovery and markets API

Volume footprint for one coin on one exchange: taker buys and sells by price

A coin's taker buy and sell volume in each price bucket inside each candle, on one exchange's futures or spot market, in coin units, US dollars and trade counts. Keyed by coin ticker.

GET/api/external/discovery/volume-footprint/{symbol}

What it returns

A volume footprint (a footprint chart's data): inside each candle, the taker buy and taker sell volume that traded in each price bucket of one coin's market on one exchange, oldest candle first. market picks perpetual futures or spot; futures on Binance, OKX, Bybit or Hyperliquid, spot on Binance, OKX, Bybit or Coinbase. instrument names the exchange's instrument, else the main USD-margined perpetual or USDT pair (USD on Coinbase) for the coin. Each level is [priceLow, priceHigh, buyQuantity, sellQuantity, buyUsd, sellUsd, buyTrades, sellTrades]: quantities in units of the coin, values in US dollars, trade counts; the bucket width is the exchange data's own (e.g. 5 US dollars for bitcoin on one-hour candles). buyUsd and sellUsd on the candle sum its levels. A candle with no recorded footprint has levels, buyUsd and sellUsd null — not zero volume. The newest candle is normally still trading (complete: false). An answer may be served from a cache up to a few minutes old. An instrument that is not recorded 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/volume-footprint/<symbol>"
Parameters
ParameterDescription
market

query · string · optional

futures (perpetual futures trades) or spot. Defaults to futures.futuresspot
venue

query · string · optional

The exchange, spelled as listed: Binance, OKX, Bybit or Hyperliquid for futures; Binance, OKX, Bybit or Coinbase for spot. Defaults to Binance.BinanceOKXBybitHyperliquidCoinbase
interval

query · string · optional

The candle width. Defaults to one hour.1m15m1h4h1d
limit

query · integer · optional

How many of the most recent candles to return, the one still trading included, 1 to 100. Defaults to 24.
instrument

query · string · optional

The exchange's instrument id, e.g. "BTCUSDT" on Binance or Bybit, "BTC-USDT-SWAP" (futures) or "BTC-USDT" (spot) 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.
symbol

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

Response fields of Volume footprint for one coin on one exchange: taker buys and sells by price
FieldTypeDescription
symbolstringThe coin ticker, upper-cased.
marketstringfutures or spot.
venuestringThe exchange.
instrumentstringThe exchange's instrument id the trades are of.
intervalstringThe candle width.
candlesobject[]Oldest first.
candles[].atnumberThe candle's open, unix seconds.
candles[].completebooleanWhether the candle has closed. false only on the newest, when it was still trading as the figures were read.
candles[].buyUsdnumber | nullTaker buys in the candle, all levels, US dollars; null when no footprint was recorded for it.
candles[].sellUsdnumber | nullTaker sells in the candle, all levels, US dollars; null when no footprint was recorded for it.
candles[].levelsnumber[][] | null[priceLow, priceHigh, buyQuantity, sellQuantity, buyUsd, sellUsd, buyTrades, sellTrades] per price bucket, lowest price first: taker buys and sells that traded from priceLow up to priceHigh, in units of the coin, in US dollars, and as counts of trades. null when no footprint was recorded for the candle.

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