TradePortfolio
DocsSurface History

Surface History

Dev

GET /options/surface-history


Full options volatility surface history for one supported exchange — all strikes and expiries for every hour in the requested window. Returns a nested structure keyed by hour, then by option instrument. The most data-intensive options endpoint; designed for volatility surface modeling, smile fitting, and historical vol research.

Authentication

Requires Dev tier or higher. Dev: up to 30 days (range=30d). Pro and Team: full stored history. Supported pairs: BTC/ETH on Deribit, Binance, Bybit, OKX, and Derive; HYPE on Deribit/Derive; SOL/XRP on Deribit/Binance/Bybit/Derive; DOGE on Binance/Bybit; BNB on Binance; ZEC on Derive.

Parameters

Query parameters

NameTypeRequiredDescription
symbolstringBTC, ETH, HYPE, SOL, ZEC, XRP, DOGE, or BNB. Supported venues vary by symbol. Defaults to BTC.
exchangestringderibit, binance, bybit, okx, or derive.
rangestringDay lookback such as 7d, 30d, 90d, or a larger Nd window for Pro/Team. Defaults to 30d. Legacy days is accepted until July 21, 2026.

Example request

bash
curl -H "X-Api-Key: lk_live_your_key_here" \
  "https://api.loris.tools/options/surface-history?symbol=BTC&exchange=deribit&range=7d"

Example response

json
{
  "symbol": "BTC",
  "exchange": "deribit",
  "range": "7d",
  "days": 7,
  "hours": ["2026-06-01T00:00:00Z", "2026-06-01T01:00:00Z"],
  "snapshots": {
    "2026-06-01T00:00:00Z": [
      {
        "expiry": "2026-06-27T08:00:00Z",
        "strike": 65000,
        "side": "call",
        "iv": 0.742,
        "underlying_price": 69800.00,
        "open_interest": 412
      },
      {
        "expiry": "2026-06-27T08:00:00Z",
        "strike": 70000,
        "side": "call",
        "iv": 0.718,
        "underlying_price": 69800.00,
        "open_interest": 1842
      }
    ]
  }
}

Errors

  • 400 invalid range.
  • 403 range exceeds your tier's limit. Dev: 30d max.

For authentication errors (401) and rate limit responses (429), see Errors.

Related