TanukiTrade
BETA · included with PRO

The GEX REST API
for options structure data

The current v1 HTTP/JSON contract for derived options analytics — gamma profiles, primary and secondary levels, seven strike-exposure views, IV, expected-move ranges, chain activity, technical context and ET-day history — across 250+ symbols. One version, one flat JSON body, and real routes throughout this page.

See all 50 endpoints

Included with TanukiTrade PRO — no separate API license. Fair-use rate limits apply.
PRO
Included access
REST API and MCP are part of an active TanukiTrade PRO subscription.
250+
Liquid U.S. symbols
/ES1, /NQ1, /RTY1, /GC1, XAUUSD, BTCUSD, and liquid U.S. equities and ETFs.
50
v1 endpoints
Every route is POST under /api/v1 and takes one flat JSON body.
0DTE
Intraday native
EOD / PRE / OPEN expected-move boxes & same-day gamma structure.

Full-quality data. Included with PRO.

The GEX REST API is the options-structure layer behind TanukiTrade — delivered over a clean HTTP interface for personal, non-commercial analysis and private research. Each PRO member requests a personal key in the WebApp; fair-use rate limits protect shared capacity.

Clean HTTP / JSON

Predictable REST endpoints, bearer-token auth, structured JSON, explicit symbol/expiry/mode params and freshness metadata on every response.

Included with PRO

API and MCP access are included in TanukiTrade PRO. There is no separate API license or API add-on to buy.

Your key in the WebApp

Each PRO member copies a personal API key from the WebApp API Access page. The key identifies that member on the REST API and on MCP.

Personal research use

Automate private, non-commercial analysis under the Terms. No WebApp scraping, redistribution, commercial use, or raw OPRA data.

A single request for the whole gamma picture

Authenticate with a bearer token, POST a flat JSON body, and receive the common ok / data.items / meta envelope. The example is copied from the same accepted contract bundle that drives the API documentation.

Python JS / TS Excel / Sheets n8n / Zapier
POST /api/v1/gamma/key-levels/primary
# Request
curl https://api.tanukitrade.com/api/v1/gamma/key-levels/primary \
  -X POST \
  -H "Authorization: Bearer $TANUKI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"symbol":"SPX"}'

# Response
{
  "ok": true,
  "data": {
    "items": [
      {
        "symbol": "SPX",
        "expiration_date": "2026-10-23",
        "dte": 2,
        "aliases": [
          "0",
          "w1"
        ],
        "is_monthly": false,
        "snapshot_type": "latest",
        "snapshot_at": "2026-10-21T15:59:05.000-04:00",
        "spot_price": 7760.66,
        "sessions": [],
        "levels": {
          "P1": {
            "strike": 7700,
            "weight": -61.08
          },
          "pT": {
            "strike": 7730,
            "weight": null
          },
          "HVL": {
            "strike": 7740,
            "weight": null
          },
          "cT": {
            "strike": 7760,
            "weight": null
          },
          "C1": {
            "strike": 7800,
            "weight": 100
          }
        }
      }
    ]
  },
  "meta": {
    "request": {
      "symbol": "SPX",
      "expiry": "w1",
      "method": "cumulative"
    },
    "count": 1,
    "generation": "934247a0818e.68ff7909b759",
    "as_of": {
      "secondary": "2026-10-21T15:59:05-04:00"
    },
    "built_at": "2026-10-23T01:08:02-04:00",
    "omitted": [],
    "docs": {
      "reference": "https://tanukitrade.com/docs/api/gamma#list_key_levels_primary",
      "glossary": "https://tanukitrade.com/docs/api/glossary"
    },
    "total": 1,
    "page": 1,
    "page_count": 1,
    "next_cursor": null
  }
}

Real v1 route, accepted request body, and contract example. Times use ET offsets.

50 real routes, one verified contract

This list is loaded from the accepted API documentation bundle. All calls use bearer authentication, POST, Content-Type: application/json, and body parameters—never path placeholders or query parameters.

Discovery

POST /api/v1/discovery/symbols

Symbols. Lists the visible instrument universe. Optional symbols filters the list; unknown symbols are omitted. Page size: 400.

POST /api/v1/discovery/expiries

Expiries. Lists one symbol’s expiries. Each row is the date, DTE, aliases, and whether that date is the monthly. net_gex is not returned. There is no flags field. Page size: 400.

POST /api/v1/discovery/glossary

