Perpetuals API
What is this derivatives exchange, and what does it list?
One futures/perpetuals exchange: open interest, 24h volume, founding year, country, and every market it lists by open interest, with price, funding and last trade.
/api/external/perps/derivatives-venue/{venue}What it returns
One futures and perpetuals exchange: its open interest and 24h volume in BTC and USD, founding year, country, how many perpetual and dated-future markets it lists, and those markets largest open interest first, each with price, funding, open interest, 24h volume and when it last traded. Ask by the exchange's id (e.g. "binance_futures", "okex_swap", "hyperliquid") or by the name derivatives-venues rows carry (e.g. "Binance", "OKX"), in any case; a name that fits more than one exchange is a 400 listing their ids. A few names in that ranking group markets their own way and have no single exchange here (e.g. "tradeXYZ", builder markets that belong to Hyperliquid): those are a 404, so ask by id. The counts are of the markets listed, not a total claimed elsewhere; markets carries at most limit of them. USD figures for the exchange are its BTC figures at the BTC/USD rate its own markets imply. Funding intervals are not stated and differ by exchange, so compare funding within one exchange only. No chain.
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-venue/<venue>"
| Parameter | Description |
|---|---|
limitquery · integer · optional | How many markets to return, largest open interest first (default 100). The counts always cover every market, whatever the limit. limit ≤ 100 keeps the answer under 32 KB. |
venuepath · string · required | A derivatives exchange, by its directory id (e.g. "binance_futures", "hyperliquid") or by its name as venue in derivatives-venues rows (e.g. "Binance"), in any case — not a spot venue id, 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 exchange's id, whatever spelling was asked for. |
name | string | null | Display name. |
openInterestBtc | number | null | Open interest across the exchange, in BTC. 0 is a real reading. |
openInterestUsd | number | null | The same, in USD at the BTC/USD rate the exchange's own markets imply. Null when no market is priced. |
volumeBtc24h | number | null | Trailing 24h volume across the exchange, in BTC. 0 is a real reading. |
volumeUsd24h | number | null | The same, in USD at the implied rate. Null when no market is priced. |
yearEstablished | integer | null | Year the exchange was founded. Null when not stated. |
country | string | null | Country the exchange is registered in. Null when not stated. |
url | string | null | The exchange's own website. |
perpetualCount | integer | Perpetual markets listed. |
futuresCount | integer | Dated-future markets listed (markets with an expiry). |
marketCount | integer | Every market listed. Can exceed the two counts above: a market whose type is unknown is in neither. |
markets | object[] | The markets, largest open interest first; unstated last. |
markets[].symbol | string | The venue's own instrument symbol, e.g. "BTCUSDT" or "BTC-PERPETUAL". |
markets[].base | string | null | The traded asset, as the venue writes it. |
markets[].target | string | null | The quote asset, as the venue writes it. |
markets[].baseCoinId | string | null | The traded asset's coin id, as id in coin rows elsewhere on this API. Null when unmapped — as it is for most stock-linked contracts. |
markets[].contractType | string | null | futures exactly when the market has an expiry (expiresAt); perpetual when it has none. Null when the market is described as a future but has no expiry, which is true of most stock-linked contracts on at least one major venue — some of them pay funding, like a perpetual. |
markets[].expiresAt | string | null | When a dated future expires (ISO 8601). Null on every market without an expiry. |
markets[].price | number | null | Last price, in units of target. Null when not stated, including when stated as 0. |
markets[].fundingRatePercent | number | null | Funding in percent, per the venue's own settlement interval, which is not stated and differs between venues (hourly on some, eight-hourly on others) — compare within one venue only. Rounded to three decimals, so 0 means a rate under 0.0005% either way. Null on a dated future, which has no funding. |
markets[].openInterestUsd | number | null | Open interest in USD. Null when not stated, including when stated as 0. |
markets[].volumeUsd24h | number | null | Trailing 24h volume in USD. 0 is a real reading. |
markets[].lastTradedAt | string | null | When the market last traded (ISO 8601). Listed markets can be weeks or months idle; read this before trusting a price. |
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