Perpetuals API

One coin's options open interest or volume over time, per venue

A coin's options open interest (or volume) at each bucket, one series per venue, oldest first, with the coin's price alongside.

GET/api/external/perps/options-history/{symbol}

What it returns

One coin's OPTIONS market over time, one series per venue, oldest first: metric=open-interest (default) answers the open positions at each bucket, in US dollars or in the coin's own units; metric=volume answers the options volume traded, which exists daily and in US dollars only. at, price and every venue's values are aligned point for point, so values[i] is the figure at at[i]. Only the handful of coins with a listed options market answer; every other well-formed ticker is a 404. This is options, not perpetual futures: derivatives-open-interest-history answers the same question for futures, and options-markets answers this one for right now. symbol is the coin ticker, matched case-insensitively — not an instrument id, not a token mint or contract address, and not scoped to any of this API's chains.

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/options-history/<symbol>"
Parameters
ParameterDescription
metric

query · string · optional

Which series to answer: the open positions at each bucket, or the volume traded in it. volume exists only as interval=1d and unit=usd; asking for it in any other bucket or unit is a 400 rather than a quietly different answer.open-interestvolume
interval

query · string · optional

Bucket width: exactly the widths the source publishes. Defaults to one day, which is the full daily history back to 2020; the shorter widths answer about 30 recent buckets.1h4h12h1d
limit

query · integer · optional

How many of the most recent buckets to return, 1 to 1000. Defaults to 100. Fewer come back when the coin's history is shorter.
unit

query · string · optional

US dollars, or the coin's own units (contracts). Defaults to US dollars.usdcoin
symbol

path · string · required

The coin (base asset) ticker, e.g. "BTC", "ETH" or "SOL" — not an instrument id such as "BTC-27JUN25-100000-C", 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 One coin's options open interest or volume over time, per venue
FieldTypeDescription
symbolstringThe coin, upper-cased (e.g. "BTC").
metricstringThe series answered.
intervalstringThe bucket width.
unitstringThe unit every value is in.
atinteger[]Bucket opens in unix SECONDS, oldest first. The newest is the last CLOSED bucket.
pricenumber[]The coin's price in US dollars at each bucket, aligned with at. The same series under either unit — measured, not assumed.
venuesobject[]One series per venue, ordered by the newest figure it states INSIDE this window, descending; a venue that states none in it comes last, with its values all null. Which venues appear does not depend on limit: a venue that states nothing anywhere in the coin's history is left out, and every other one always appears.
venues[].venuestringThe options venue, e.g. "Deribit" or "CME".
venues[].valuesnumber[]The figure at each bucket, in unit, aligned with at.

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