Glossary. The dictionary of labels and concepts the other routes emit. Optional terms filters to those ids. Omit it for the full list; meta.request.terms is null. An empty array is the full list too, and meta.request.terms echoes []. The body is static.

Fundamentals & earnings

POST /api/v1/fundamentals/profile

Company profile. Lists sector_name, industry_group, chief_executive, company_url, market cap, P/E, EPS, dividend yield, and when the fundamentals were updated. Page size: 400.

POST /api/v1/fundamentals/benchmark-correlation

Benchmark correlation. Lists correlation and beta versus SPY, QQQ, IWM, TLT, and GLD. Windows are the last 21, 63, and 252 common daily log returns. best_fit_benchmark is the greatest signed 63-day correlation at or above 0.30, skipping the symbol itself. A tie keeps the benchmark order. A missing 63-day window is null. A row against itself is 1.0. Optional benchmarks limits the blocks and does not change the best fit. Page size: 200.

POST /api/v1/fundamentals/earnings

Earnings. Lists earnings rows. Events whose days_to_earnings is -100 or less are dropped before the symbol filter. Each row also has optimal_expiry_move and implied_move. A missing block is null, not an absent key. Optional period keeps past, future, or both. Page size: 400.

POST /api/v1/fundamentals/conversion-factor

Conversion factor. Lists the conversion factor for every visible symbol. XSP is 0.1 and fixed. A future uses the latest positive finite factor. A listed symbol is 1. Page size: 400.

Volatility

POST /api/v1/volatility/iv-metrics

IV metrics. Lists IV rank, IV percentile, average IVx, the 5-day IVx change, and the liquidity rating. Page size: 400.

POST /api/v1/volatility/term-structure

Term structure. Lists per-expiry IVx and the weekly and monthly backwardation blocks on the discovery expiry frame. Page size: 400.

POST /api/v1/volatility/backwardation-summary

Backwardation summary. Lists each symbol's largest weekly and monthly IVx fall from the chain, counting a pair only when the front DTE is greater than 5. Page size: 400.

POST /api/v1/volatility/call-put-skew

Call/put skew. Lists per-expiry call/put skew and whether that expiry is the generator's optimal expiry. Page size: 400.

Expected move & ranges

POST /api/v1/range/0dte-box

0DTE boxes. Lists the latest and previous 0DTE expected-move boxes. A box has target_date, snapshots (eod, pre, open), and widest. Page size: 100.

POST /api/v1/range/binary-expected-move

Binary expected move. Lists the binary expected move. distance_pts is the per-expiry average of the stored expected move, at most 4 decimal places. distance_pct is that distance over the expiry opex spot, in percent, rounded to 4 decimal places. Page size: 400.

POST /api/v1/range/std1-sigma

1-sigma range. Lists the 1-sigma distance_pts. The generator’s 0DTE override is already in the stored column. Same scaling and omission rules as the binary expected move. distance_pct is a percent. ivx is not returned. Page size: 400.

POST /api/v1/range/delta-interpolated-ladder

Delta ladder. Lists the 16, 20, 25, 30, 35, and 40 delta distances. Puts are stored negative; the response uses the absolute distance. A rung is null unless both sides are finite. The row returns spot_price, that expiry's average opex spot, not a live quote. A rung does not include a strike or a price. Page size: 200.

POST /api/v1/range/tanuki-smart-range

Tanuki Smart range. Each side is the mean of the available positive binary expected move, positive 1-sigma distance, and absolute delta-16 distance. put and call sit on the row. skew is on the row. components carries bem_pts, std1_pts, delta16_put_pts, and delta16_call_pts. Page size: 400.

Gamma structure

POST /api/v1/gamma/profile-states

Profile states. Lists gamma profile state for each symbol, expiry, and snapshot. State is computed from the row and the five primary strikes. Page size: 200.

POST /api/v1/gamma/key-levels/primary

Primary key levels. Lists P1, pT, HVL, cT, and C1. A missing level is omitted. weight is null when that size is missing. Page size: 400.

POST /api/v1/gamma/key-levels/secondary

Secondary key levels. Lists the labels that are not the primary five, including extended walls and the tail labels. Page size: 200.

POST /api/v1/gamma/net-exposures

Net exposures. Lists net GEX and net DEX. oi_share_pct is the share of the symbol's total open interest on this expiry, in percent, rounded to 4 decimal places. oi_share_pct_change is the difference in percentage points, rounded to 4 decimal places. Page size: 400.

