Flow Summary API
At-a-glance summary of intraday flow vs the morning OI baseline: directional label, intraday OI delta, contracts moved, live GEX, and percent shift from settled.
Endpoint
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/summary/SPY"
import requests
resp = requests.get(
"https://lab.flashalpha.com/v1/flow/summary/SPY",
headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(f"Flow direction: {data['flow_direction']}")
print(f"Live GEX: ${data['live_gex']:,.0f}")
const resp = await fetch(
"https://lab.flashalpha.com/v1/flow/summary/SPY",
{ headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log(`Flow direction: ${data.flow_direction}`);
console.log(`Live GEX: $${data.live_gex.toLocaleString()}`);
Response
{
"symbol": "SPY",
"as_of": "2026-05-12T18:42:10Z",
"underlying_price": 597.505,
"expiry": "2026-05-15",
"flow_direction": "amplifying",
"intraday_oi_delta": 12450,
"contracts_with_flow": 1820,
"contracts_total": 5240,
"live_gex": 3120000000,
"flow_gex_pct_shift": 0.094
}
Key Response Fields
| Field | Type | Description |
|---|---|---|
symbol | string | Underlying symbol |
as_of | string | ISO 8601 timestamp |
underlying_price | number | Current price of underlying |
flow_direction | string | no_flow, amplifying, dampening, regime_flip, or neutral |
intraday_oi_delta | number | Net signed OI delta across the chain (simulator estimate) |
contracts_with_flow | number | Number of contracts whose effective OI has changed since open |
contracts_total | number | Total contracts in the chain |
live_gex | number | Net dealer gamma exposure recomputed on effective OI |
flow_gex_pct_shift | number, nullable | (live - settled) / |settled|. null when settled GEX is zero and live is non-zero (regime created with no baseline) |
About the Flow Summary
The Flow Summary returns the single line you'd put at the top of a trading dashboard: how flow is reshaping dealer positioning right now. Unlike /v1/exposure/summary - which is computed on the morning OPRA-broadcast (settled) open interest and stays static through the session - this endpoint runs the same dealer-GEX math on the OI simulator's effective OI, so the value updates intraday as positioning shifts. The flow_direction label and flow_gex_pct_shift together tell you whether dealers are getting longer gamma, shorter gamma, or flipping regime versus the morning baseline.
Common Use Cases
- Dashboard headline - one number ("flow has amplified dealer GEX 9.4% since open") instead of explaining four endpoints
- Regime-shift alerts - fire when
flow_directionbecomesregime_flip - Intraday vs settled diff - detect when the morning GEX picture has stopped being representative
- Flow-confirmation overlay - pair with directional signals to filter trades that fight repositioning
- Lightweight polling - one cheap call covers "is anything interesting happening today"
Ready to build?
Get your free API key and start pulling live options data in 30 seconds.