Gamma exposure (GEX) API

Bring gamma exposure into your own tools with net GEX and vanna by strike and expiration, historical closing snapshots, and live setup alerts.

Structured JSON · Python friendly · MCP ready

Illustrative net gamma exposure bars and a strike-by-expiration heatmap.
One response. Every strike and expiration. Illustrative data.

The exposure behind every strike, ready for your code

Build a heatmap, research past sessions, or add positioning context to your alerts. Start with the data your workflow needs.

Net gamma exposure

GET /v1/data/netgex

Call, put, and net GEX by strike and expiration, with spot price and an as_of timestamp. Open interest is the default; type=volume weights by contracts traded in the current or most recent session.

Gamma and spot calculations refresh about every 5 seconds.

Net vanna exposure

GET /v1/data/netvex

Call, put, and net VEX by strike and expiration to explore sensitivity to changes in implied volatility.

Results are cached for 5 seconds per ticker; check as_of.

Historical closing GEX

GET /v1/data/eodGex

Choose a ticker and date for closing GEX by strike and expiration. History reaches back to 2012 for AAPL and QQQ and 2017 for SPY; coverage varies by ticker and can have gaps.

Each session becomes available after 5:15 pm Eastern.

Live GEX setup alerts

GET /v1/streaming/gexSetups

Receive newly created GEX setups over Server-Sent Events, including classification, severity, and spot price. Optionally include current-market-day history before live events begin.

Streaming requires a subscription; prepaid credits cover REST only.

GEX is modeled exposure, not a price prediction. Explore gamma exposure and the dashboard.

Make your first GEX request without a key

The free endpoint returns the last session’s closing price, total net GEX, and up to 12 of the largest strikes. No account or payment required.

GET /v1/gexClosingSnapshotSummary?ticker=SPY

curl 'https://api.bullflow.io/v1/gexClosingSnapshotSummary?ticker=SPY'
Open the free SPY response

Previous-session closing data. This summary is separate from live GEX and the full historical strike-and-expiration response.

Go from a request to your own GEX analysis

Call netgex for SPY and use the strike-level response in your charts, models, or research pipeline.

SPY net GEX · Python
import os
import requests

response = requests.get(
    "https://api.bullflow.io/v1/data/netgex",
    headers={"X-API-Key": os.environ["BULLFLOW_API_KEY"]},
    params={"ticker": "SPY", "type": "oi"},
    timeout=30,
)
response.raise_for_status()
print(response.json())
Response · Example JSON
{
  "ticker": "SPY",
  "spot_price": 500,
  "as_of": "2026-10-08T14:00:00.000Z",
  "strikes": [
    {
      "expiration": "20261009",
      "strike": 500,
      "call_gex": 50000,
      "put_gex": 0,
      "net_gex": 50000,
      "call_gamma": 20,
      "put_gamma": 0
    }
  ]
}

Illustrative response with one strike row, not live market data. GEX is USD exposure per 1% underlying-price move; expiration uses YYYYMMDD.

Install requests and set BULLFLOW_API_KEY in your server environment. Both weighting modes share the limit of 60 requests per rolling 60 seconds per credential or payer on this endpoint; HTTP 429 includes Retry-After.

Give your AI agent gamma exposure context

Connect Bullflow’s MCP server to Claude Code, Cursor, or another client that accepts an MCP server URL. Ask for closing exposure, compare strikes, or bring historical GEX into your research.

https://api.bullflow.io/mcp
Bullflow MCP connects exposure data to an AI agent.
bullflow_free_gex_summary
Last session’s closing summary, with no account.
bullflow_net_gex
Net gamma exposure with open-interest or volume weighting.
bullflow_net_vex
Net vanna exposure by strike and expiration.
bullflow_eod_gex
Closing GEX for a ticker and an optional YYYY-MM-DD date.

Free closing-data tools need no account. Net GEX, net VEX, and historical GEX tools require Bullflow Premium or an API subscription; connect your account through your client’s sign-in flow. Prepaid credits do not include MCP access.

Connect your AI agent

Choose the access that fits what you build

Start with a free closing summary, pay for occasional REST calls, or subscribe for ongoing data and streaming access.

Pay as you go

4¢

per successful GEX or VEX REST call

4 credits per call for netgex, netvex, or eodGex. Credits start at $5 for 500; failed responses do not spend credits.

Get API credits

API subscription

$99

per month, billed yearly

$1,188 billed annually, or $129 billed monthly. Includes the API’s REST endpoints within rate limits, live streams, and MCP access without spending credits.

Explore the API plan

Prepaid credits do not include streaming, OAuth, or MCP access. Standard API subscriptions are for personal use; contact us for commercial licensing. Contact Bullflow.

Questions about the GEX API

What is a GEX API?

A GEX API returns gamma exposure data, such as net GEX by strike and expiration, as JSON your code can use. Bullflow’s GEX API also returns net vanna (VEX), closing GEX history and a stream of GEX setup alerts.

How often does Bullflow’s GEX API data update?

Bullflow’s net GEX endpoint recalculates about every 5 seconds during the trading day, and each response includes the time it was calculated. Each session’s closing GEX is available after 5:15 pm Eastern.

Does the Bullflow GEX API include historical gamma exposure data?

Yes. The eodGex endpoint returns closing GEX by strike and expiration for a chosen date, back to 2012 for AAPL and QQQ and 2017 for SPY. History varies by ticker and can have gaps.

Is there a free GEX API?

Yes. Bullflow’s GET /v1/gexClosingSnapshotSummary?ticker=SPY needs no key or payment and returns the last session’s closing price, total net GEX and up to 12 of the largest strikes. Live and historical GEX by strike costs 4 credits per call, with credits starting at $5 for 500.

Is Bullflow’s GEX calculated from open interest or volume?

Both are available. Bullflow’s net GEX endpoint uses open interest by default, and setting type=volume uses the contracts traded in the current or most recent session instead.

Can I use the Bullflow GEX API in Claude Code or Cursor?

Yes. Add Bullflow’s MCP server, https://api.bullflow.io/mcp, to Cursor, Claude Code or any client that accepts an MCP server URL. The free closing-data tools need no account. Net GEX, net VEX and GEX history need a Bullflow Premium or API subscription.

Build your next tool with gamma exposure data

Start with a free request, then add live exposure and historical context as your workflow grows.