Flow vs Exposure: Which FlashAlpha GEX Endpoint Should You Use?

Flow vs Exposure: Which FlashAlpha GEX Endpoint Should You Use?

A decision tree for choosing between FlashAlpha's /v1/exposure and /v1/flow GEX endpoints. Settled exposure matches the OPRA OI and is stable for backtests and EOD parity. Flow uses effective OI and updates intraday for live monitoring. Side-by-side comparison of every paired endpoint plus tiers.

T
Tomasz Dobrowolski Quant Engineer
May 15, 2026
16 min read
GammaExposure API OptionsFlow DeveloperGuide DealerPositioning

You are choosing between /v1/exposure/gex/SPY and /v1/flow/gex/SPY (or the matching levels, pin-risk, and summary pairs) and want a decision, not a lecture. Here it is.


The Rule of Thumb

Use /v1/exposure/* (settled)

"What the books say." Computed from the morning-broadcast OPRA open interest. Stable all session, matches the OPRA tape. Use for end-of-day parity, backtests, and anything that must agree with the official OI.

Use /v1/flow/* (effective)

"What today's flow implies." Computed from effective OI: settled plus a confidence-weighted intraday simulator estimate. Updates through the session. Use for live intraday dashboards and flow-reactive monitoring.

The two surfaces are independent. Nothing under /v1/flow/* changes anything under /v1/exposure/*, and the field names disambiguate them (net_gex on the settled surface, live_net_gex on the flow surface). If you only remember one sentence: settled for parity, flow for live.

Decision Flowchart

  1. Does your number need to match the OPRA settled OI / a backtest / an EOD reconciliation?
    Yes → use /v1/exposure/*. Stop here.
  2. Are you driving a live intraday dashboard or alerting on today's order flow?
    Yes → use /v1/flow/*.
  3. Do you want to see how much today's flow has shifted positioning vs the morning print?
    Yes → call /v1/flow/summary and read flow_direction and flow_gex_pct_shift.
  4. Still unsure?
    Default to /v1/exposure/*. It is the stable, tape-matching baseline; layer the flow surface on top only when you specifically need the intraday view.

Paired Endpoint Comparison

Every settled endpoint that has a flow counterpart, plus the flow-only endpoints. All values returned are independent between surfaces.

Settled (/v1/exposure/*)Flow (/v1/flow/*)OI basisUse it forExposure tierFlow tier
/v1/exposure/gex/v1/flow/gexsettled vs effectivePer-strike gamma; settled for parity, flow for liveFree+Growth+
/v1/exposure/dex/v1/flow/dexsettled vs effectivePer-strike delta exposureBasic+Growth+
/v1/exposure/levels/v1/flow/levelssettled vs effectiveGamma flip, call/put wall; flow shows where today's flow moved themFree+Growth+
/v1/exposure/summary/v1/flow/summarysettled vs effectiveAggregate picture; flow adds flow_direction and flow_gex_pct_shiftGrowth+Growth+
(pin-risk lives on flow)/v1/flow/pin-riskeffectiveIntraday pin-risk against effective OIn/aGrowth+
(no settled equivalent)/v1/flow/dealer-riskeffectiveFlow-implied dealer risk; returns flow_directionn/aGrowth+
(no settled equivalent)/v1/flow/oieffectiveSimulator OI state: official_oi, intraday_oi_delta, effective_oin/aAlpha+
(no settled equivalent)/v1/flow/liveeffectiveLive composite flow snapshotn/aAlpha+

The exposure tier column above maps to the three-way settled tiering: /v1/exposure/{gex,levels} is Free and above, /v1/exposure/{dex,vex,chex} is Basic and above, and /v1/exposure/{summary,narrative} is Growth and above. On the flow side, /v1/flow/{levels,pin-risk,summary,gex,dex,dealer-risk} is Growth and above; /v1/flow/{oi,live} and the raw /v1/flow/options|stocks/* endpoints are Alpha and above. Pricing: Free $0 (5 req/day), Basic from $63/mo (100/day), Growth from $239/mo (2,500/day), Alpha from $1,199/mo (unlimited).

Both Accept ?expiry on the Flow Analytics Side

The Flow Analytics endpoints - /v1/flow/{levels,pin-risk,summary,gex,dex,dealer-risk,oi,live} - accept an optional ?expiry=YYYY-MM-DD that filters the chain to one expiry before the math runs. Omit it to aggregate all expirations. An invalid format returns 400 {"error":"invalid_expiry"}; a valid date with no contracts returns 404. The Raw Flow Data tape endpoints (/v1/flow/options|stocks/*) do not take ?expiry - they use limit/minSize/minutes/window parameters.

Settled exposure plus the live flow surface, one API key

Try both in the browser before you wire them up.

Get API Access

Frequently Asked Questions

Use /v1/exposure/* when your number must match the OPRA settled OI - end-of-day reconciliation, backtests, parity reporting. Use /v1/flow/* when you want today's order flow reflected intraday - live dashboards and flow-reactive alerting. When in doubt, default to the settled exposure surface as the stable baseline.
Usually yes - they answer different questions, so most setups call both. Decide per use case: call /v1/exposure/* for anything that must match the OPRA settled OI (backtests, EOD reconciliation, parity reporting), and call /v1/flow/* for the intraday, flow-reactive view (live dashboards, flow alerting). A typical live dashboard reads the settled surface for its stable baseline and adds the flow surface to show how today's order flow has shifted it. For the deeper question of why calling one never affects the other, see the pillar explainer.
/v1/exposure/*. It computes against the morning-broadcast settled open interest, the same value the OPRA tape reports, and it does not move during the session. The flow surface uses effective OI (settled plus an intraday simulator estimate) and will not match the raw OPRA OI by design.
/v1/flow/*. Call /v1/flow/summary for the aggregate live picture including flow_direction and flow_gex_pct_shift, and /v1/flow/gex or /v1/flow/levels for the per-strike and key-level views that react to today's order flow. These are Growth tier and above.
/v1/exposure/*. Settled GEX is stable through the session and matches the OPRA OI, so it gives you deterministic, reproducible inputs that line up with what was knowable historically. The flow surface's effective OI depends on an intraday simulator and is meant for live monitoring, not historical parity.

Live Market Pulse

Get tick-by-tick visibility into market shifts with full-chain analytics streaming in real time.

Intelligent Screening

Screen millions of option pairs per second using your custom EV rules, filters, and setups.

Execution-Ready

Instantly send structured orders to Interactive Brokers right from your scan results.

Join the Community

Discord

Engage in real time conversations with us!

Twitter / X

Follow us for real-time updates and insights!

GitHub

Explore our open-source SDK, examples, and analytics resources!