// api reference
001

VolaLabs API v1

REST API for crypto options volatility data. Calibrated SVI surfaces, term structure, and skew — delivered as structured JSON.

Base URLhttps://api.volalabs.de/v1
// authentication
002

All endpoints require an API key passed as a bearer token:

Authorization: Bearer vl_live_xxxxxxxxxxxxxxxxxxxxxxxx

Keys are issued on subscription activation. Rotate via the dashboard.

// rate limits
003
TierRequests / minBurst
Data API60120
Full Platform120240
InstitutionalCustomCustom

Exceeding the limit returns 429 Too Many Requests with a Retry-After header.

// endpoints
004
04.01GET/v1/surfaces/{asset}

Volatility surface

SVI-calibrated implied volatility surface for a given asset. Returns the full strike × expiry grid.

Path parameters

assetstringrequired

BTC or ETH

Query parameters

as_ofISO 8601

Return snapshot at or before this timestamp. Default: latest.

formatstring

delta (default) or strike

Example request

bash
curl -H "Authorization: Bearer vl_live_..." \
  "https://api.volalabs.de/v1/surfaces/BTC"

Example response

json
{
  "asset": "BTC",
  "as_of": "2026-04-30T14:15:00Z",
  "spot": 73420.50,
  "model": "SVI",
  "fit": {
    "atm_rmse": 0.38,
    "wing_25d_rmse": 0.71,
    "wing_10d_rmse": 1.24
  },
  "surface": [
    { "expiry": "2026-05-09", "dte": 9,  "delta": 0.50, "iv": 0.5821 },
    { "expiry": "2026-05-09", "dte": 9,  "delta": 0.25, "iv": 0.6204 },
    { "expiry": "2026-05-09", "dte": 9,  "delta": 0.10, "iv": 0.7156 },
    { "expiry": "2026-05-30", "dte": 30, "delta": 0.50, "iv": 0.5945 }
  ]
}
04.02GET/v1/surfaces/{asset}/point

Surface point

Calibrated IV for a specific point on the surface.

Path parameters

assetstringrequired

BTC or ETH

Query parameters

expiryYYYY-MM-DD

Provide either expiry or dte.

dteinteger

Days to expiry.

delta0.05–0.50

Provide one of delta, strike, or moneyness.

strikenumber

Absolute strike price.

moneynessk = ln(K/F)

Log-moneyness against forward.

Example request

bash
curl -H "Authorization: Bearer vl_live_..." \
  "https://api.volalabs.de/v1/surfaces/BTC/point?dte=30&delta=0.25"

Example response

json
{
  "asset": "BTC",
  "as_of": "2026-04-30T14:15:00Z",
  "expiry": "2026-05-30",
  "dte": 30,
  "delta": 0.25,
  "iv": 0.6312,
  "forward": 73580.20,
  "model": "SVI"
}
04.03GET/v1/term-structure/{asset}

Term structure

ATM forward vol and term structure ratios across standard tenors.

Path parameters

assetstringrequired

BTC or ETH

Example request

bash
curl -H "Authorization: Bearer vl_live_..." \
  "https://api.volalabs.de/v1/term-structure/ETH"

Example response

json
{
  "asset": "ETH",
  "as_of": "2026-04-30T14:15:00Z",
  "term_structure": [
    { "tenor": "7D",   "atm_iv": 0.5421, "ratio_vs_30d": 0.92 },
    { "tenor": "30D",  "atm_iv": 0.5891, "ratio_vs_30d": 1.00 },
    { "tenor": "90D",  "atm_iv": 0.6234, "ratio_vs_30d": 1.06 },
    { "tenor": "180D", "atm_iv": 0.6512, "ratio_vs_30d": 1.11 }
  ]
}
04.04GET/v1/skew/{asset}

Skew & smile

25Δ risk reversal and full smile across delta strikes for the standard tenors.

Path parameters

assetstringrequired

BTC or ETH

Example request

bash
curl -H "Authorization: Bearer vl_live_..." \
  "https://api.volalabs.de/v1/skew/BTC"

Example response

json
{
  "asset": "BTC",
  "as_of": "2026-04-30T14:15:00Z",
  "skew": [
    {
      "tenor": "30D",
      "rr_25d": -0.0312,
      "smile": [
        { "delta": 0.10, "iv": 0.6845 },
        { "delta": 0.25, "iv": 0.6312 },
        { "delta": 0.50, "iv": 0.5891 },
        { "delta": 0.75, "iv": 0.6024 },
        { "delta": 0.90, "iv": 0.6533 }
      ]
    }
  ]
}
// errors
005
400Invalid parameter (bad delta, malformed expiry)
401Missing or invalid API key
404Asset or snapshot not found
429Rate limit exceeded
5xxUpstream calibration or data issue — see status page
// sdks
006

Python and TypeScript clients are in beta. GitHub →