Flow Levels API - Live Gamma Flip, Walls, Max Pain - FlashAlpha Lab API
Lab API Flow Levels

Flow Levels API

Live, intraday-adjusted versions of the key technical levels: gamma flip, call wall, put wall, and max pain - recomputed on effective OI.

Works with CME index futures. Pass ES=F or NQ=F and URL-encode the = as %3D — e.g. /v1/flow/levels/ES%3DF. Flow analytics recompute on intraday effective OI; options-on-futures are priced with Black-76 ($50/pt ES, $20/pt NQ). CME index futures and flow are Growth-tier. See the futures hub.

Endpoint

GET /v1/flow/levels/{symbol}
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/levels/SPY"
import requests

resp = requests.get(
    "https://lab.flashalpha.com/v1/flow/levels/SPY",
    headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(f"Live gamma flip: {data['live_gamma_flip']}")
print(f"Live call wall: {data['live_call_wall']}")
print(f"Live put wall:  {data['live_put_wall']}")
const resp = await fetch(
  "https://lab.flashalpha.com/v1/flow/levels/SPY",
  { headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log(`Live gamma flip: ${data.live_gamma_flip}`);
console.log(`Live call wall: ${data.live_call_wall}`);
console.log(`Live put wall:  ${data.live_put_wall}`);

Response

{
  "symbol": "SPY",
  "as_of": "2026-05-12T18:42:10Z",
  "underlying_price": 597.505,
  "expiry": "2026-05-15",
  "live_gamma_flip": 595.50,
  "live_call_wall": 600.0,
  "live_put_wall": 595.0,
  "live_max_pain": 597.0
}

Key Response Fields

Field Type Description
symbolstringUnderlying symbol
as_ofstringISO 8601 timestamp
underlying_pricenumberCurrent price of underlying
live_gamma_flipnumberStrike where live net GEX crosses zero (the gamma flip point)
live_call_wallnumberStrike with highest live call GEX - the call wall (resistance)
live_put_wallnumberStrike with highest live put GEX - the put wall (support)
live_max_painnumberMax pain strike using effective OI

Any field may be null if the underlying profile cannot resolve it (e.g., no gamma flip exists in the strike range).


About Flow Levels

Flow Levels returns the live versions of the four key technical levels traders anchor to: gamma flip, call wall, put wall, and max pain. The settled versions in /v1/exposure/levels are computed on the morning OPRA-broadcast OI and stay fixed all session. This endpoint runs the same level-detection logic on the OI simulator's effective OI, so when a wall starts losing OI or a new strike accumulates positioning, the levels move with it. Same definitions, intraday-adjusted inputs.

Common Use Cases

  • Trade against live walls, not stale ones - read live_call_wall as intraday resistance and live_put_wall as support, and re-anchor entries/targets as they migrate off the morning levels
  • Flip regime on live_gamma_flip - fade extensions and trade mean-reversion above it; respect momentum and trend below it, switching bias the moment spot crosses the live flip
  • Alert when the flip crosses spot - diff live_gamma_flip against underlying_price and fire when the sign flips, catching the dampening-to-amplifying handoff in real time
  • Set EOD targets on live_max_pain - treat the live max pain strike as the close-of-day magnet and plan exits toward it as expiry approaches
  • Confirm setups before sizing up - validate a long against a nearby live_put_wall or a short against live_call_wall so you only press trades the dealer book supports
  • Surface a "levels are shifting" signal - diff each live field against the settled /v1/exposure/levels values and flag the largest deltas as early evidence of intraday repositioning
  • Handle null levels gracefully - any field can be null when the profile can't resolve it (e.g. no flip in range), so gate dependent logic instead of assuming a number

Related reading

Complementary endpoints

  • Key Levels - the settled morning baseline to diff these live levels against
  • Live Flow GEX - the per-strike profile these walls and the flip are derived from
  • Flow Pin Risk - scores how strongly price is being pulled toward the live max-pain magnet
  • Live Flow DEX - directional dealer positioning to pair with the gamma walls

Ready to build?

Get your free API key and start pulling live options data in 30 seconds.