Get 2D gamma exposure heatmap matrix
GET/v1/gex/{symbol}/heatmap

Get 2D gamma exposure heatmap matrix

Returns 2D matrix of dealer gamma exposure across strikes and expiration dates. Parameter metric ('net', 'call', or 'put') is accepted for compatibility and echoed back; cells always compute call, put, and net gamma. Default ±35% strike band around spot applies when neither strikeMin nor strikeMax is specified; when one bound is given, the search is one-sided. Capped at 5,000 cells (sets truncated: true).

Endpoint Usage & Plan Rules

Plan Access
Included in Basic
Active subscription
Rate Limit
One request per call; no daily quota
Result Clamping
Not Clamped
Full response returned

Parameters

Required Parameters

NameTypeLocationDescription
symbolstringpathUnderlying equity ticker symbol.

Optional Parameters

NameTypeLocationDescription
metricstringqueryGamma exposure metric: 'net', 'call', or 'put' (reserved / no-op parameter accepted for compatibility; echoes back in response with no effect on computation as cells always provide call, put, and net gamma).
strikeMinnumberqueryLower strike price boundary in USD. strikeMin > strikeMax returns 400 invalid_range.
strikeMaxnumberqueryUpper strike price boundary in USD.
minDteintegerqueryMinimum DTE horizon filter (alias: dteMin, default 0).
maxDteintegerqueryMaximum DTE horizon filter (alias: dteMax, 0-730, default 60).

Request Examples

curl -s -H "Authorization: Bearer $WSO_API_KEY" \
  "https://api.wheelstrategyoptions.com/v1/gex/SPY/heatmap?metric=net"

Try it

GET/v1/gex/{symbol}/heatmap
Included in Basic

Requests run against the live API with your key and count against its rate limits. The key is sent only to this site. Sign in to get a key

Add your API key to send.
Response

Send a request to see the live response, its status, timing, and rate-limit headers.

Response Attributes (200 OK)

FieldTypeNullableDescription
symbolstringNoUnderlying equity ticker symbol.
stockPricenumberNoCurrent stock spot price in USD.
metricstringNoGamma exposure metric: 'net', 'call', or 'put' (accepted for compatibility; echoed back with no effect on computation).
gammaFlipnumberYesZero-gamma flip price level in USD.
callWallStrikenumberYesMajor call wall strike price in USD.
putWallStrikenumberYesMajor put wall strike price in USD.
asOfstringYesISO 8601 UTC timestamp of calculation.
expirationsstring[]NoList of expiration dates included along Y-axis.
cellsobject[]No2D matrix cells containing strike and expiration gamma values.
truncatedbooleanNoIndicates whether the 5,000-cell cap was hit; omitted when false.

Response Example

json
{
  "symbol": "SPY",
  "stockPrice": 778.92,
  "metric": "net",
  "gammaFlip": 779.51,
  "callWallStrike": 780,
  "putWallStrike": 778,
  "asOf": "2026-10-09T19:32:20.682Z",
  "expirations": [
    "2026-10-09",
    "2026-10-12",
    "2026-10-13"
  ],
  "cells": [
    {
      "expiration": "2026-10-09",
      "strike": 510,
      "callGex": 0,
      "putGex": 0,
      "netGex": 0
    },
    {
      "expiration": "2026-10-09",
      "strike": 515,
      "callGex": 0,
      "putGex": 0,
      "netGex": 0
    },
    {
      "expiration": "2026-10-09",
      "strike": 520,
      "callGex": 0,
      "putGex": 0,
      "netGex": 0
    }
  ]
}

Error Responses

StatusDescription
400Bad Request. The request body, query parameters, or path values violated validation constraints.
401Unauthorized. Missing, malformed, or invalid API key credential.
403Forbidden. Rejection reasons: `subscription_required`, `subscription_inactive`, `trial_ended`, `plan_upgrade_required` (with `required_plan`), `wrong_credential_type`, `origin_forbidden` (origin authentication failed).
404Not Found. Requested resource, ticker symbol, or option contract does not exist.
405Method Not Allowed. Returned with an `Allow` header when an unsupported HTTP method is used. Error code: `method_not_allowed`. (HEAD is served on all GET routes and counts against the rate limit like GET.)
429Too Many Requests. Rejection reasons: `rate_limited` (per-minute limit), `too_many_concurrent_requests` (in-flight cap), `too_many_auth_failures`.
500Internal Server Error. Unhandled internal server or database error.
503Service Unavailable. Backing database, cache, or external provider connection unavailable.
Get dealer gamma exposure profileGet options flow trades