Live gamma exposure (GEX) levels, dealer positioning and regime reads for SPX, NDX, QQQ and MAG7
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Without signing in: not available; the call asks the user to sign in. Signed in (free account or plan): your name, plan or 'no plan', when you connected and how to disconnect. Which QuantGeeks account this connection uses: the display name the connection was made for, the plan in desk terms, when it was connected, and how to disconnect. Call it when the user asks to sign in, log in or connect their QuantGeeks account, whose data this is, or whether they are signed in.
This tool takes no arguments.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http gex https://data.quantgeeks.net/mcp
Without signing in: not available; the call asks the user to sign in. Signed in (free account or plan): your name, plan or 'no plan', when you connected and how to disconnect. Which QuantGeeks account this connection uses: the display name the connection was made for, the plan in desk terms, when it was connected, and how to disconnect. Call it when the user asks to sign in, log in or connect their QuantGeeks account, whose data this is, or whether they are signed in.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Without signing in: not available; the call asks the user to sign in. Signed in with a free QuantGeeks account: the full Active Levels rows (read rows included) for SPX, SPY, QQQ, META and AAPL only, as of the latest regime read of the trading day that is at least 60 minutes old; any other symbol: the result says it needs a QuantGeeks plan. With a QuantGeeks plan: live rows, refreshed every minute, for every name the desk supports; read rows included. What the desk's Active Levels widget shows: the strikes that matter right now for one book. For the index books that is the primary node, the two major nodes, the first hour's high and low and spot, each with its distance from price and how often today's tape has touched it; for a stock the same from its own gamma book, plus its ladder anchor. The SPX list also carries the current regime read's gates (the level that must hold), invalidation levels and roles (shelf, magnet, wall, trapdoor, hub). Net gamma is QuantGeeks GEX from the live frame (quote the strings as written). Regime reads cover the index books only; names say so in `note`.
| Argument | Type | Description |
|---|---|---|
| symbol* | string | Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"description": "Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX."
}
}
}Without signing in: the macro and earnings schedule for a date range (event, date and time in US Eastern, and the session for earnings), without estimates, results or moves. Signed in with a free QuantGeeks account: the same. With a QuantGeeks plan: the same plus the estimate and actual, the surprise, the straddle-implied move and the actual move. US macro releases, company earnings and SEC filings for a date range, chronological, at most 40 rows (`detail` 'all' lifts the cap), times in US Eastern (earnings by session: before open, during, after close). Default: today through the end of next week; at most 21 days. Filter with kind (macro, earnings, filings) and symbols (earnings and filings for those tickers). A plan adds EPS and revenue estimate against actual, the surprise, the straddle-implied move before the print, the actual move, and who the straddle paid. The answer carries an attribution (a data credit, CC BY-SA 4.0): pass it along when you share the data. For forward option positioning into a print use quantgeeks_get_expiration_map.
| Argument | Type | Description |
|---|---|---|
| to | string | Last day, YYYY-MM-DD. Default: the end of next week; the range is at most 21 days. |
| from | string | First day, YYYY-MM-DD (US Eastern). Default: today. |
| kind | string | 'all' (default), 'macro', 'earnings' or 'filings'. |
| detail | string | 'summary' (default): the first 40 rows; 'all': every row in the range. |
| symbols | array |
Requires a QuantGeeks plan; not available without signing in (the call asks the user to sign in) or with a free account (the call says it needs a plan). Forward expirations side by side for swing setups: the next few listed expirations, each with its primary and two major nodes, its total size in the strike window, and how its primary moved since the prior close, plus the summed book for everything within 35 days. The horizon is 35 calendar days. `expirations` is a count (default 5, at most 8) or a list of dates; `center`, or `from_strike` and `to_strike`, set the strike window (default 15 strikes each side of spot, at most 40); `date` reads a past session's close. `size` is QuantGeeks GEX (flow-based) by default; `measure` 'vex' returns VEX (vanna exposure) instead; `size_oi` is open-interest-based GEX, for comparison (GEX only). Sizes compare within one expiration. For one expiration's full ladder use quantgeeks_get_gex_ladder; for the same-day nodes over time, quantgeeks_get_node_history.
| Argument | Type | Description |
|---|---|---|
| date | string | Session date, YYYY-MM-DD (US Eastern): that session's close. Default: the latest session. |
| center | number | Strike the window is centered on (default: spot). |
| symbol* | string | Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX. |
| measure | string | 'gex' (default): QuantGeeks GEX (gamma exposure); 'vex': VEX (vanna exposure). Every number and node in the answer is in the measure it says. |
| strikes |
Requires a QuantGeeks plan; not available without signing in (the call asks the user to sign in) or with a free account (the call says it needs a plan). Per-strike gamma exposure (GEX by default; `measure` 'vex' returns the VEX ladder, vanna exposure), ONE column for ONE expiration: by default the latest minute and 20 strikes each side of spot, as on the QuantGeeks desk. The reply opens with the expiration (same-day or days out) and the key nodes (primary and two majors). Sizes compare only within one expiration (one book); same-day (0DTE) and later expirations are not comparable. Give `center` (a strike) or `from_strike` and `to_strike` to look away from spot, `time` (HH:MM ET) for another minute, `strikes` (up to 60) to widen. Net gamma is QuantGeeks GEX (flow-based); net vanna, with `measure` 'vex', is VEX; both exact, a readable string such as +$2.0M or −$10.0M (quote it as written) with dollars beside it. For nodes over several sessions use quantgeeks_get_node_history; for forward expirations side by side, quantgeeks_get_expiration_map.
| Argument | Type | Description |
|---|---|---|
| date | string | Session date, YYYY-MM-DD (US Eastern). Default: the most recent regular session. |
| time | string | Time of day HH:MM US Eastern. Default: the latest available minute. |
| range | integer | Alias of strikes. |
| center | number | Center the window on this strike instead of spot (e.g. 6550). |
| symbol* | string |
Without signing in: the last price for any supported name, delayed 15 minutes (the last 1-minute bar that closed by then, or the last close outside the session). Signed in with a free QuantGeeks account: the same. With a QuantGeeks plan: live. The last price for a supported name (see quantgeeks_list_symbols: SPX, SPY, QQQ, VIX and the rest), from QuantGeeks' own bars: the newest 1-minute bar close while the session is open, and the latest daily close when it is shut, with the basis and as-of time stated. Any other symbol is refused with the list of supported names. Without a plan the same answer is delayed.
| Argument | Type | Description |
|---|---|---|
| symbol* | string | Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"description": "Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX."
}
}
}Requires a QuantGeeks plan; not available without signing in (the call asks the user to sign in) or with a free account (the call says it needs a plan). How a name's primary and major nodes evolved across a date range, in one call: strike, polarity and size at each session's close (`every` 'close', default), every N minutes (N of at least 5), or at one `time` (HH:MM ET) each session. Defaults to the last 5 sessions with data; at most 30 sessions and 50 points. Sizes are GEX (QuantGeeks, flow-based) for the nearest expiration. Reports change: a `roll` moves the primary to a new strike on the same side of spot, a `flip` moves it across spot; plus size change, sign pattern and concentration. For one minute's full ladder use quantgeeks_get_gex_ladder; for forward expirations, quantgeeks_get_expiration_map.
| Argument | Type | Description |
|---|---|---|
| to | string | Last session date, YYYY-MM-DD (US Eastern). Default: the newest session with stored data (an overnight session counts). |
| from | string | First session date, YYYY-MM-DD (US Eastern). Default: 5 sessions before the last. |
| time | string | HH:MM US Eastern: one point per session at this time (overrides every). |
| every | any | 'close' (default): the last minute of each session; or minutes between samples, at least 5. |
| symbol* | string | Ticker, e.g. SPX (maps to SPXW), SPY, QQQ, GLD. |
Requires a QuantGeeks plan; not available without signing in (the call asks the user to sign in) or with a free account (the call says it needs a plan). The option chain for ONE expiration, compact: by default the 15 strikes on each side of spot, one row per strike with `gex` (QuantGeeks GEX, flow-based, the house value) first, `gex_oi` (open-interest GEX, for comparison) second, then call and put (bid, ask, iv, delta, open interest). The reply opens with the expiration (same-day or days out). Give `center` (a strike) or `from_strike` and `to_strike` to look away from spot, `strikes` (up to 40) to widen, `time` (HH:MM ET), `expiration`. A quote carries `quote_age_s`/`stale` when old and `below_intrinsic` when its bid is under intrinsic value: caveat or skip those. `gex` and `gex_oi` are readable strings such as +$2.0M or −$10.0M (quote them as written). For the GEX ladder alone, use quantgeeks_get_gex_ladder.
| Argument | Type | Description |
|---|---|---|
| date | string | Session date, YYYY-MM-DD (US Eastern). Default: the newest session with stored data for the symbol (an overnight session dated today counts). |
| time | string | Time of day HH:MM US Eastern. Default: the latest available minute. |
| range | integer | Alias of strikes. |
| center | number | Center the window on this strike instead of spot (e.g. 6550). |
| symbol* | string | Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX. |
Requires a QuantGeeks plan; not available without signing in (the call asks the user to sign in) or with a free account (the call says it needs a plan). Price bars, newest last, at most 100: by default 5-minute bars for the session (today or `date`), or daily bars when `days` is more than 1 or interval is D. `interval` is 1m, 5m, 15m or D; `limit` (1 to 100) keeps the newest bars; `days` (up to 250) sets the daily window. The reply gives `from`, `to`, `returned` and `available` so you can page by date, and `latest` (the live price, its time and basis, as quantgeeks_get_last_price gives it).
| Argument | Type | Description |
|---|---|---|
| date | string | Session date, YYYY-MM-DD (US Eastern). Default: the most recent regular session. |
| days | integer | Daily window in days (more than 1 selects daily bars). |
| limit | integer | How many of the newest bars (default and maximum 100). |
| symbol* | string | Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX. |
| interval | string | 1m, 5m, 15m or D. Default 5m (D when days > 1). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"date": {
"type": "string",
"description": "Session date, YYYY-MM-DD (US Eastern). Default: the most recent regular session."
},
"days": {
"type": "integer",
"maximum": 250,
"minimum": 1,
"description": "Daily window in days (more than 1 selects daily bars)."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "How many of the newest bars (default and maximum 100)."
},
"symbol": {
"type": "string",
"description": "Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX."
},
"interval": {
"enum": [
"1m",
"5m",
"15m",
"D"
],
"type": "string",
"description": "1m, 5m, 15m or D. Default 5m (D when days > 1)."
}
}
}Requires a QuantGeeks plan; not available without signing in (the call asks the user to sign in) or with a free account (the call says it needs a plan). What is returned depends on the member's plan; the result says what was included. Derived readings for a symbol or GLOBAL, with ONE `bias` that says its source: the regime read's bias for SPX, SPY and QQQ when your plan includes reads (written by Joule), otherwise the readings' own. Default: the LATEST value of each reading (with `fresh` and `age_min` while the session is open) plus up to 12 dated `changes`. Give `at` (HH:MM ET), `history` {from, to, every_min >= 5} (60 points max) or `metric`; `detail` 'all' lifts the 12-change cap. Node readings for SPX, SPY and QQQ are VEX (vanna) nodes and differ from the ladder's gamma nodes by design; for gamma nodes at a time use quantgeeks_get_gex_ladder, and over time quantgeeks_get_node_history. Quote readable strings as written.
| Argument | Type | Description |
|---|---|---|
| at | string | HH:MM ET: the readings as of that time. |
| date | string | Session date, YYYY-MM-DD (US Eastern). Default: the newest session with stored data for the symbol (an overnight session dated today counts). |
| time | string | Alias of at. |
| detail | string | 'summary' (default): up to 12 changes; 'all': every change of the session. |
| metric | string | Only this reading. |
| symbol |
Without signing in: only the end-of-day recap note, visible at 16:30 ET or 60 minutes after it is posted, whichever is later (until then, the previous session's recap); any date or time you give is ignored. Signed in with a free QuantGeeks account: the same. With a QuantGeeks plan: the latest read, the changes and every read of a session (bias, pivots, thesis, grades, GEX nodes), any date. QuantGeeks' regime reads for one session: throughout the trading day, a market bias, pivot levels, a thesis and the level that would invalidate it, then a graded end-of-day recap at 16:15 ET. The reads are written by Joule, QuantGeeks' AI market analyst; grades and recap numbers are computed from market data. Returns the `latest` read in full (slot time in US Eastern, bias, pivots, note, grade, GEX nodes capped at the primary, 3 major and 3 minor per book), up to 12 `changes` (bias or pivot changes, graded), the `score` (hits over graded reads, with counts; the recap's own figure is labeled as of posting) and the `recap` when posted; `detail` 'all' returns every read; `date` picks another session.
| Argument | Type | Description |
|---|---|---|
| date | string | Session date, YYYY-MM-DD (US Eastern). Default: the most recent regular session. |
| time | string | Ignored; accepted for compatibility. |
| detail | string | 'summary' (default): the latest read and the changes; 'all': every read of the session. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"type": "string",
"description": "Session date, YYYY-MM-DD (US Eastern). Default: the most recent regular session."
},
"time": {
"type": "string",
"description": "Ignored; accepted for compatibility."
},
"detail": {
"enum": [
"summary",
"all"
],
"type": "string",
"description": "'summary' (default): the latest read and the changes; 'all': every read of the session."
}
}
}Requires a QuantGeeks plan; not available without signing in (the call asks the user to sign in) or with a free account (the call says it needs a plan). The multi-leg option structures detected in one symbol's flow for a session (type, strikes, expiration, direction, contracts, notional), the price zones they form (with their label and range), and the largest single-leg whale prints (time in US Eastern, strike, expiration, side, contracts, premium). At most 25 per section, largest first (`detail` 'all' lifts the cap). Give symbol, optional date (default: the newest session with stored data) and kind ('all', 'structures', 'zones' or 'whales'). For node levels use quantgeeks_get_gex_ladder or quantgeeks_get_active_levels.
| Argument | Type | Description |
|---|---|---|
| date | string | Session date, YYYY-MM-DD (US Eastern). Default: the newest session with stored data (an overnight session counts). |
| kind | string | 'all' (default), 'structures', 'zones' or 'whales'. |
| detail | string | 'summary' (default): the largest 25 of each section; 'all': every row of each section. |
| symbol* | string | Ticker, e.g. SPX, SPY, QQQ. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"date": {
"type": "string",
"description": "Session date, YYYY-MM-DD (US Eastern). Default: the newest session with stored data (an overnight session counts)."
},
"kind": {
"enum": [
"all",
"structures",
"zones",
"whales"
],
"type": "string",
"description": "'all' (default), 'structures', 'zones' or 'whales'."
},
"detail": {
"enum": [
"summary",
"all"
],
"type": "string",
"description": "'summary' (default): the largest 25 of each section; 'all': every row of each section."
},
"symbol": {
"type": "string",
"description": "Ticker, e.g. SPX, SPY, QQQ."
}
}
}Without signing in: the whole session schedule, the public stream link while a session is live (from 30 minutes before the start to 10 minutes after the end), and YouTube and Vimeo recordings; never the members' join link. Signed in with a free QuantGeeks account: the same. With a QuantGeeks plan: the members' join link in place of the stream link, and every recording. Upcoming and live QuantGeeks team sessions with start and end times in US Eastern and canceled sessions marked canceled; the join link (members) or the public live-stream link (preview) only while the join window is open (from 30 minutes before the start to 10 minutes after the end); and recorded past sessions with their recording links, newest first (at most 20; `detail` 'all' lifts the cap). A session passcode is shown only on the QuantGeeks desk.
| Argument | Type | Description |
|---|---|---|
| detail | string | 'summary' (default): the 20 newest recordings; 'all': every recording. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"detail": {
"enum": [
"summary",
"all"
],
"type": "string",
"description": "'summary' (default): the 20 newest recordings; 'all': every recording."
}
}
}Without signing in: every supported symbol (marking the SPX, SPY, QQQ, META and AAPL that Active Levels covers without a plan) and the market status: open or closed, the next session, the next early close and upcoming holidays. Signed in with a free QuantGeeks account: the same. With a QuantGeeks plan: the same. Lists every symbol this QuantGeeks deployment can serve (a symbol whose data host is not connected here is left out, so every name listed can be used with the other tools) (with its replay range and whether the free preview covers it) and the market status now: open or closed, the next session date, today's or the next early close as a clock time, and the holidays in the next 30 days. SPX is served as its 0DTE option root SPXW and NDX as NDXP.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Without signing in: the basic reading guide: the core terms and the rules for reading the data correctly. Signed in with a free QuantGeeks account: the basic reading guide: the core terms and the rules for reading the data correctly. With a QuantGeeks plan: the complete guide: the full course, the field manual, and every term, rule and checklist. Reading rules for QuantGeeks data; call it before interpreting a board. With `query` (a term such as primary node, gamma flip, roll, VEX, or any words) it returns the entry or the closest sections, each with an id. With `section` (an id from a previous lookup) it returns that whole section. Give exactly one. It never labels a pattern itself.
| Argument | Type | Description |
|---|---|---|
| query | string | |
| section | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"section": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}Without signing in: a basic six-step workflow for reading a symbol's board with these tools. Signed in with a free QuantGeeks account: a basic six-step workflow for reading a symbol's board with these tools. With a QuantGeeks plan: the complete workflow, with every check before calling a level or a setup. A step-by-step workflow to follow when reading a symbol's board: which QuantGeeks tools to call in which order (active levels, the SPX, SPY and QQQ ladders as a committee, node history, the expiration map, readings and regime reads) and which rules to apply to what they return. It returns instructions, not data and not a verdict: call the tools it names, then apply the rules. Optional symbol, default SPX.
| Argument | Type | Description |
|---|---|---|
| symbol | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"symbol": {
"type": "string",
"maxLength": 24
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 15, 2026.
| Only earnings and filings for these tickers, e.g. ["NVDA","AAPL"]. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"description": "Last day, YYYY-MM-DD. Default: the end of next week; the range is at most 21 days."
},
"from": {
"type": "string",
"description": "First day, YYYY-MM-DD (US Eastern). Default: today."
},
"kind": {
"enum": [
"all",
"macro",
"earnings",
"filings"
],
"type": "string",
"description": "'all' (default), 'macro', 'earnings' or 'filings'."
},
"detail": {
"enum": [
"summary",
"all"
],
"type": "string",
"description": "'summary' (default): the first 40 rows; 'all': every row in the range."
},
"symbols": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 25,
"description": "Only earnings and filings for these tickers, e.g. [\"NVDA\",\"AAPL\"]."
}
}
}| integer |
| Strikes on each side of the center (default 15, at most 40). |
| to_strike | number | Highest strike of the window. |
| expirations | any | A count of the next listed expirations (default 5, at most 8) or a list of YYYY-MM-DD dates within 35 days. |
| from_strike | number | Lowest strike of the window. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"date": {
"type": "string",
"description": "Session date, YYYY-MM-DD (US Eastern): that session's close. Default: the latest session."
},
"center": {
"type": "number",
"description": "Strike the window is centered on (default: spot)."
},
"symbol": {
"type": "string",
"description": "Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX."
},
"measure": {
"enum": [
"gex",
"vex"
],
"type": "string",
"description": "'gex' (default): QuantGeeks GEX (gamma exposure); 'vex': VEX (vanna exposure). Every number and node in the answer is in the measure it says."
},
"strikes": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Strikes on each side of the center (default 15, at most 40)."
},
"to_strike": {
"type": "number",
"description": "Highest strike of the window."
},
"expirations": {
"anyOf": [
{
"type": "integer",
"maximum": 8,
"minimum": 1
},
{
"type": "array",
"items": {
"type": "string"
},
"maxItems": 8,
"minItems": 1
}
],
"description": "A count of the next listed expirations (default 5, at most 8) or a list of YYYY-MM-DD dates within 35 days."
},
"from_strike": {
"type": "number",
"description": "Lowest strike of the window."
}
}
}| Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX. |
| measure | string | 'gex' (default): QuantGeeks GEX (gamma exposure); 'vex': VEX (vanna exposure). Every number and node in the answer is in the measure it says. |
| strikes | integer | Strikes on each side of spot (default 20, at most 60). |
| to_strike | number | Highest strike of a range to show. |
| expiration | string | Option expiration YYYY-MM-DD. Default: the nearest. |
| from_strike | number | Lowest strike of a range to show (with to_strike). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"date": {
"type": "string",
"description": "Session date, YYYY-MM-DD (US Eastern). Default: the most recent regular session."
},
"time": {
"type": "string",
"description": "Time of day HH:MM US Eastern. Default: the latest available minute."
},
"range": {
"type": "integer",
"maximum": 60,
"minimum": 1,
"description": "Alias of strikes."
},
"center": {
"type": "number",
"description": "Center the window on this strike instead of spot (e.g. 6550).",
"exclusiveMinimum": 0
},
"symbol": {
"type": "string",
"description": "Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX."
},
"measure": {
"enum": [
"gex",
"vex"
],
"type": "string",
"description": "'gex' (default): QuantGeeks GEX (gamma exposure); 'vex': VEX (vanna exposure). Every number and node in the answer is in the measure it says."
},
"strikes": {
"type": "integer",
"maximum": 60,
"minimum": 1,
"description": "Strikes on each side of spot (default 20, at most 60)."
},
"to_strike": {
"type": "number",
"description": "Highest strike of a range to show.",
"exclusiveMinimum": 0
},
"expiration": {
"type": "string",
"description": "Option expiration YYYY-MM-DD. Default: the nearest."
},
"from_strike": {
"type": "number",
"description": "Lowest strike of a range to show (with to_strike).",
"exclusiveMinimum": 0
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"to": {
"type": "string",
"description": "Last session date, YYYY-MM-DD (US Eastern). Default: the newest session with stored data (an overnight session counts)."
},
"from": {
"type": "string",
"description": "First session date, YYYY-MM-DD (US Eastern). Default: 5 sessions before the last."
},
"time": {
"type": "string",
"description": "HH:MM US Eastern: one point per session at this time (overrides every)."
},
"every": {
"anyOf": [
{
"type": "string",
"const": "close"
},
{
"type": "number",
"minimum": 5
}
],
"description": "'close' (default): the last minute of each session; or minutes between samples, at least 5."
},
"symbol": {
"type": "string",
"description": "Ticker, e.g. SPX (maps to SPXW), SPY, QQQ, GLD."
}
}
}| strikes | integer | Strikes on each side of spot (default 15, at most 40). |
| to_strike | number | Highest strike of a range to show. |
| expiration | string | Option expiration YYYY-MM-DD. Default: the session expiration. |
| from_strike | number | Lowest strike of a range to show (with to_strike). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"date": {
"type": "string",
"description": "Session date, YYYY-MM-DD (US Eastern). Default: the newest session with stored data for the symbol (an overnight session dated today counts)."
},
"time": {
"type": "string",
"description": "Time of day HH:MM US Eastern. Default: the latest available minute."
},
"range": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Alias of strikes."
},
"center": {
"type": "number",
"description": "Center the window on this strike instead of spot (e.g. 6550).",
"exclusiveMinimum": 0
},
"symbol": {
"type": "string",
"description": "Ticker, e.g. SPX (maps to its 0DTE option root SPXW), SPY, QQQ, VIX."
},
"strikes": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Strikes on each side of spot (default 15, at most 40)."
},
"to_strike": {
"type": "number",
"description": "Highest strike of a range to show.",
"exclusiveMinimum": 0
},
"expiration": {
"type": "string",
"description": "Option expiration YYYY-MM-DD. Default: the session expiration."
},
"from_strike": {
"type": "number",
"description": "Lowest strike of a range to show (with to_strike).",
"exclusiveMinimum": 0
}
}
}| string |
| Ticker or GLOBAL. |
| history | object | A compact series instead of the latest values. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"at": {
"type": "string",
"description": "HH:MM ET: the readings as of that time."
},
"date": {
"type": "string",
"description": "Session date, YYYY-MM-DD (US Eastern). Default: the newest session with stored data for the symbol (an overnight session dated today counts)."
},
"time": {
"type": "string",
"description": "Alias of at."
},
"detail": {
"enum": [
"summary",
"all"
],
"type": "string",
"description": "'summary' (default): up to 12 changes; 'all': every change of the session."
},
"metric": {
"type": "string",
"pattern": "^[a-z0-9_]+$",
"description": "Only this reading."
},
"symbol": {
"type": "string",
"description": "Ticker or GLOBAL."
},
"history": {
"type": "object",
"required": [
"from",
"to",
"every_min"
],
"properties": {
"to": {
"type": "string",
"description": "HH:MM ET"
},
"from": {
"type": "string",
"description": "HH:MM ET"
},
"every_min": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 5,
"description": "Minutes between points, at least 5."
}
},
"description": "A compact series instead of the latest values."
}
}
}