Perpetuals API
One coin's taker buy and sell volume on perps, summed across venues, over time
A coin's perpetual taker buy and taker sell volume summed across venues, with the net, in USD per bucket from one minute to one week wide. Perpetuals only, not spot.
/api/external/perps/derivatives-taker-flow-history/{symbol}What it returns
One coin's derivatives taker flow over time: the US-dollar volume that takers bought (market buys, lifting the offer) and sold (market sells, hitting the bid) on the coin's perpetuals, summed across every tracked derivatives venue that lists the coin, per time bucket, oldest first, with the net of the two. Perpetuals only: not spot, and not dated futures. Its running sum from the first returned bucket is the cumulative volume delta over that window. The series starts at the coin's first traded bucket; after it, a side on which no taker traded states 0. The newest bucket is normally the one still in progress when the figures were read (complete: false, its figures still growing); it counts toward limit. An answer may be served from a cache up to a few minutes old. symbol is the coin ticker (e.g. "BTC"), matched case-insensitively — not an instrument id, not a token mint or contract address, and not scoped to any of this API's chains. An unknown ticker answers 404. With venue and instrument (both or neither) the answer is that one market's own taker flow instead, in the same shape and unit, with venue and instrument echoed.
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/perps/derivatives-taker-flow-history/<symbol>"
| Parameter | Description |
|---|---|
intervalquery · string · optional | Bucket width. Defaults to one day.1m3m5m15m30m1h4h6h8h12h1d1w |
limitquery · integer · optional | How many of the most recent buckets to return, the one in progress included, 1 to 1000. Defaults to 100. Fewer come back when the coin's history is shorter or a bucket carries no figures. limit ≤ 250 keeps the answer under 32 KB. |
venuequery · string · optional | Together with instrument: the exchange whose taker flow to answer instead of the total across venues, as derivatives-coin-venues names it (e.g. "Binance", "OKX", "Bybit", "Hyperliquid"), matched ignoring case. |
instrumentquery · string · optional | Together with venue: the exchange's own instrument id, as instrument in derivatives-coin-venues rows (e.g. "BTCUSDT" on Binance, "BTC-USDT-SWAP" on OKX, "BTC-USD" on Hyperliquid). It must trade the coin in the path. |
symbolpath · string · required | The coin (base asset) ticker, e.g. "BTC" or "kPEPE" — not a venue instrument id such as "BTCUSDT", 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, spelled as it is listed (e.g. "BTC", "kPEPE"). |
venue | string | Only with venue and instrument: the exchange, as it names itself. Absent from the answer across venues. |
instrument | string | Only with venue and instrument: the exchange's instrument id, as it lists it. |
interval | string | The bucket width. |
buckets | object[] | Oldest first, from the coin's first traded bucket. |
buckets[].at | number | The bucket's open, unix seconds. |
buckets[].buyUsd | number | null | Volume bought by takers in the bucket, summed across venues, US dollars. null when not stated. |
buckets[].sellUsd | number | null | Volume sold by takers in the bucket, summed across venues, US dollars. null when not stated. |
buckets[].netUsd | number | null | buyUsd minus sellUsd, US dollars, rounded to 4 decimal places; negative when takers sold more. null unless both are stated. |
buckets[].complete | boolean | Whether the figures are final. false only on the newest bucket, which was still in progress when its figures were read. |
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