Gamma Exposure (GEX) API - Options Dealer Hedging Analytics - FlashAlpha Lab API
Lab API Gamma Exposure (GEX)

Gamma Exposure (GEX) API

Quantify dealer gamma exposure by strike to identify hedging pressure zones, support/resistance levels, and the gamma flip point.

What Is Gamma Exposure?

Gamma exposure (GEX) measures the dollar amount of shares that options dealers must buy or sell to delta-hedge for every 1% move in the underlying price. When dealers are long gamma (positive GEX), they buy dips and sell rallies — dampening volatility and creating mean-reverting, range-bound markets. When dealers are short gamma (negative GEX), their hedging amplifies moves — leading to trending, volatile price action. The gamma flip point marks where net exposure switches sign, often acting as a key pivot level.

Common Use Cases

  • Identify the gamma flip point — the strike where dealers switch from long to short gamma, often a major pivot level
  • Find support/resistance zones — strikes with high positive GEX act as magnets that absorb price moves
  • Gauge market regime — positive net GEX means mean-reverting; negative net GEX means trending/volatile
  • Detect pinning risk — high GEX concentration at a strike near expiry can pin the underlying price
  • Size positions — use the magnitude of GEX to calibrate expected volatility and set stop distances

When to Use This Endpoint

Use the GEX endpoint when you need strike-level detail — the full distribution of gamma exposure across all strikes. For a quick aggregate view without the per-strike breakdown, use the Summary endpoint. For a plain-English interpretation of the gamma regime, use the Narrative endpoint. If you also need delta, vanna, or charm exposure, query those endpoints separately or use Summary for all four at once.

Endpoint

GET /v1/exposure/gex/{symbol}
Auth required (X-Api-Key) Rate Limited: Yes

Parameters

Name In Required Default Description
symbol path yes Underlying symbol
expiration query no all Filter to single expiry (yyyy-MM-dd)
min_oi query no 0 Minimum open interest threshold
Note: Full-chain GEX (all expirations) requires the Growth plan. Add ?expiration=yyyy-MM-dd to filter by a single expiry on lower plans.
curl -H "X-Api-Key: YOUR_API_KEY" \
  "https://lab.flashalpha.com/v1/exposure/gex/SPY"
import requests

resp = requests.get(
    "https://lab.flashalpha.com/v1/exposure/gex/SPY",
    headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(f"Net GEX: ${data['net_gex']:,.0f}")
print(f"Gamma Flip: {data['gamma_flip']}")
const resp = await fetch(
  "https://lab.flashalpha.com/v1/exposure/gex/SPY",
  { headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log(`Net GEX: $${data.net_gex.toLocaleString()}`);
console.log(`Gamma Flip: ${data.gamma_flip}`);

Response

{
  "symbol": "SPY",
  "underlying_price": 597.505,
  "as_of": "2026-02-28T16:30:45Z",
  "gamma_flip": 595.25,
  "net_gex": 2850000000,
  "net_gex_label": "positive",
  "strikes": [
    {
      "strike": 575.0,
      "call_gex": 12500000,
      "put_gex": 8900000,
      "net_gex": 21400000,
      "call_oi": 15000,
      "put_oi": 12000,
      "call_volume": 250,
      "put_volume": 180,
      "call_oi_change": 500,
      "put_oi_change": -200
    }
  ]
}

Key Response Fields

Field Type Description
symbolstringUnderlying symbol
underlying_pricenumberCurrent price of underlying
as_ofstringISO 8601 timestamp
gamma_flipnumberStrike where net GEX crosses zero
net_gexnumberAggregate net gamma exposure in dollars
net_gex_labelstringGamma regime label (positive or negative)
strikesarrayPer-strike breakdown
strikes[].strikenumberStrike price
strikes[].call_gexnumberCall gamma exposure at this strike
strikes[].put_gexnumberPut gamma exposure at this strike
strikes[].net_gexnumberNet (call + put) gamma exposure
strikes[].call_oinumberCall open interest
strikes[].put_oinumberPut open interest
strikes[].call_volumenumberCall volume
strikes[].put_volumenumberPut volume
strikes[].call_oi_changenumberDay-over-day call open interest change
strikes[].put_oi_changenumberDay-over-day put open interest change

Errors

Status Description
400Invalid expiration format
403Full-chain GEX requires Growth plan
404Symbol not found or no data

Plans & Rate Limits

Plan Rate Limit Access
Free5 requests/dayStock quotes, exposure endpoints (GEX, DEX, VEX, CHEX, levels), tickers, options meta, symbols, surface
Basic100 requests/dayEverything in Free
Growth1,000 requests/day+ Summary, narrative, history, option quotes, full-chain GEX (no expiry filter)
ProUnlimitedFull access
FlashAlpha
© FlashAlpha. All rights reserved.