Skip to main content
Loading market data…
GET/api/v1/options/{underlying}/iv-rankStandard tier+ · 300 req/min

IV RANK — where today's ATM IV sits in its rolling N-day range.

0 = lowest in the window, 100 = highest. ATM samples are pulled per-snapshot as the strike nearest to that snapshot's underlying price.

Path parameters

Segments of the URL path, validated server-side.

NameTypeRequiredDefaultDescription
underlyingenumrequired
BTC or ETH.
BTCETH

Query parameters

All query parameters are optional unless marked required.

NameTypeRequiredDefaultDescription
windowDaysnumberoptional365
Lookback window (7-1825).

Response shape

Always wrapped in the standard envelope. Nullable fields are explicitly marked — treat missing numeric data as a real data-source gap, not as an error.

data payloadtypescript
// Wrapped in the standard envelope:
// {
//   data: /* shape below */,
//   meta?: { total?: number; limit?: number; offset?: number; ... }
// }

{ underlying, currentIv, minIv, maxIv, rankPct, windowDays, sampleCount, asOf }

Example

Copy the curl, replace YOUR_KEY with a real key from your dashboard, and run.

Requestbash
curl -sS "http://localhost:3000/api/v1/options/BTC/iv-rank?windowDays=180"
Responsejson
{ "data": { "underlying": "BTC", "currentIv": 58, "minIv": 42, "maxIv": 92, "rankPct": 32, "windowDays": 180, "sampleCount": 3120, "asOf": 1744834800000 } }

Next

Check the error code reference, or get an API key to try the request against your own account.