Skip to main content
GET
/
options
/
iv
/
term-structure
ATM IV by tenor
curl --request GET \
  --url https://api.example.com/options/iv/term-structure \
  --header 'X-API-Key: <api-key>'
{
  "data": {
    "expiries": [
      "<string>"
    ],
    "dtes": [
      123
    ],
    "days_to_expiry": [
      123
    ],
    "atm_iv": [
      123
    ],
    "ts": "<string>",
    "spot_price": 123,
    "filtered_dte_window": {},
    "compare": {
      "days_ago": 123,
      "target_date": "<string>",
      "historical": [
        {
          "dte_bucket": 123,
          "ts": "<string>",
          "atm_iv": 123
        }
      ],
      "shape": "<string>",
      "matched_count": 123,
      "available": true,
      "reason": "<string>"
    }
  },
  "meta": {
    "version": "<string>",
    "timestamp": "<string>",
    "request_id": "<string>",
    "symbol": "<string>",
    "spot_price": 123,
    "computed_at": "<string>",
    "freshness_seconds": 123,
    "source": [
      "<string>"
    ],
    "exchanges_filtered": [
      "<string>"
    ],
    "rate_limit": {},
    "extra": {}
  },
  "success": true
}

Documentation Index

Fetch the complete documentation index at: https://docs.backquant.com/llms.txt

Use this file to discover all available pages before exploring further.

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
exchanges
string | null

Comma-separated venue filter

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