POST /api/v1/gamma/strikes/net-gex

Strike net gex. Lists strike-level net GEX for one symbol and expiry. The header includes is_monthly. spot_price and is_spot use the most common positive underlying price in the chain snapshot. A tie does not build the slice. meta.as_of.price is that snapshot's publish time, ET with an offset. Rows do not include spot_price or is_spot. Page size: 400.

POST /api/v1/gamma/strikes/net-dex

Strike net dex. Lists strike-level net DEX for one symbol and expiry. The header includes is_monthly. spot_price and is_spot use the most common positive underlying price in the chain snapshot. A tie does not build the slice. meta.as_of.price is that snapshot's publish time, ET with an offset. Rows do not include spot_price or is_spot. Page size: 400.

POST /api/v1/gamma/strikes/net-oi

Strike net oi. Lists strike-level net open interest for one symbol and expiry. The header includes is_monthly. spot_price and is_spot use the most common positive underlying price in the chain snapshot. A tie does not build the slice. meta.as_of.price is that snapshot's publish time, ET with an offset. Rows do not include spot_price or is_spot. Page size: 400.

POST /api/v1/gamma/strikes/abs-oi

Strike abs oi. Lists strike-level absolute open interest for one symbol and expiry. The header includes is_monthly. spot_price and is_spot use the most common positive underlying price in the chain snapshot. A tie does not build the slice. meta.as_of.price is that snapshot's publish time, ET with an offset. Rows do not include spot_price or is_spot. Page size: 400.

POST /api/v1/gamma/strikes/abs-gex

Strike abs gex. Lists strike-level absolute GEX for one symbol and expiry. The header includes is_monthly. spot_price and is_spot use the most common positive underlying price in the chain snapshot. A tie does not build the slice. meta.as_of.price is that snapshot's publish time, ET with an offset. Rows do not include spot_price or is_spot. Page size: 400.

POST /api/v1/gamma/strikes/net-volume

Strike net volume. Lists strike-level net volume for one symbol and expiry. The header includes is_monthly. spot_price and is_spot use the most common positive underlying price in the chain snapshot. A tie does not build the slice. meta.as_of.price is that snapshot's publish time, ET with an offset. Rows do not include spot_price or is_spot. Page size: 400.

POST /api/v1/gamma/strikes/gex-by-volume

Strike gex by volume. Lists strike-level GEX by volume for one symbol and expiry. The header includes is_monthly. spot_price and is_spot use the most common positive underlying price in the chain snapshot. A tie does not build the slice. meta.as_of.price is that snapshot's publish time, ET with an offset. Rows do not include spot_price or is_spot. Page size: 400.

POST /api/v1/gamma/strikes/net-vanna

Net vanna by strike. Lists strike-level net vanna for one symbol and expiry. value is vanna times open interest times 100 times the underlying price, call minus put. Live only; there is no strike history. Page size: 400.

POST /api/v1/gamma/strikes/net-charm

Net charm by strike. Lists strike-level net charm for one symbol and expiry. value is charm times open interest times 100 times the underlying price, call minus put. Live only; there is no strike history. Page size: 400.

Chain activity

POST /api/v1/chain/activity

Chain activity. Lists call and put open interest and volume. Optional symbols filters the list; unknown symbols are omitted. Order is total volume descending, then symbol ascending. Page size: 400.

POST /api/v1/chain/expiry-distribution

Expiry distribution. Lists per-expiry open interest and volume for one symbol. standalone is that expiry. cumulative is every expiry through that date. Page size: 400.

POST /api/v1/chain/max-pain-summary

Max pain summary. Lists max pain for each expiry. Required: at least one of symbol or expiry. Sending both is fine. standalone is that expiry. cumulative uses the gamma window. A tie takes the strike closer to the spot, then the lower strike. The strike curve is list_chain_strikes_max_pain. Page size: 400.

POST /api/v1/chain/strikes/max-pain

Max pain by strike. Lists the max-pain curve for one symbol and expiry. method defaults to standalone and is always echoed. value is open interest times 100 times intrinsic value, in USD. levels contains MaxPain on the minimum row. The header strike matches list_chain_max_pain_summary. Page size: 400.

Technical context

POST /api/v1/technical/price-change

