# BackQuant API ## Docs - [Changelog](https://docs.backquant.com/api/v2/discovery/changelog.md): Returns the v2 release log plus the lifecycle status of v1. Customers integrating against either version use this to decide when to schedule re-integration work — `breaking: true` on any release is the signal to test, and `v1_status` flips to `deprecated` / `sunset` long before v1 is ever turned off… - [Endpoint catalog](https://docs.backquant.com/api/v2/discovery/endpoints.md): Introspects the running FastAPI sub-app and returns one entry per route with path, HTTP methods, tag, summary, description, and the parameter list. Each parameter carries its name, location (`query` / `path` / `header`), required flag, type, default, numeric bounds (if any), and `enum` array when th… - [Active expiries](https://docs.backquant.com/api/v2/discovery/expiries.md): Currently-tradeable expiry tokens for a symbol with DTE and an ISO date when the token is parseable. Use this to populate filter UIs without pulling the heavier /options/expiry-summary. - [API metadata](https://docs.backquant.com/api/v2/discovery/meta.md): Static metadata about the v2 API. Supported symbol and exchange catalogs, the full error code list with HTTP status mapping, the auth scheme, the rate-limit ladder, the response envelope shape, and links to the OpenAPI spec / Swagger UI / ReDoc / endpoint catalog. Cheap (in-memory, no I/O). - [Service status](https://docs.backquant.com/api/v2/discovery/status.md): Operational status. Each (symbol × category) cell is classified as `healthy`, `degraded`, `unhealthy`, or `unavailable` based on cache age. The `overall_status` is the worst case across the grid. Thresholds in the response reflect the underlying compute cadence. - [Symbol catalog](https://docs.backquant.com/api/v2/discovery/symbols.md): Lists every symbol covered by v2 with the data categories that are currently live, the freshness of each category, the spot price, the count of active expiries, and the full set of supported endpoints. Recommended first call for new integrations. - [GEX by expiry](https://docs.backquant.com/api/v2/gex/expiry-profile.md): Net / call / put gamma per expiration date with days-to-expiry. Useful for spotting where dealer exposure rolls off. - [GEX history](https://docs.backquant.com/api/v2/gex/history.md): Time-series of total GEX (and net-local-5pct, call/put walls when available). Use `?limit` (≤1000) to cap the page size and `?before=` to walk backwards into older history. - [GEX levels](https://docs.backquant.com/api/v2/gex/levels.md): All-expiry HVL/walls plus 0DTE-specific levels in a single call. Use `?include=` to opt in to optional sections — `spot,candles,zones,max_pain,expected_move,ranked`. Filter by exchange with `?exchanges=deribit,bybit,okx,binance`. - [Max pain](https://docs.backquant.com/api/v2/gex/max-pain.md): The strike at which option writers profit most at expiry. Use `?expiry=0dte` for the cheapest path (read straight from the 0DTE levels cache), `?expiry=all` for a per-expiry table covering every active expiration, or pass a specific expiry token (e.g. `28MAR25`) to also receive the full pain curve b… - [Stress history (Postgres)](https://docs.backquant.com/api/v2/gex/stress-history.md): Persistent record of HVL / call wall / put wall / net GEX, suitable for backtests or regime analysis. Window is bounded to 30 days (720 hours) so a query never blows out the read pool. - [Strike × expiry heatmap](https://docs.backquant.com/api/v2/gex/strike-expiry-heatmap.md): Rows are strikes, columns are expiries (sorted ascending DTE). - [GEX by strike](https://docs.backquant.com/api/v2/gex/strike-profile.md): Gamma exposure aggregated by strike. `?expiry=all` (default) covers every expiry, `?expiry=0dte` filters to today's expiry only, and an explicit expiry token (e.g. `28MAR25`) returns just that expiration. - [Strike × time heatmap](https://docs.backquant.com/api/v2/gex/time-heatmap.md): Time-series of greek exposures by strike. Pick the greek (`gex|dex|vex|charm|vanna`) and bound by DTE / OI / IV. Without filters this serves the pre-computed cache (cheap); with filters it reconstructs from raw snapshots (more work, but still bounded to the last ~48 ticks). - [Health check](https://docs.backquant.com/api/v2/health.md): Lightweight liveness/readiness probe for external monitors. Reports overall status plus per-subsystem (redis, db) flags. Auth-free — uses the same `check_connection_health()` Fly.io's load balancer hits at `/health`. Rate limit: **60/minute per IP**. - [Liquidation distribution](https://docs.backquant.com/api/v2/liquidation/distribution.md): Per-price-level long and short liquidation volumes, with a leverage tier estimate based on distance from current price and cumulative-volume series for visualizing concentration. - [Liquidation heatmap](https://docs.backquant.com/api/v2/liquidation/heatmap.md): Estimated liquidation levels normalized to a 0–100 scale, gridded by price bin and time bucket. Includes the OHLC candles plotted alongside so the heatmap can be rendered standalone. - [Multi-symbol GEX levels](https://docs.backquant.com/api/v2/multi/gex-levels.md): Multi-symbol GEX levels in one round-trip. Returns a `results` map keyed by symbol with the same shape per-entry as /v2/gex/levels. Symbols with no current data return null in `results` and appear in `missing` rather than failing the whole request. Up to 8 symbols per request. Includes: `ranked` (to… - [Options chain](https://docs.backquant.com/api/v2/options/chain.md): Per-contract data (greeks, OI, IV, bid/ask) plus aggregate stats. Filters supported: - [Expected move](https://docs.backquant.com/api/v2/options/expected-move.md): ATM-straddle-derived 1- and 2-sigma expected move (1d horizon). - [Per-expiry summary](https://docs.backquant.com/api/v2/options/expiry-summary.md): One row per active expiry with the metrics most useful for chain-wide screening: - [Futures term structure](https://docs.backquant.com/api/v2/options/futures/term-structure.md): Deribit-listed dated futures annualized basis vs spot, by maturity. Useful as a complement to the IV term structure for assessing carry in the calendar. - [3D greek surface](https://docs.backquant.com/api/v2/options/greeks/3d-surface.md): Z = sum(greek × OI) per (strike, expiry) cell. Useful for 3D visualizations or for spotting where a particular greek is concentrated across the term structure. - [Greek profile](https://docs.backquant.com/api/v2/options/greeks/by-greek.md): Net greek exposure per strike. `greek` is one of `delta` (DEX), `theta`, `vanna`, `charm`, `vega`. - [Greek surface (strike × time)](https://docs.backquant.com/api/v2/options/greeks/surfaces.md): Time-evolving surface for `charm` or `vega` — strike on one axis, time on the other. Already pre-computed for the pro terminal; exposed here for quant tooling that wants the same view. - [Greek trace - forward (time × price) projection](https://docs.backquant.com/api/v2/options/greeks/trace.md): Black-Scholes forward projection of dealer **gamma**, **charm**, or **vanna** across a (time × price) grid, holding today's chain constant and decaying τ toward each contract's expiry. - [All-expiry smile curves](https://docs.backquant.com/api/v2/options/iv/curves.md): Merged-IV smile (OTM puts below spot, OTM calls above) for every active expiry, sorted by DTE. - [IV vs realized vol history](https://docs.backquant.com/api/v2/options/iv/iv-rv.md): Daily implied (DVOL/ATM-IV) and 30d realized vol with the spread. - [Skew (25Δ / 10Δ + butterfly)](https://docs.backquant.com/api/v2/options/iv/skew.md): Delta-interpolated risk-reversal and butterfly per active expiry. `skew_25d` = 25Δ put IV − 25Δ call IV (positive = put premium, fear bid); `butterfly_25d` = (25Δ put IV + 25Δ call IV) / 2 − ATM IV (smile curvature / wing pricing). Computed from real delta-bracketed options, not strike proxies. - [Single-expiry smile](https://docs.backquant.com/api/v2/options/iv/smile.md): Implied volatility by strike for one expiry — the cheap path when you only need a single tenor. Pass `?expiry=` as a Deribit-style token (e.g. `28MAR25`); omit it to receive the default front-month smile from `iv:smile:{symbol}:default`. The lookup is case-insensitive on the token; if neither cased… - [IV surface](https://docs.backquant.com/api/v2/options/iv/surface.md): 2D implied-volatility grid: rows are strikes, columns are expiries (sorted by ascending DTE). Useful for vol-surface visualisations and identifying skew/term-structure shape at a glance. - [Term structure](https://docs.backquant.com/api/v2/options/iv/term-structure.md): At-the-money implied volatility for each active expiration. - [OI by expiry](https://docs.backquant.com/api/v2/options/oi/by-expiry.md): Open interest aggregated by expiration with calls and puts split. - [OI history](https://docs.backquant.com/api/v2/options/oi/history.md): Time-series of total / call / put open interest. Use `?limit` to cap page size and `?before=` to walk backwards into older history (the cursor is the timestamp of the oldest row in the previous page, returned as `next_cursor`). - [OPEX calendar](https://docs.backquant.com/api/v2/options/opex.md): Curated calendar of upcoming options expirations with everything needed for OPEX-day workflows in one call: - [Put / call ratio](https://docs.backquant.com/api/v2/options/pcr.md): OI-weighted put/call ratio. `?granularity=intraday` returns the rolling intraday series; `daily` returns one value per UTC day. - [Premium tide](https://docs.backquant.com/api/v2/options/premium-tide.md): Net premium and notional volume from Deribit-side trades, split into call and put flow. Use `?horizon=0dte` for today's tape or `weekly` for the rolling weekly aggregate. - [Probability density](https://docs.backquant.com/api/v2/options/probability/density.md): Breeden-Litzenberger probability density derived from option prices. Returns PDF, normalized PDF, CDF (above and below spot), and distribution stats (mean, std, mode, skew, kurtosis, 25/50/75 percentile prices) per expiry. - [Probability surface](https://docs.backquant.com/api/v2/options/probability/surface.md): Risk-neutral probability density across the full strike × expiry grid as a single matrix, suitable for 3D visualisations or surface-fit applications. Built from the same Breeden-Litzenberger extraction as /options/probability/density but pre-aligned onto a unified strike axis so cross-expiry compari… - [Volatility risk premium](https://docs.backquant.com/api/v2/options/vrp.md): Difference between implied and realized vol; positive = options expensive. - [Authentication](https://docs.backquant.com/authentication.md): Get an API key and authenticate your requests - [Data freshness](https://docs.backquant.com/concepts/data-freshness.md): How current the data is — and how to tell from the response - [Errors](https://docs.backquant.com/concepts/errors.md): Every error code, when it fires, and how to handle it - [FAQ](https://docs.backquant.com/concepts/faq.md): Common gotchas, integration questions, and operational tips - [What is GEX?](https://docs.backquant.com/concepts/gex.md): Gamma exposure, dealer positioning, walls and support levels — explained - [Glossary](https://docs.backquant.com/concepts/glossary.md): Quick-reference for every term used across the docs - [Greeks beyond delta](https://docs.backquant.com/concepts/greeks.md): DEX, theta, vanna, charm, vega — what they measure and how to use them - [The IV suite](https://docs.backquant.com/concepts/iv-suite.md): Surface, term structure, skew, smile, IV-RV, VRP — what each one tells you - [Max pain](https://docs.backquant.com/concepts/max-pain.md): The strike where option writers profit most — and how to read it - [Multi-symbol bundling](https://docs.backquant.com/concepts/multi-symbol.md): Get the universe in one round-trip via /v2/multi/gex/levels - [OPEX calendar](https://docs.backquant.com/concepts/opex.md): Daily, weekly, monthly, quarterly — and why anchor expirations matter - [Probability density](https://docs.backquant.com/concepts/probability-density.md): Risk-neutral PDF / CDF via Breeden-Litzenberger — the market's implied price distribution - [Rate limits](https://docs.backquant.com/concepts/rate-limits.md): Per-tier limits, response headers, and backoff strategy - [Response format](https://docs.backquant.com/concepts/response-format.md): The standard envelope every BackQuant API response uses - [curl recipes](https://docs.backquant.com/examples/curl.md): Single-shot curl one-liners for the most common v2 workflows - [Python recipes](https://docs.backquant.com/examples/python.md): Copy-paste Python snippets for the most common v2 workflows - [TypeScript recipes](https://docs.backquant.com/examples/typescript.md): Copy-paste TypeScript / Node.js snippets for the most common v2 workflows - [Introduction](https://docs.backquant.com/introduction.md): Professional-grade options + GEX analytics for crypto markets - [Quick start](https://docs.backquant.com/quickstart.md): Make your first v2 API call in under five minutes - [Long-Term Trend & Valuation Model](https://docs.backquant.com/tradingview/long-term-trend-valuation.md): A two-layer framework that separates 'where we are in the cycle' from 'what to do about it' - built for long-horizon decisions on assets with strong boom-bust structures. - [Oscillator Suite](https://docs.backquant.com/tradingview/oscillator-suite.md): A coordinated set of momentum, money flow, confluence, divergence, and reversal modules - built to turn live market noise into a readable sequence of conditions. - [TradingView Indicators](https://docs.backquant.com/tradingview/overview.md): BackQuant's suite of invite-only TradingView indicators for discretionary execution and study. - [Trading Module](https://docs.backquant.com/tradingview/trading-module.md): A modular overlay combining Trend, Impulse, Stop Loss, RSI screener, market structure, FVGs, volumetric order blocks, volumetric S/R, and reversal bands. Built for discretionary execution and study. ## OpenAPI Specs - [openapi-v2](https://docs.backquant.com/openapi-v2.json)