Skip to main content
The Options Tape API is BackQuant’s multi-venue, real-time and historical record of every options trade we observe. The same canonical payload powers both a cursor-paginated REST history and a live WebSocket stream. If you’re scoring methodologies, building flow dashboards, or running execution analytics, this is the surface to integrate against.

What’s in it

  • Every trade, normalised — venue / coin / instrument / strike / expiry / direction / amount / price / index price / IV (when present) / premium in USD / block-trade flag / ms timestamp.
  • 4 venues ingested continuously (see Venue coverage).
  • 5-year retention in the persistence layer — backfill of pre-2026-05-17 history is available on request via our archive partner.
  • Sub-second freshness on the WebSocket; REST /recent reflects the latest trade as soon as it lands in Postgres (~200ms after the venue WS emits it).
  • Filters for venue, instrument, option type, strike range, premium minimum, and derived tags (0dte, atm, whale).

REST endpoints

WebSocket broadcaster

Venue coverage

VenueSourceLatency to tapeCoverage
DeribitNative public WebSocket< 200 msFull BTC + ETH chains, every trade
BybitNative public WebSocket (publicTrade.{coin}.option)< 200 msFull BTC + ETH option chains
OKXNative public WebSocket (option-trades channel, BTC-USD + ETH-USD instFamilies)< 200 msEvery trade on listed BTC + ETH instruments
BinanceREST polling — eapi.binance.com/eapi/v1/trades for the top-30 most-active BTC + ETH contracts every 30 s~ 30 sTop-volume strikes only (~95% of total Binance options volume)
Binance polls the most-active contracts rather than every instrument because the Binance options public WS endpoint is not reachable from our infrastructure. The hot-contract list refreshes every 5 minutes by 24-hour volume.

Coins

  • BTC and ETH are fully covered across all four venues.
  • SOL and HYPE are accepted by the API schema (some venues are starting to list them) but coverage is currently thin to non-existent. Filter for those at your own risk.

Tape coverage vs derived metrics

SurfaceLive?History?
Tape (this section)✅ live, multi-venue✅ 5y persisted, cursor-paginated
GEX / IV / levels / greeks profiles (Options API)✅ refreshed 30 s–5 minRolling ~24 h in Redis; forward-only Postgres history accumulating since 2026-05-29
Probability density / Expected move / OPEX / PCR✅ liveSame as above
If you need deep history of GEX, IV or levels (not the raw tape), please reach out — we can scope a custom engagement using replayed chain snapshots.

Quick start

curl https://api.backquant.com/v2/tape/recent?symbol=BTCUSDT&limit=5 \
  -H "X-API-Key: $BQ_API_KEY"
Need a working demo client? Grab ws_tape_demo.py from the repo — single file, no setup beyond pip install websockets.

See also

Authentication

Data freshness

Rate limits

Response envelope