options profile greeks
Displays the results of our orderflow classification engine, showing the net imbalance of transactions for a specified Greek. This allows for detailed analysis of taker long vs. short positioning and its associated risks.
chart
Powers the options profile, dex ladder, convexity ladder, and -vanna/charm ladder charts.
Displays the results of our orderflow classification engine, showing the net imbalance of transactions for a specified Greek. This allows for detailed analysis of taker long vs. short positioning and its associated risks.
Subscription
Requires a State subscription or higher.
Request
Example: /SPX/state/delta_zero
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 | Options |
|---|---|---|---|
ticker | string | Desired ticker symbol (e.g., SPX). | |
category | string | The Greek to analyze. Options include delta (DEX), gamma (Convexity), vanna, and charm. Requires State or higher. | delta_zero or delta, gamma_zero or gamma, vanna_zero or vanna, charm_zero or charm, delta_one or onedelta, gamma_one or onegamma, vanna_one or onevanna, charm_one or onecharm |
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. |
min_dte | integer | The days-to-expiration (DTE) for the nearest expiry. |
sec_min_dte | integer | The days-to-expiration (DTE) for the next expiry. |
major_positive | number | Strike with the largest positive exposure for the specified Greek. |
major_negative | number | Strike with the largest negative exposure for the specified Greek. |
major_long_gamma | number | Strike with the largest long taker gamma exposure. |
major_short_gamma | number | Strike with the largest short taker gamma exposure. |
mini_contracts | array | Array of strike data elements: [strike, call_ivol, put_ivol, greek, priors, put_cvolume, put_cvolume_priors]. Priors represent historical lookback values for the requested Greek. Classified call and put volume splits are web-app only. In public API responses, put_cvolume is 0 and put_cvolume_priors is null. |
{
"timestamp": 1753283592,
"ticker": "SPX",
"spot": 6326.27,
"min_dte": 0,
"sec_min_dte": 1,
"major_positive": 6345,
"major_negative": 6280.08,
"major_long_gamma": 6329.46,
"major_short_gamma": 6335.55,
"mini_contracts": [
[
6510,
0.426,
0,
0,
[
0,
0,
0
],
0,
null
],
[
6310,
0.126,
0.137,
52.36,
[
51.41,
57.72,
30.76
],
0,
null
],
[
6340,
0.105,
0.113,
-255.01,
[
-271.73,
-389.27,
-315.41
],
0,
null
]
]
}{
"type": "object",
"properties": {
"timestamp": {
"type": "integer",
"format": "int64"
},
"ticker": {
"type": "string",
"minLength": 2,
"maxLength": 6
},
"spot": {
"type": ["number", "null"],
"format": "double"
},
"min_dte": {
"type": "integer"
},
"sec_min_dte": {
"type": "integer"
},
"major_positive": {
"type": "number"
},
"major_negative": {
"type": "number"
},
"major_long_gamma": {
"type": "number"
},
"major_short_gamma": {
"type": "number"
},
"mini_contracts": {
"type": "array",
"items": {
"type": "array"
}
}
},
"additionalProperties": false
}type: object
properties:
timestamp:
type: integer
format: int64
ticker:
type: string
minLength: 2
maxLength: 6
spot:
type: [number, 'null']
format: double
min_dte:
type: integer
sec_min_dte:
type: integer
major_positive:
type: number
major_negative:
type: number
major_long_gamma:
type: number
major_short_gamma:
type: number
mini_contracts:
type: array
items:
type: array
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. |
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"} | The server has no live data for the ticker and category. |
500 | {"error": "Failed to get chart data."} | The server could not decode the data. Retry the request. |
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.
orderflow
Provides a real-time snapshot of key orderflow metrics for the nearest and next expiries. This includes aggregated and net taker exposure (DEX), GEX, convexity, vanna, and charm, as well as orderflow indicators that measure the change in these exposures per second.