classic
gex max change
Contains the strikes with the most significant GEX change over various lookback periods (current, 1, 5, 10, 15, and 30 minutes). Also known as "max priors".
GET/{ticker}/classic/{category}/maxchangeClassic Tier
chart
Powers the gexbot classic chart.
Contains the strikes with the most significant GEX change over various lookback periods (current, 1, 5, 10, 15, and 30 minutes). Also known as "max priors".
Subscription
Requires a Classic subscription or higher.
Request
Example: /SPX/classic/full/maxchange
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 | Classic 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. |
current | array | The strike and GEX value with the largest change in the last calculation cycle. Two numbers: [strike, GEX change]. |
one | array | The strike and GEX value with the largest change in the last 1 minute. Two numbers: [strike, GEX change]. |
five | array | The strike and GEX value with the largest change in the last 5 minutes. Two numbers: [strike, GEX change]. |
ten | array | The strike and GEX value with the largest change in the last 10 minutes. Two numbers: [strike, GEX change]. |
fifteen | array | The strike and GEX value with the largest change in the last 15 minutes. Two numbers: [strike, GEX change]. |
thirty | array | The strike and GEX value with the largest change in the last 30 minutes. Two numbers: [strike, GEX change]. |
{
"timestamp": 1753283592,
"ticker": "SPX",
"current": [
6325,
-1567.937
],
"one": [
6340,
-1997.391
],
"five": [
6340,
-2542.092
],
"ten": [
6315,
-2920.413
],
"fifteen": [
6330,
4320.937
],
"thirty": [
6340,
8553.528
]
}{
"type": "object",
"required": [
"timestamp",
"ticker",
"current",
"one",
"five",
"ten",
"fifteen",
"thirty"
],
"properties": {
"timestamp": {
"type": "integer",
"format": "int64"
},
"ticker": {
"type": "string",
"minLength": 2,
"maxLength": 6
},
"current": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
},
"one": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
},
"five": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
},
"ten": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
},
"fifteen": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
},
"thirty": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"additionalProperties": false
}type: object
required:
- timestamp
- ticker
- current
- one
- five
- ten
- fifteen
- thirty
properties:
timestamp:
type: integer
format: int64
ticker:
type: string
minLength: 2
maxLength: 6
current:
type: array
minItems: 2
maxItems: 2
items:
type: number
one:
type: array
minItems: 2
maxItems: 2
items:
type: number
five:
type: array
minItems: 2
maxItems: 2
items:
type: number
ten:
type: array
minItems: 2
maxItems: 2
items:
type: number
fifteen:
type: array
minItems: 2
maxItems: 2
items:
type: number
thirty:
type: array
minItems: 2
maxItems: 2
items:
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 classic category. |
401 | (no body) | The API key is not valid. |
403 | {"error": "User is not subscribed."} | The account has no Classic subscription or higher. |
403 | {"error": "User does not have permission to access this endpoint."} | The account does not have REST API access. |
403 | {"error": "Commercial child access is suspended."} | The commercial seat that owns the API key is suspended. |
404 | {"error": "Chart not found."} | The server has no max change data for the ticker and category yet. |
429 | {"error": "Rate limit exceeded."} | The account has used its quota for this endpoint. See rate limits. |
500 | {"error": "Failed to get max change"} | The server could not read the data. Retry the request. |