Price change. Lists the latest price and the change from the previous close. spot_price is the price at snapshot_at. A mapped future rounds spot_price to the contract tick. change_pts is points, at most 4 decimal places, with no tick rounding. change_pct is percent, rounded to 4 decimal places. sort is symbol or abs_change_pct. limit is 1 to 261. Page size: 400.

POST /api/v1/technical/realized-volatility

Realized volatility. Lists close-to-close HV, Parkinson, ATR percent, Bollinger percent-b and bandwidth, and iv_hv_spread_30_vol_pts. hv and parkinson fields are annualized volatility in percent. bb_percent_b_20 is a fraction from 0 to 1. iv_hv_ratio_30 is a ratio, not a percent. The current row is the last completed session. Page size: 400.

POST /api/v1/technical/ohlcv

Daily OHLCV. Lists daily open, high, low, close, and volume for one symbol. end_date defaults to today ET and is inclusive. A later date is rejected. Rows are newest day first. volume is a share count on a listed STOCK or ETF and null on INDEX and on every synthetic, including futures and XSP. A future price uses that day's conversion factor. XSP uses 0.1. Page size: 100.

Daily history

POST /api/v1/history/volatility/iv-rank

IV rank history. Reads daily IV rank. Required: at least one of symbol or snapshot_date. Sending both is fine. The latest stored day uses snapshot_type latest. IV rank 0 is kept. Values are not scaled. A mapped symbol is omitted before the first day with a positive finite conversion factor. XSP is returned on every base day. If the conversion-factor table cannot be read, the response is 503 DATA_WARMING, not an empty list. A listed symbol or XSP does not wait for the table. A day that would include a mapped future does. Page size: 400.

POST /api/v1/history/volatility/ivx

IVx history. Reads daily IVx average and ivx_5d_change_pct. ivx_avg is annualized volatility in percent and keeps no unit suffix. IVx 0 and a 5-day change of 99 are null. Values are not scaled. A mapped symbol is omitted before the first day with a positive finite conversion factor. XSP is returned on every base day. If the conversion-factor table cannot be read, the response is 503 DATA_WARMING, not an empty list. A listed symbol or XSP does not wait for the table. A day that would include a mapped future does. Page size: 400.

POST /api/v1/history/volatility/call-put-skew

Call/put skew history. Reads the daily call/put skew at the generator optimal expiry. An alias on this history is only M1, M2, or M3. Values are not scaled. A mapped symbol is omitted before the first day with a positive finite conversion factor. XSP is returned on every base day. If the conversion-factor table cannot be read, the response is 503 DATA_WARMING, not an empty list. A listed symbol or XSP does not wait for the table. A day that would include a mapped future does. Page size: 400.

POST /api/v1/history/range/0dte-box

0DTE box history. Reads valid 0DTE expected-move days. Required: at least one of symbol or snapshot_date. Sending both is fine. mode is separated or widest_known (default). A mapped future is omitted before the first day with a positive finite conversion factor. Prices are not multiplied again: an own row is already that instrument's price, a micro uses its parent's stored price, and XSP is already one tenth of SPX. If the conversion-factor table cannot be read, the response is 503 DATA_WARMING, not an empty list. A listed symbol or XSP does not wait for the table. A day that would include a mapped future does. No data is an empty list. Page size: 200.

POST /api/v1/history/gamma/profile-states

Profile history. Lists stored gamma profile snapshots for one ET day. A mapped symbol's history is available from the first day with a conversion factor. If the conversion-factor table cannot be read, the response is 503 DATA_WARMING, not an empty list. A listed symbol or XSP does not wait for the table. An expiry-only view that would include a mapped future does. Page size: 200.

POST /api/v1/history/gamma/key-levels/primary

Primary levels history. Lists stored primary key levels for one ET day. A mapped symbol's history is available from the first day with a conversion factor. If the conversion-factor table cannot be read, the response is 503 DATA_WARMING, not an empty list. A listed symbol or XSP does not wait for the table. An expiry-only view that would include a mapped future does. Page size: 400.

POST /api/v1/history/gamma/key-levels/secondary

Secondary levels history. Lists stored secondary key levels for one ET day. A mapped symbol's history is available from the first day with a conversion factor. If the conversion-factor table cannot be read, the response is 503 DATA_WARMING, not an empty list. A listed symbol or XSP does not wait for the table. An expiry-only view that would include a mapped future does. Page size: 200.

POST /api/v1/history/gamma/net-exposures

