Free GEX Data: Live Gamma Exposure Levels for 6,000+ Stocks (2026) | FlashAlpha
gammaexposure · 9 min read

Free GEX Data: Live Gamma Exposure Levels for 6,000+ Stocks (2026)

Find free GEX levels and try single-expiry equity data with 5 API requests a day. See which plan supports SPY, QQQ, full-chain GEX and historical replay.

T
Tomasz Dobrowolski Quant Engineer
Apr 21, 2026
Updated Sep 8, 2026
9 min read
GammaExposure GEX FreeData DealerPositioning Options
Start with the view you need

View the SPY snapshot or QQQ snapshot for available public levels. To explore a single equity, open the GEX chart and choose AAPL with a listed expiration after today. The interactive tool uses your API key, plan access and allowance.

What Free GEX Data Includes

Public snapshots and authenticated API requests are different ways to access the data:

  • Public ticker snapshots: inspect the available net GEX, gamma flip and wall levels without an account. Read the displayed timestamp; a public snapshot is not a promise of streaming data.
  • Free API access: 5 requests/day for supported endpoints and individual equities such as AAPL, TSLA and NVDA. For GEX, select one listed expiration after today.
  • Interactive chart: uses the GEX endpoint with your account's access restrictions. A free key does not unlock ETF/index symbols or all-expiration GEX.

Create a free account for an API key. No credit card is required for the Free plan. If you only need the public snapshot, start with the ticker page.

Free GEX by Ticker

These links open public snapshots. To use the corresponding symbol in an authenticated GEX chart or API request, apply the plan and expiry requirements below.

Which Plan Fits Your GEX Workflow?

What you want to doStarting pointAccess to check
Read available levels on a public ticker pageNo accountUse the displayed snapshot timestamp; availability varies by symbol.
Query AAPL, TSLA or NVDA for one expiry after todayFree5 requests/day; single-expiry GEX.
Query SPY, QQQ or SPX for one expiry after todayBasic250 requests/day; ETF/index access. Full-chain GEX still requires Growth.
Aggregate all expirations, request 0DTE or query supported CME futuresGrowth2,500 requests/day; check the endpoint and symbol coverage.
Replay historical analytics for a backtestAlphaHistorical API access on supported routes and dates.

The expiry rule and symbol rule both apply. For example, SPY single-expiry GEX needs Basic, but SPY full-chain GEX needs Growth. New accounts need Growth for an expiration dated today; legacy accounts may have grandfathered 0DTE access. Compare current plans.

Free GEX via API: Try a Supported Request

Use an individual equity such as AAPL. First inspect its available expirations through GET /v1/options/AAPL in the API playground. Select a listed date after today. This avoids an expired example date or a 0DTE request that requires a higher plan.

For a shell request, set FLASHALPHA_API_KEY to your own key in your environment and EXPIRATION to that listed date in yyyy-MM-dd format:

curl --fail-with-body \
  -H "X-Api-Key: ${FLASHALPHA_API_KEY:?Set your API key}" \
  "https://lab.flashalpha.com/v1/exposure/gex/AAPL?expiration=${EXPIRATION:?Set a listed expiry after today}"

The response includes net_gex, gamma_flip, net_gex_label, as_of and the per-strike strikes array. Check the GEX response reference for field definitions. Call and put walls come from the separate levels endpoint.

To inspect the response in Python, install requests, use the same environment variables, and run:

import os
import requests

response = requests.get(
    "https://lab.flashalpha.com/v1/exposure/gex/AAPL",
    headers={"X-Api-Key": os.environ["FLASHALPHA_API_KEY"]},
    params={"expiration": os.environ["EXPIRATION"]},
    timeout=30,
)
response.raise_for_status()
gex = response.json()
print("As of:", gex.get("as_of"))
print("Net GEX:", gex.get("net_gex"))
print("Gamma flip:", gex.get("gamma_flip"))
print("Net GEX sign:", gex.get("net_gex_label"))

Each request uses allowance. Running both examples makes two GEX requests; requesting the expiry list or wall levels adds further calls. A 403 tier_restricted calls for checking the symbol, expiry and endpoint requirements. A 429 indicates a rate or quota limit. Inspect the response rather than retrying either indefinitely.

What Changes When You Upgrade?

Choose a plan when the workflow requires it:

  • A larger watchlist: count symbols, refreshes and endpoints. Ten symbols checked three times with separate GEX and levels requests need 60 calls before metadata or retries.
  • SPY/QQQ charting: Basic adds ETF/index access. Choose Growth if the view aggregates every expiration or isolates today's expiry.
  • Backtesting: inspect the historical playground and Alpha access before building a research pipeline.

Response caching also differs: Free may serve a snapshot cached up to 15 minutes, Basic and Growth up to 15 seconds, and Alpha about one second. Those are cache durations, not guarantees of source-data age or execution latency. Inspect as_of for the response timestamp and data_as_of, where supplied, for the relevant feed timestamps.

Find the lowest plan that supports your workflow, or use the dashboard implementation guide to turn the response into a chart.

Read the Levels in Context

GEX describes exposure under a calculation and positioning convention. Call/put walls and gamma flip levels are context for a trading workflow, not guaranteed support, resistance or future prices. A gamma flip is not simply where adjacent strike bars change sign. Compare the timestamp, expiry selection and methodology when two tools show different values.

For the mechanics, read what gamma exposure measures, the GEX formula and worked example, and how to read the strike chart.

FAQ

Can I view SPY and QQQ GEX for free?

You can inspect available public snapshots on their ticker pages. Authenticated SPY/QQQ GEX requests and the interactive chart require Basic for a non-0DTE single expiry. Full-chain GEX and new-account 0DTE access require Growth.

Does the free chart have unlimited usage?

No. The interactive chart uses your API key and follows your plan's symbol access, expiry restrictions and request allowance. The Free plan provides 5 requests per day.

Is historical GEX included in Growth?

Historical analytics replay requires Alpha. Growth supports live full-chain GEX, but does not include the Historical API.

How fresh is the data?

Free responses may be cached up to 15 minutes, Basic and Growth up to 15 seconds, and Alpha about one second. Cache duration is not source-data age; check the response timestamp.

Start with a public snapshot or a supported single-expiry equity request. When your workflow needs ETFs, full-chain exposure, 0DTE or historical replay, use the access table to choose the appropriate plan. Explore the GEX chart or create a free API key.

Live Market Pulse

Get fast visibility into market shifts with full-chain analytics over low-latency REST and MCP polling.

Intelligent Screening

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

Export-Ready

Export structured signals to your own execution stack or broker integration - FlashAlpha delivers the analytics, you keep control of order routing.

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!