gex profile major levels
Provides the major levels from the GEX Profile, including the strikes with the largest positive (call) and negative (put) GEX imbalances.
chart
Powers the gex profile chart.
Provides the major levels from the GEX Profile, including the strikes with the largest positive (call) and negative (put) GEX imbalances.
Subscription
Requires a State subscription or higher.
Request
Example: /SPX/state/gex_full/majors
Headers
| Name | Type | Description |
|---|---|---|
Authorization | string | Required. Format: "Bearer <YOUR_API_KEY>" |
User-Agent | string | Required. Identify your client application. |
Accept | string | Required. Set to "application/json". |
Path parameters
| Name | Type | Description |
|---|---|---|
ticker | string | Desired ticker symbol (e.g., SPX). |
category | string | GEX aggregation category: full, gex_full, zero, gex_zero, one, or gex_one. |
Response
| Field | Type | Description |
|---|---|---|
timestamp | integer | The Unix timestamp of when the data was generated. |
ticker | string | The ticker symbol for the requested asset. |
spot | number | The spot price of the underlying asset. null when spot data is not available to the caller. |
mpos_vol | number | Major positive GEX imbalance level (call GEX). |
mpos_oi | number | Not applicable for State model. |
mneg_vol | number | Major negative GEX imbalance level (put GEX). |
mneg_oi | number | Not applicable for State model. |
zero_gamma | number | Not applicable for State model |
net_gex_vol | number | The total GEX imbalance (net GEX) based on classified volume. |
net_gex_oi | number | Not applicable for State model. |
{
"timestamp": 1753283592,
"ticker": "SPX",
"spot": 6326.27,
"mpos_vol": 6345,
"mpos_oi": 0,
"mneg_vol": 6300,
"mneg_oi": 0,
"zero_gamma": 0,
"net_gex_vol": -200.55548,
"net_gex_oi": 0
}{
"type": "object",
"properties": {
"timestamp": {
"type": "integer",
"format": "int64"
},
"ticker": {
"type": "string",
"minLength": 2,
"maxLength": 6
},
"spot": {
"type": ["number", "null"],
"format": "double"
},
"mpos_vol": {
"type": "number"
},
"mpos_oi": {
"type": "number"
},
"mneg_vol": {
"type": "number"
},
"mneg_oi": {
"type": "number"
},
"zero_gamma": {
"type": "number"
},
"net_gex_vol": {
"type": "number"
},
"net_gex_oi": {
"type": "number"
}
},
"additionalProperties": false
}type: object
properties:
timestamp:
type: integer
format: int64
ticker:
type: string
minLength: 2
maxLength: 6
spot:
type: [number, 'null']
format: double
mpos_vol:
type: number
mpos_oi:
type: number
mneg_vol:
type: number
mneg_oi:
type: number
zero_gamma:
type: number
net_gex_vol:
type: number
net_gex_oi:
type: number
additionalProperties: falseErrors
Most error responses have the body {"error": "<message>"}. A 401 response has no body. A 403 response from the API key product check also has no body.
| Status | Body | When |
|---|---|---|
400 | {"error": "User-Agent not found."} | The request has no User-Agent header. |
400 | {"error": "Authorization header not found."} | The request has no Authorization header. |
400 | {"error": "Invalid ticker format."} or {"error": "Unknown ticker symbol: <ticker>"} | The ticker is not a known symbol. |
400 | {"error": "Invalid category package combination."} | The category is not a state category. |
400 | {"error": "Category must be one of gex_full, gex_one or gex_zero"} | The category is a greek category. This route accepts the GEX categories only. |
401 | (no body) | The API key is not valid. |
403 | {"error": "User is not subscribed."} | The account has no subscription. |
403 | {"error": "User does not have permission to access this endpoint."} | The account does not have REST API access. |
403 | {"error": "Classic package does not have access."} | The account has a Classic subscription. This route needs State or higher. |
403 | {"error": "Commercial child access is suspended."} | The commercial seat that owns the API key is suspended. |
429 | {"error": "Rate limit exceeded."} | The account has used its quota for this endpoint. See rate limits. |
500 | {"error": "Failed to get redis chart data: null or zero length"}, {"error": "Failed to get chart data."} or {"error": "Unexpected error occurred."} | The server could not read the data. Retry the request. |
gex profile
Based on classified orderflow, this endpoint nets out imbalanced calls against imbalanced puts to locate areas of significant imbalanced exposure. It helps identify high/low gamma nodes and call/put gamma regimes.
gex profile max change
Shows the strikes with the most significant change in GEX imbalance over various lookback periods. Also known as "max priors" for the GEX Profile.