Lab API
Flow GEX
Flow GEX API
Live gamma exposure: net total, sign label, gamma flip, and per-strike profile recomputed on effective OI.
Endpoint
Auth required (
X-Api-Key)
Rate Limited: Yes
Growth plan+
Parameters
| Name | In | Required | Default | Description |
|---|---|---|---|---|
symbol |
path | yes | - | Underlying symbol |
expiry |
query | no | all expiries | Filter chain to a single expiry (yyyy-MM-dd). Omit to aggregate across all expiries |
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://lab.flashalpha.com/v1/flow/gex/SPY"
import requests
resp = requests.get(
"https://lab.flashalpha.com/v1/flow/gex/SPY",
headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(f"Live net GEX: ${data['live_net_gex']:,.0f} ({data['live_net_gex_label']})")
print(f"Live gamma flip: {data['live_gamma_flip']}")
const resp = await fetch(
"https://lab.flashalpha.com/v1/flow/gex/SPY",
{ headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log(`Live net GEX: $${data.live_net_gex.toLocaleString()} (${data.live_net_gex_label})`);
console.log(`Live gamma flip: ${data.live_gamma_flip}`);
Response
{
"symbol": "SPY",
"as_of": "2026-05-12T18:42:10Z",
"underlying_price": 597.505,
"expiry": "2026-05-15",
"live_net_gex": 3120000000,
"live_net_gex_label": "positive",
"live_gamma_flip": 595.50,
"strikes": [
{
"strike": 595.0,
"call_gex": 13800000,
"put_gex": 9600000,
"net_gex": 23400000,
"call_oi": 16200,
"put_oi": 12700,
"call_volume": 320,
"put_volume": 240,
"call_oi_change": 1200,
"put_oi_change": -150
}
]
}
Key Response Fields
| Field | Type | Description |
|---|---|---|
symbol | string | Underlying symbol |
as_of | string | ISO 8601 timestamp |
underlying_price | number | Current price of underlying |
live_net_gex | number | Sum of net_gex across strikes, computed on effective OI |
live_net_gex_label | string | positive or negative |
live_gamma_flip | number | Strike where the cumulative live profile crosses zero |
strikes | array | Per-strike GEX, OI, and volume on effective OI |
strikes[].call_oi_change / put_oi_change | number | Day-over-day delta from prior settled snapshot (nullable) |
About Flow GEX
Flow GEX is the live counterpart to /v1/exposure/gex. The settled endpoint uses morning OPRA-broadcast OI and stays frozen all session; this endpoint runs the exact same gamma-exposure math on the OI simulator's effective open interest, so the per-strike profile, net total, and gamma flip all drift intraday as positioning fills, exits, and rolls. Use it when you need a dealer-gamma snapshot that actually reflects mid-session reality.
Common Use Cases
- Intraday regime monitoring - watch positive/negative gamma in real time instead of relying on the morning snapshot
- Strike-level heatmap - render a live GEX-by-strike chart on top of the chain
- Gamma flip alerts - fire when the live flip strike crosses spot
- Volatility regime forecasting - net GEX sign is the primary input to mean-reversion vs trending bias
- Settled vs live diff - contrast per-strike call/put GEX between the two endpoints to spot heavy intraday repositioning
Ready to build?
Get your free API key and start pulling live options data in 30 seconds.