Net exposure history. Lists stored net GEX and net DEX for one ET day. oi_share_pct is the share of the symbol's total open interest on this expiry, in percent, rounded to 4 decimal places. oi_share_pct_change is the difference in percentage points, rounded to 4 decimal places. A mapped symbol's history is available from the first day with a conversion factor. If the conversion-factor table cannot be read, the response is 503 DATA_WARMING, not an empty list. A listed symbol or XSP does not wait for the table. An expiry-only view that would include a mapped future does. Page size: 400.

POST /api/v1/history/technical/price-change

Price change history. Reads the daily point and percent change. History is the close minus the previous close. spot_price is that day's close on the same scale as change_pts, including a future's row-day conversion factor. A day before the first positive finite factor is omitted. XSP uses its fixed 0.1 scale on every SPX day. A missing, zero, or negative close is null. The date field is snapshot_date. Page size: 400.

POST /api/v1/history/technical/realized-volatility

Realized volatility history. Reads daily realized volatility. The first window of bars is null. Values are not scaled. A mapped symbol is omitted before the first day with a positive finite conversion factor. XSP is returned on every SPX day. If the conversion-factor table cannot be read, the response is 503 DATA_WARMING, not an empty list. A listed symbol or XSP does not wait for the table. A day that would include a mapped future does. Page size: 400.

POST /api/v1/history/conversion-factor

Conversion factor history. Reads one symbol's conversion-factor days. end_date defaults to today ET and is inclusive. XSP and a listed symbol return an empty list. Page size: 400.

Account

POST /api/v1/account/usage

Account usage. Your own request counts per ET day for this token: totals, today with the open minute buckets, daily[] and by_endpoint[]. totals, today and daily[] include rate_limited (user minute-limit 429s). Not counted as usage. Account reads have their own per-minute limit. The MCP tool is get_account_usage.

POST /api/v1/account/clients

Account clients. Where this token was used: one row per transport, IP and user agent, newest first, at most 50 rows. Not counted as usage. Account reads have their own per-minute limit. The MCP tool is get_account_clients.

POST /api/v1/account/status

Account status. Connection test for this token: service state, the last finished data build, your client id, enabled groups and market minute limit. Not counted as usage. Account reads have their own per-minute limit. The MCP tool is get_account_status.

Built for a trading question, not an endpoint demo

Each workflow below uses only tools in the live v1 catalog. The API provides structure and measurements—not direction, orders, or trade signals.

0DTE day trader

Build one session map for SPX: resolve alias 0, read profile state and confluence, P1/pT/HVL/cT/C1, current versus previous-close net GEX/DEX, the valid EOD/PRE/OPEN box, and call/put activity.

Useful output: gamma regime and transition zone, strongest confluence, exposure change since the prior close, expected-move boundaries with validity times, and whether volume is current or prior-day.

list_expiries → list_gamma_profile_states → list_key_levels_primary → list_gamma_net_exposures → list_0dte_expected_move_boxes → list_chain_activity

Futures day trader

Call /ES1, /NQ1, /RTY1, or another supported future directly. Combine its current profile state and key levels with the Tanuki Smart range and the 16–40 delta distance ladder for the expiry you trade.

Useful output: the instrument’s structural state, primary and secondary levels, put/call range asymmetry, and wing distances in both points and percent.

list_expiries → list_gamma_profile_states → list_key_levels_primary → list_key_levels_secondary → list_range_tanuki_smart_range → list_range_delta_interpolated_ladder

Swing volatility regime

Rank a watchlist by IV rank and IV percentile, then compare IVx with 30-day realized volatility, the 5-day IVx change, the per-expiry IVx curve, call/put skew, and the weekly/monthly backwardation summary.

Useful output: expensive versus cheap implied volatility context, volatility expansion or contraction, term dislocations, skew, and liquidity quality—without pretending to predict direction.

list_volatility_iv_metrics → list_technical_realized_volatility → list_volatility_term_structure → list_volatility_call_put_skew → list_volatility_backwardation_summary

Earnings event plan

For an upcoming report, read the event session and days remaining, the optimal-monthly binary move, the first expiry after earnings, IV rank, call/put skew, and the surrounding term structure.

Useful output: the event expiry, expected magnitude in points and percent, IV context, and whether the volatility curve is distorted around the announcement.

list_earnings → list_volatility_iv_metrics → list_volatility_call_put_skew → list_volatility_term_structure

Watchlist movers and exposure

