Free · no key · CORS enabled

Options & dealer gamma API

Net dealer gamma by strike, the zero-gamma flip, call and put walls, max pain, expected move, live options sweeps and earnings implied moves — for any liquid US ticker. No API key. No account. Just fetch it.

✓ No authentication ✓ CORS: * ✓ JSON Free CC BY 4.0

Free gamma-exposure data over an API is genuinely hard to find — most providers put it behind a subscription. This is open because more people using the data is the point. All we ask is a link back.

Base URL

https://algoxflow.com

Every endpoint is GET, returns JSON, and sets Access-Control-Allow-Origin: * — so it works straight from browser JavaScript with no proxy.

Endpoints

GET/api/gexmap?ticker=NVDA

Net dealer gamma exposure by strike, plus the derived levels. The one most people want.

FieldTypeMeaning
tickerstringEchoed symbol
spotnumberLast price
chgPctnumberChange on the day, percent
regimestringpositive or negative net gamma
totalGexnumberNet dealer gamma, $ millions per 1% move
flipnumber|nullZero-gamma flip — where the cumulative profile crosses zero. null if there's no crossing inside the chain.
callWallnumberStrike with the largest positive gamma near spot
putWallnumberStrike with the most negative gamma near spot
maxPainnumberStrike minimising total intrinsic payout
expMove / expMovePctnumber1σ expected move to the nearest expiry, $ and %
atmIvnumberAt-the-money implied volatility, whole percent
strikesarray{ k: strike, g: gamma $M per 1% }, ascending
updatedstringISO timestamp
curl "https://algoxflow.com/api/gexmap?ticker=NVDA"
{
  "ticker": "NVDA",
  "spot": 222.88,
  "regime": "positive",
  "totalGex": 1214,
  "flip": 205.02,
  "callWall": 225,
  "putWall": 217.5,
  "maxPain": 210,
  "expMovePct": 1.18,
  "strikes": [ { "k": 185, "g": -0.5 }, … ]
}
GET/api/sweeps

Today's largest options sweeps bought at the ask, ranked by premium. Returns { updated, count, rows[] } — each row { ticker, type, premium, strike, expiry, opening, floor, golden }.

GET/api/earnings-calendar

Upcoming earnings grouped by date with the options-implied expected move. Returns { updated, count, days[] }, each day { date, items[{ ticker, time, expMovePct, sector }] }. time is BMO or AMC.

GET/api/spyflow

SPY intraday net options premium — call premium bought minus put premium, per minute. Returns { ticks[{ t, net }], net, tone, spy, spyPct }. tone is bullish, bearish or neutral.

Quick start

// Browser — no key, no proxy, CORS is open
const r = await fetch('https://algoxflow.com/api/gexmap?ticker=SPY');
const d = await r.json();
console.log(`${d.ticker} flip ${d.flip} · wall ${d.callWall} · ${d.regime} gamma`);
# Python
import requests
d = requests.get('https://algoxflow.com/api/gexmap', params={'ticker':'QQQ'}).json()
print(d['flip'], d['callWall'], d['totalGex'])

Fair use

No hard rate limit today, and I'd rather not add one. Responses are cached (15 minutes for gamma, 30 for the earnings calendar), so please cache on your side too and don't poll faster than the data changes. Roughly one request per ticker per 15 minutes is plenty — the underlying chain doesn't move faster than that.

If you're building something that needs higher volume, email hello@algoxflow.com and we'll work it out. It's easier to say yes than to discover it through a bill.

Attribution

Free under CC BY 4.0. Use it commercially, build products on it, no permission needed.

Just credit it. A link back to algoxflow.com somewhere visible — a footer, an about page, a bot's !source command. That's the whole deal, and it's the only reason this is free.

<a href="https://algoxflow.com">Gamma data by AlgoxFlow</a>

Built something with it? Tell me and I'll link it from here. A directory of projects using the API is useful to everyone, including you.

Accuracy, honestly

Gamma is computed from the Polygon options snapshot: per-strike Γ × OI × 100 × S² × 0.01, calls positive, puts negative. The flip is where the cumulative profile crosses zero.

One caveat worth knowing. The snapshot is capped at 250 contracts per call, so on very wide chains the ladder is truncated and the flip can shift between pulls — SPY read 777.62, 782.04 and "no crossing" within minutes on 6 August. Treat a single flip as a zone, not a decimal. It's the same data our own tools run on; we're not holding a better version back.

Free · before the open, every session

Get the levels in your inbox 🧲

The daily dealer-gamma read for SPY and QQQ, built off this same data. Free.

No spam · unsubscribe in one click

Data via Polygon & Unusual Whales. Provided as-is with no warranty of accuracy or uptime — don't wire it to anything that trades without your own checks. Educational use, not financial advice. Options carry a substantial risk of loss.
© 2026 AlgoX Trading · Gamma map · Today's regime · Home