Developers menu
Developers / LIVE / Gamma by strike
Markdown copyGamma by strike
The newest book's dealer gamma strike by strike, for one symbol, in the volume or the open-interest book.
This endpoint serves
Plan: LIVE. LIVE: today's session every second, alerts, ASK, the levels API and the platform integrations, and 5 LAB credits a month. Every finished session is free in REPLAY. Pricing.
Parameters
| Name | What it does | Default | Error |
|---|---|---|---|
| symrequiredquery · string | One symbol: SPX, ES, NQ, RTY (or MES, MNQ, M2K), a dated contract such as ESH27, or a ticker from /api/v1/symbols. | missing_sym | |
| bookquery · vol | oi | vol or oi. | vol | bad_book |
| contractquery · string | Futures: a dated contract in the two weeks before a roll, e.g. ESH27. The levels move by that contract's own basis. | the front quarterly | contract_not_live |
| errorsquery · 200 | 200: an error answers 200 with the same body and the real status in X-FirmTape-Status, for clients that cannot read a status. | ||
| keyquery · string | Legacy: the key in the address, for platforms that cannot send headers. Prefer the header. |
Response
Strikes and gamma, index-aligned.
| Field | Meaning | Unit |
|---|---|---|
| symstring | The symbol answered. | |
| namestring | Futures: the future's name. | |
| bookvolume | open_interest | volume or open_interest. | |
| sessionopen | closed | stale | open, closed or stale. | |
| as_ofstring | When the book was built, ISO 8601 in New York time. | |
| as_of_unixinteger | The same instant, Unix seconds. | |
| age_sinteger | Seconds since the book was built. | seconds |
| daystring | The ET trading day. | |
| unitstring | usd_m_per_point or usd_per_1pct. | |
| unit_textstring | The unit in words. | |
| strike_stepnumber | null | The usual distance between strikes. | index points |
| strikesarray | The strikes, rising. | index points |
| gammaarray | Dealer gamma at each strike, in unit. | |
| contractstring | null | Futures: the contract. | |
| basisobject | Futures: the basis that moved the strikes. | |
| basis.valuenumber | null | Future minus index. | index points |
| basis.indexstring | The index. | |
| basis.rulestring | How the basis is made. | |
| basis.notestring | The strikes in words. |
Errors
| Status | Code | What to do |
|---|---|---|
| 400 | missing_sym, bad_book | A parameter is wrong. Pass sym, one symbol or a comma list. |
| 401 | no_key, bad_key | No key, or an unknown or revoked one. Send Authorization: Bearer <key> with a key of the product's scope. |
| 403 | live_required | No LIVE plan. Start or renew LIVE; pricing names the page. |
| 404 | unknown_symbol, no_data, no_basis, contract_not_live | No such symbol, or no book yet. Pick one from GET /api/v1/symbols. |
| 429 | rate_limited, too_many_places | Over a limit. Wait Retry-After seconds; poll with If-None-Match, a 304 is free. |
Every code: Errors.
Caching
Answers carry an ETag: send it back as If-None-Match and an unchanged reading answers 304 with no body, not counted against the limit.
Changes
- 2026-09-30 Added.
OpenAPI operation getGamma in /docs/developers/openapi.json.
Measurements of dealer positioning, never a forecast or a trade call. This page is built from FirmTape's public contract, the same files the OpenAPI document is built from; the tests hold them against the route code. Markdown: /docs/developers/live/gamma.md.