Compare a watchlist by today’s price change in points and percent, realized volatility, and 21/63/252-day correlation and beta versus selected benchmarks.

Useful output: the day’s movers, which names trade like their benchmark and which have their own story, and concentrated benchmark exposure for portfolio review.

list_technical_price_change → list_fundamentals_benchmark_correlation → list_technical_realized_volatility → list_fundamentals_profile

Daily structure journal

Compare specified ET dates and sessions for profile state, P1/pT/HVL/cT/C1, net GEX/DEX, IV rank, IVx, call/put skew, realized volatility, price change, and 0DTE box changes.

Useful output: what actually changed between sessions, when the snapshot was captured, and which fields were absent—without inventing intraday history.

list_history_gamma_profile_states → list_history_key_levels_primary → list_history_gamma_net_exposures → list_history_volatility_iv_rank → list_history_technical_realized_volatility

No API add-on. It is part of PRO.

REST and MCP are member benefits of an active TanukiTrade PRO subscription. Capacity is managed with transparent per-user rate limits, not a second license.

Included with PRO

No separate API subscription, credit balance, or API license. Keep your PRO membership active to retain access.

Self-service API key

Every PRO member copies a personal bearer token from the WebApp API Access page.

Fair-use rate limits

REST and MCP share the member’s ET-minute budget. The current default is 120 requests per minute; response headers show the enforced limit and reset.

The GEX REST API and MCP are included with PRO

Your TanukiTrade PRO membership covers the TradingView indicators, the GEX Live WebApp, Discord, REST API, and MCP server. Request your personal API key in the WebApp; no second purchase or API license is required. The same key identifies you on REST and MCP, and both share the rate limit. Programmatic access is for your own private, non-commercial analysis and research under Section 19 of the Terms.

GEX REST API — questions & answers

The GEX REST API is in beta and included with an active PRO subscription. During beta the contract can still change. Notice is posted in the changelog before a change ships. The beta ends on 2026-11-30, and v1 stable is 2026-12-01.
The REST API is included with an active TanukiTrade PRO subscription. There is no separate API license, prepaid credit pack, or API add-on. MCP for AI clients is a separate feature, also included with PRO.
Yes. An active TanukiTrade PRO subscription includes the REST API. A fair-use rate limit protects capacity for all members.
Sign in to the WebApp and open the API Access page. Copy your personal bearer token there. The same token works with the REST API and with MCP. Store it in an environment variable or a secret manager; never put it in a URL or a log.
The REST API and MCP share one per-user ET-minute budget. The current default is 120 requests per minute. Read the RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, and Retry-After response headers because the enforced limit is authoritative. Details are in the docs.
You may use your personal PRO credentials for private, non-commercial analysis and research, including your own scripts, alerts, dashboards, research pipelines, and AI agents. You may not scrape the WebApp or other user interfaces, share credentials, redistribute or publish API output, use it commercially, or train or benchmark a model with it. Stored output must be deleted within 30 days after your PRO access ends. See Section 19 of the Terms.
The REST API reference is at /docs/api. This page is the product overview. The reference lists the current 50-route catalog, request shapes, and examples.
No. The GEX REST API serves derived analytics only. It does not redistribute raw OPRA option-chain feeds, tick-level options data, or per-contract raw market data.
The v1 catalog covers 250+ visible instruments, including supported futures such as /ES1 and /NQ1, indices, equities, ETFs, metals, and crypto proxies. Use POST /api/v1/discovery/symbols for the current universe and POST /api/v1/discovery/expiries before an expiry-specific call. The 50 routes cover company context, earnings, IV and call/put skew, four range models, gamma profile state and key levels, seven strike-exposure views, chain activity, technical context, daily ET history, and the token's own usage, clients, and service status. The API returns derived analytics. spot_price comes with the gamma, strike-exposure, range, 0DTE box and price-change routes; see the docs. There is no raw options chain.
Yes, for your own private, non-commercial use, from the live strike routes. They publish about once a minute on NYSE weekdays from 06:40 through 16:00 ET. During that window, store or evaluate every response in your own system, subject to the retention and deletion rules in the Terms. Poll once per minute using the required strike route. The history API provides high-level gamma profile state, key levels, and net exposures; it does not provide strike-by-strike history, and no strike-history route is planned.
MCP for AI clients is a separate feature. For permitted private, non-commercial use, the GEX MCP server exposes the same analytics as callable tools. The REST API is the plain HTTP/JSON interface for your own scripts, private dashboards, and private research pipelines. MCP setup is in the MCP docs.
No. We provide structured market-structure context, not signals. GEX, IV, skew and expected move describe structure. They do not predict direction and are not financial advice.

