Perpetuals API
One coin's perpetual taker buying against selling over a window, by venue
A coin's perpetual taker buy and sell volume over the last 5 minutes to 24 hours, in US dollars: the total, the net flow, the buy share as a percent, and one row per venue.
/api/external/perps/derivatives-taker-flow/{symbol}What it returns
One coin's perpetual volume from taker buys and from taker sells over the last 5 minutes to 24 hours, in US dollars: the aggregate, the difference (net flow), the buy share as a percent, and one row per venue, busiest first. The aggregate is the exact sum of the rows, but it covers 22 venues rather than every one: for BTC over 24 hours it read about 7 % below what derivatives-taker-flow-history sums across every venue, so it is not a market total — read it for direction and balance. A venue with no market for the coin is left out rather than reported as zero volume. 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 answer may be served from a cache up to a few minutes old. A ticker that is not listed, or a listed coin with no perpetual flow in the window, 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/perps/derivatives-taker-flow/<symbol>"
| Parameter | Description |
|---|---|
rangequery · string · optional | The trailing window ending now: 5m, 15m, 30m, 1h, 4h, 12h or 24h. Defaults to 24h.5m15m30m1h4h12h24h |
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 ticker as the coin is listed, e.g. "BTC" for "btc". |
range | string | The trailing window the figures cover. |
buyVolumeUsd | number | null | Volume from taker buys over the window, USD. null when not stated. |
sellVolumeUsd | number | null | Volume from taker sells over the window, USD. null when not stated. |
netFlowUsd | number | null | Taker buys minus taker sells over the window, USD; negative when sellers dominated. null when either side is unknown. |
buyPercent | number | null | Taker buys as a percent of both sides together: 49.48 means 49.48 %, so above 50 means buyers led. null when not stated. |
venues | object[] | One row per venue that traded the coin in the window, by total volume descending. Venues with no market for the coin are absent, so this array can be much shorter than the venue list. |
venues[].venue | string | The venue, e.g. "Binance" or "Hyperliquid". |
venues[].buyVolumeUsd | number | null | Volume from taker buys over the window, USD. null when not stated. |
venues[].sellVolumeUsd | number | null | Volume from taker sells over the window, USD. null when not stated. |
venues[].netFlowUsd | number | null | Taker buys minus taker sells over the window, USD; negative when sellers dominated. null when either side is unknown. |
venues[].buyPercent | number | null | Taker buys as a percent of both sides together: 49.48 means 49.48 %, so above 50 means buyers led. null when not stated. |
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