Skip to main content
GET
GEX levels across multiple symbols (bundled)
Bundled multi-symbol read. Up to 8 symbols per request. Returns per-symbol entries plus a served / missing / invalid breakdown. Default positioning=flow (with the same per-symbol fallbacks as single-symbol levels). See Positioning.

See also

Multi-symbol bundling

What is GEX?

Flow vs std

Authorizations

X-API-Key
string
header
required

Your BackQuant API key (same key as v1)

Headers

X-API-Key
string | null

Query Parameters

symbols
string
required

Comma-separated symbols, e.g. BTCUSDT,ETHUSDT,SOLUSDT,HYPEUSDT.

Example:
exchanges
string | null

Comma-separated venue filter, e.g. deribit,bybit. Restricts the response to those venues' contribution, recomputed from the per-venue breakdown - it is a re-aggregation, not a post-hoc scaling. Unknown names are ignored; an all-invalid filter returns every venue rather than nothing. Venues: deribit, bybit, okx, binance, derive, thalex, delta_india, delta. A venue with no contracts on the surface contributes zero - use GET /v2/status to tell that apart from a venue that is switched off.

include
string | null

Optional sections: expected_move,max_pain,ranked,zones

positioning
string
default:flow

Dealer positioning model. flow (default) is BackQuant's measured dealer model, available for BTC/ETH; it falls back to std when it cannot be produced for a symbol. std is the textbook convention (call:+OI / put:-OI). The response reports which model actually ran in meta.extra.positioning.

Response

Successful Response

data
MultiGexLevelsData · object
required
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