Build on real options structure. Included with PRO.

The REST API is in beta and included with PRO. Copy your personal key from the WebApp API Access page. The contract can still change until v1 stable on 2026-12-01; notice goes in the changelog.

Let's start your charting easier now!

  • Try all 6 TradingView indicators + GEX Live WebApp FREE for 7 days with 250+ symbols
  • SPX, /ES, /NQ, /MES, /MNQ also included via futures mapping
  • Daily options market commentary, GEX analysis and educational support through our Discord community membership

Cancel anytime during the 7-day trial with no charges or commitments

Try for free now
  • Try all 6 TradingView indicators + GEX Live WebApp FREE for 7 days with 250+ symbols
  • SPX, /ES, /NQ, /MES, /MNQ also included via futures mapping
  • Daily options market commentary, GEX analysis and educational support through our Discord community membership

Cancel anytime during the 7-day trial with no charges or commitments

About Us

Meet the team behind TanukiTrade — combining decades of technical expertise and options trading experience to bring you professional-grade tools and education.

Role

Responsible for designing TanukiTrade's data-driven infrastructure, quantitative models, and strategic product direction. Beyond architecting the mathematical, statistical, and technological frameworks, he defines the methodology behind practical decision-support tools, ensuring that the system delivers reliable, interpretable and practical analytical outputs in real market conditions.

He conceives each product, brings it to life, and stays with it through its complete lifecycle. TanukiTrade, GEX Live, and the webapp — their look, distinctive design, and functionality — are his creations.

He was the first to invent an efficient, automated way to synchronize options data onto TradingView.

Bio

Greg brings over 15 years of experience in the international startup and enterprise technology sector, where he worked as a lead software architect designing complex corporate systems and scalable technology solutions. Throughout his career, he has built data-intensive platforms and business processes that supported high-reliability, high-load operations across multiple countries.

Since 2018, he has been actively involved in options trading, quantitative modeling, and probability-based market analysis. His professional focus includes volatility-driven market structures, theta & gamma dynamics, market microstructure, and automated statistical and mathematical analysis conducted on large datasets. As a quantitative specialist, his goal is to develop models and analytical frameworks that help identify and visualize meaningful patterns in options and market data.

As the founder of TanukiTrade, he is dedicated to making modern quantitative analysis and professional options-based thinking accessible to a broader trading community—through intuitive visualizations, transparent models, and effective decision-support tools.

Outside of his professional work, he is passionate about bonsai artistry, tree rescue, and gardening, and is the mindful owner of an energetic dachshund who reminds him daily of the importance of being present. Music, adventure, travel, nature, and exploring the world all play a defining role in his life. He is deeply committed to self-knowledge and personal growth. Creativity and a strong connection to nature shape his everyday life and serve as a constant source of inspiration in his professional thinking as well.

Gregory Szilagyi

Founder, Head of Product


Gery Nagy

Chief Options Expert

Role

Supports the development of TanukiTrade's options-focused educational framework and contributes to the professional methodology behind the platform's tools and indicators. Ensures that complex option concepts are presented clearly and responsibly, with particular emphasis on risk awareness and structured position-management principles.

Bio

With nearly 20 years of trading experience, Gery has built one of Hungary's most recognized communities in derivatives education. For the past 17 years, he has been teaching options trading full-time, helping thousands of students understand the mechanics, risks, and practical application of options in real-world markets. He is the founder of Hungary's largest options education platform, trusted by a broad audience of retail and advanced traders alike.

Gery's trading style is rooted in swing-based positioning, typically spanning a few days to a few weeks. He specializes in the SPX, focusing on positive-theta spread structures with relatively flat delta exposure and disciplined risk management across different market environments.

Beyond trading, Gery is also a developer, having built multiple proprietary options screeners and analytical tools to support his own decision-making. These tools later evolved into widely used scanners and data-driven solutions within his education ecosystem.

Since the very beginning of TanukiTrade, Gery has worked closely with the founder, Greg, as a senior professional advisor, helping with the platform's strategic direction and the development of its options-related concepts.

