Skip to main content
GET
ATM IV by tenor
ATM IV per active expiration. Filter ?dte_max for front-of-curve, or ?historical_compare_days=N for today vs N days ago overlay.

See also

IV suite

Authorizations

X-API-Key
string
header
required

Your BackQuant API key (same key as v1)

Headers

X-API-Key
string | null

Query Parameters

symbol
enum<string>
default:BTCUSDT

Trading symbol: BTCUSDT, ETHUSDT, SOLUSDT, or HYPEUSDT.

Available options:
BTCUSDT,
ETHUSDT,
SOLUSDT,
HYPEUSDT
as_of
string | null

ISO-8601 instant to answer as of, e.g. 2026-08-20T14:30:00Z. Omit for the current value. Resolves to the nearest chain snapshot AT OR BEFORE the requested time (never after, which would be look-ahead bias); the snapshot actually used and the lag are reported in meta.extra.as_of. Under positioning=flow the dealer flow map is rebuilt from the tape as it stood at that instant, so a given timestamp always returns the same numbers. Bounded by your plan's history window.

exchanges
string | null

Comma-separated venue filter, e.g. deribit,bybit. Restricts the response to those venues' contribution, recomputed from the per-venue breakdown - it is a re-aggregation, not a post-hoc scaling. Unknown names are ignored; an all-invalid filter returns every venue rather than nothing. Venues: deribit, bybit, okx, binance, derive, thalex, delta_india, delta. A venue with no contracts on the surface contributes zero - use GET /v2/status to tell that apart from a venue that is switched off.

dte_max
integer | null

Drop tenors with DTE greater than this value.

Required range: 0 <= x <= 720
historical_compare_days
integer | null

Days back for historical CMT IV comparison (1-365).

Required range: 1 <= x <= 365

Response

Successful Response

data
IvTermStructureData · object
required

The shape varies slightly by collector version - we document the fields we know about and leave room for additional ones via extra=allow.

meta
V2Meta · object
required

The meta block returned alongside every v2 response.

Every field after version/timestamp is optional because endpoints attach different combinations - e.g. /v2/status skips symbol, the chain endpoint sets extra.filter_hash, etc. Listing them here means SDKs get a typed accessor for each instead of a generic meta: dict.

success
boolean
default:true