Outside the world of trading and technology, Gery is dedicated to personal growth and meaningful experiences. He loves exploring new places, practicing self-development, and spending quality time with his family. Sports play an important role in his life as well — especially table tennis, swimming, and skiing — helping him maintain balance, focus, and long-term resilience both on and off the markets.


Role

Serves as TanukiTrade's 0DTE Strategy Expert, bringing nearly 25 years of market experience and a risk-adjusted approach to short-dated options strategy. His focus is on practical positioning, disciplined decision-making, and asymmetric risk/reward structures across changing market cycles.

Bio

Chris is the Founder and CIO of Streamwise Capital, with nearly 25 years of experience trading financial markets across stocks, options, futures, forex, and crypto. His journey began with a curious investment in Apple after buying his first iPod, followed by Netflix during its DVD-by-mail era. What started as a hobby grew into a professional passion, eventually leading him to co-found a trading club and work with private funds, institutional desks, and global investment banks.

Over the years, Chris has developed multi-strategy approaches focused on risk-adjusted returns, disciplined positioning and structured risk management across changing market cycles. He leverages proprietary tools to identify market inefficiencies, helping traders navigate different market cycles with proper positioning and discipline.

His trading philosophy is simple and powerful: "Trade to be profitable, not to be perfect." In the fast-moving world of 0DTE options, he often emphasizes that the main goal is to survive the day first.

Chris's work and insights have been featured in Investopedia, FX Street, FXTC Magazine, Equities.com, and across trading platforms, shows, conferences, and competitions around the world.

Outside the markets, Chris is a proud father and a French bulldog dad.

Chris Pulver

0DTE Strategy Expert

Top
/ES, /NQ, /GC, /SI, /RTY, /YM, AA, AAL, AAPL, ABBV, ABNB, ACHR, ADBE, AFRM, ALAB, AMAT, AMD, AMZN, ANET, APLD, APP, ARKG, ARKK, ARM, ASTS, AVGO, AXP, B, BA, BABA, BAC, BBY, BE, BIDU, BITO, BMNR, BMY, BP, BULL, C, CAT, CAVA, CCJ, CCL, CELH, CLF, CMCSA, CMG, COHR, COIN, COP, COST, CRCL, CRDO, CRM, CRWD, CRWV, CSCO, CVNA, CVS, CVX, DAL, DBX, DE, DELL, DIA, DIS, DKNG, DRAM, DVN, EBAY, EEM, ENPH, ETHA, ETSY, EWZ, F, FCX, FDX, FSLR, FXI, GDX, GDXJ, GE, GLD, GLW, GM, GME, GOOG, GOOGL, GS, HAL, HD, HIMS, HOOD, HPE, HUM, HYG, IBIT, IBM, IEF, IGV, INTC, IONQ, IREN, IWM, JD, JETS, JNJ, JOBY, JPM, KO, KRE, KWEB, LITE, LLY, LMT, LOW, LQD, LRCX, LULU, LVS, MA, MAGS, MARA, MCD, MDB, MET, META, MGM, MMM, MP, MPC, MRK, MRNA, MRVL, MS, MSFT, MSTR, MU, NBIS, NCLH, NDX, NET, NFLX, NKE, NOK, NOW, NU, NVDA, NVO, OKLO, OKTA, ON, ONDS, ORCL, OSCR, OXY, PANW, PATH, PBR, PDD, PEP, PFE, PINS, PLTR, PYPL, QBTS, QCOM, QQQ, RBLX, RCL, RDDT, RGTI, RIOT, RIVN, RKLB, RKT, ROKU, RTX, RUT, SBUX, SCHW, SHOP, SLB, SLV, SMCI, SMH, SNAP, SNDK, SNOW, SOFI, SOXL, SPCX, SPOT, SPX, SPY, SQQQ, STX, T, TEM, TFC, TGT, TLT, TQQQ, TSLA, TSLL, TSM, TTD, TXN, U, UAL, UBER, UNG, UNH, UPS, UPST, URA, USB, USO, UUUU, UVXY, V, VALE, VIX, VRT, VST, VXX, VZ, WDC, WFC, WMT, WYNN, XBI, XHB, XLB, XLE, XLF, XLI, XLK, XLP, XLRE, XLU, XLV, XLY, XOM, XPEV, XYZ, ZETA, ZM, XAUUSD, BTCUSD, ETHUSD, XAGUSD, /MES, /MNQ, /MYM, /MGC, /SIL, /M2K