The deepest part of the API: IV rank and cones, vol surfaces and smiles, term structure, volatility risk premium, HV regimes, IV mispricing, skew analytics, and day-over-day IV shift. Most endpoints require Premium (volatility_lab / iv_dashboard) or Pro (vol_term_analytics, iv_shift, skew_intelligence, volatility_arbitrage).
These endpoints use session-cookie auth (the platform UI). For
programmatic access with a long-lived API token, see the Bearer-token surface on the
MCP / Claude integration page.
IV analytics (/api/iv)
Feature key: volatility_lab (Premium).
GET/api/iv/rank
Premiumvolatility_labRate: 100/min
IV rank and percentile over the lookback window.
Parameters
ticker (required), days (lookback, 20–504, default 252)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv/rank?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv/rank", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv/volatility-cone
Premiumvolatility_lab
Realized-vol cone (percentiles by window) with current IV overlay.
Parameters
ticker (required)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv/volatility-cone?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv/volatility-cone", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv/volatility-risk-premium
Premiumvolatility_lab
Volatility risk premium: implied minus realized volatility.
Parameters
ticker (required)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv/volatility-risk-premium?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv/volatility-risk-premium", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv/mean-reversion
Premiumvolatility_lab
IV mean-reversion opportunity detection.
Parameters
ticker (required)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv/mean-reversion?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv/mean-reversion", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv/vol-spread
Premiumvolatility_lab
Current IV minus term-matched HV (HV window = DTE). Positive = IV rich, negative = IV cheap.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv/vol-spread?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv/vol-spread", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv/mispricing-heatmap
Premiumvolatility_lab
Vol-spread (IV − HV) heatmap across strikes × expirations for spotting mispriced options.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv/mispricing-heatmap?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv/mispricing-heatmap", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv/skew-analyzer
Premiumvolatility_lab
Vol spread at the put wing, ATM, and call wing of the smile for one expiration.
Parameters
ticker; expiration (optional — defaults to nearest)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv/skew-analyzer?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv/skew-analyzer", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/volatility_smile?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/volatility_smile", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/term_structure_smiles
Premiumvolatility_lab
Smiles for several expirations at once (term-structure overlay).
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/term_structure_smiles?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/term_structure_smiles", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/volatility_surface
Premiumvolatility_lab
3-D vol surface data (Plotly format).
Parameters
ticker (required)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/volatility_surface?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/volatility_surface", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/volatility_cone
Premiumvolatility_lab
Rolling realized-vol percentiles (p10/p25/median/p75/p90, min/max) for 10/20/30/60/90-day windows plus current ~30-DTE ATM IV.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/volatility_cone?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/volatility_cone", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/price_distribution
Premiumvolatility_lab
Price-distribution panel data grouped by delta or moneyness.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/price_distribution?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/price_distribution", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vol-arb/scan
Provolatility_arbitrage
Volatility-arbitrage scan for one underlying (cross-expiry and surface dislocations).
Parameters
ticker (required)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vol-arb/scan?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vol-arb/scan", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
Volatility Lab bundle (/api/vol-lab)
Consolidated endpoints behind the Volatility Lab page (2–3 our institutional data feed calls instead of ~50 chain calls). Feature key: volatility_lab (Premium).
GET/api/vol-lab/init/<ticker>
Premiumvolatility_lab
Everything for first paint in one call: smiles, term structure, surface, mispricing, headline metrics.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vol-lab/init/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vol-lab/init/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vol-lab/cone/<ticker>
Premiumvolatility_lab
Volatility cone (lazy-loaded tab).
Parameters
lookback (30–1260, default 252)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vol-lab/cone/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vol-lab/cone/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vol-lab/iv-rank-history/<ticker>
Premiumvolatility_lab
IV-rank time series.
Parameters
days (30–1260, default 252)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vol-lab/iv-rank-history/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vol-lab/iv-rank-history/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vol-lab/vrp-history/<ticker>
Premiumvolatility_lab
VRP time series.
Parameters
days (30–1260, default 252)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vol-lab/vrp-history/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vol-lab/vrp-history/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vol-lab/smile-history/<ticker>
Premiumvolatility_lab
Historical smile evolution.
Parameters
days (30–1890, default 504)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vol-lab/smile-history/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vol-lab/smile-history/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vol-lab/delta-iv-rank/<ticker>
Premiumvolatility_lab
IV rank computed at each delta point on the smile.
Parameters
days (30–1890, default 504)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vol-lab/delta-iv-rank/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vol-lab/delta-iv-rank/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vol-lab/skew-analytics/<ticker>
Premiumvolatility_lab
Forward vol, contango, and RIP time series.
Parameters
days (30–1890, default 756)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vol-lab/skew-analytics/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vol-lab/skew-analytics/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
IV Intelligence dashboard (/api/iv-dashboard)
Feature key: iv_dashboard (Premium).
GET/api/iv-dashboard/init/<ticker>
Premiumiv_dashboard
Core data for all 12 dashboard panels (parallel fetch of cores + IV rank + summaries).
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv-dashboard/init/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv-dashboard/init/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv-dashboard/history/<ticker>
Premiumiv_dashboard
Sparkline series for IV rank, VRP, skew, and contango.
Parameters
days (7–90, default 30)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv-dashboard/history/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv-dashboard/history/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv-dashboard/surface/<ticker>
Premiumiv_dashboard
Lazy-loaded vol surface with implied-vs-forecast mispricing.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv-dashboard/surface/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv-dashboard/surface/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv-dashboard/hvs/<ticker>
Premiumiv_dashboard
Lazy-loaded full HV dataset.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv-dashboard/hvs/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv-dashboard/hvs/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
Volatility risk premium (/api/vrp)
Feature key: iv_dashboard (Premium).
GET/api/vrp/<ticker>
Premiumiv_dashboard
Comprehensive period-based VRP analysis.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vrp/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vrp/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vrp/<ticker>/expirations
Premiumiv_dashboard
VRP by expiration (term-structure view).
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vrp/AAPL/expirations"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vrp/AAPL/expirations")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vrp/AAPL/timeseries"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vrp/AAPL/timeseries")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vrp/<ticker>/cone
Premiumiv_dashboard
Volatility cone data.
Parameters
periods (comma-separated day windows, optional)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vrp/AAPL/cone"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vrp/AAPL/cone")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vrp/<ticker>/strategies
Premiumiv_dashboard[Deprecated]
Deprecated — always returns an empty object.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vrp/AAPL/strategies"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vrp/AAPL/strategies")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vrp/scan
Premiumiv_dashboard
Scan the universe (or a custom list) for high-VRP opportunities.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vrp/scan"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vrp/scan")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
Institutional vol analytics (/api/institutional)
Bloomberg-style analytics. Feature key: volatility_lab (Premium). These use the demo-friendly gate: anonymous/Free users reach them but are limited to AAPL by the global demo restriction.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/institutional/vix"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/institutional/vix")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/institutional/vix/historical
Premiumvolatility_lab
Historical VIX rows (date, close, high, low).
Parameters
days (default 252, max 504)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/institutional/vix/historical"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/institutional/vix/historical")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/institutional/skew/<ticker>
Premiumvolatility_lab
25-delta skew: risk reversal (25Δ call IV − 25Δ put IV), butterfly, strikes/IVs, sentiment.
Parameters
expiration (optional; auto-selects ~30 DTE)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/institutional/skew/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/institutional/skew/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/institutional/skew/AAPL/term-structure"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/institutional/skew/AAPL/term-structure")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/institutional/term-structure/<ticker>
Premiumvolatility_lab
ATM IV term structure with interpolated constant-maturity 30/60/90-day points and shape classification (contango / backwardation / flat).
Parameters
max_expirations (default 12, max 15)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/institutional/term-structure/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/institutional/term-structure/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/institutional/surface-change/<ticker>
Premiumvolatility_lab
Day-over-day IV surface changes with summary statistics.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/institutional/surface-change/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/institutional/surface-change/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/institutional/dashboard/<ticker>
Premiumvolatility_lab
Combined payload: skew + term structure + surface in one response.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/institutional/dashboard/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/institutional/dashboard/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
Term Vol Analytics & strike history (Pro)
Feature key: vol_term_analytics (Pro).
GET/api/vol-term/expirations/<ticker>
Provol_term_analytics
Expiration dropdown data with ATM IV, slope, and confidence per expiry.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vol-term/expirations/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vol-term/expirations/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/vol-term/<ticker>/<expiration>
Provol_term_analytics
Full per-expiration analytics payload: strike-level mispricing, probability edge, institutional positioning.
Parameters
expiration in path (YYYY-MM-DD)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/vol-term/AAPL/2026-01-16"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/vol-term/AAPL/2026-01-16")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/strike-intel/history/<ticker>
Provol_term_analyticsRate: 100/min
Per-strike history of delta, theta, and IV (sparkline data) plus the ticker's ATM edge-vs-forecast series.
Parameters
exp (YYYY-MM-DD), strike (number), right ∈ C | P — all required; days (5–60, default 20)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/strike-intel/history/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/strike-intel/history/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv-shift/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv-shift/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv-shift/<ticker>/heatmap
Proiv_shift
IV change across strikes × expirations (term-structure heatmap).
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv-shift/AAPL/heatmap"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv-shift/AAPL/heatmap")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv-shift/<ticker>/envelope
Proiv_shift
Smile percentile bands only (lazy-loaded).
Parameters
exp (required); days (10–90, default 20)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv-shift/AAPL/envelope"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv-shift/AAPL/envelope")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/iv-shift/<ticker>/summaries
Proiv_shift
Bundle of decomposition history, forward vols, and option-seller win rate (all from one /hist/summaries fetch).
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/iv-shift/AAPL/summaries"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/iv-shift/AAPL/summaries")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
Skew Intelligence (/api/skew-intelligence)
Feature key: skew_intelligence (Pro).
GET/api/skew-intelligence/<ticker>
Proskew_intelligence
Full skew dashboard: decomposition, sector-relative skew, regime bands.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/skew-intelligence/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/skew-intelligence/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/skew-intelligence/<ticker>/history
Proskew_intelligence
Skew time series with regime bands.
Parameters
days (default 252)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/skew-intelligence/AAPL/history"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/skew-intelligence/AAPL/history")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/skew-intelligence/<ticker>/curvature
Proskew_intelligence
Curvature (second-order skew) analysis.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/skew-intelligence/AAPL/curvature"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/skew-intelligence/AAPL/curvature")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
Hidden / unpublished volatility endpoints
These modules are wired up but their feature keys are unpublished (published=False), so they return 404 to regular users (admins can access them; demo users can reach the api_tier_required ones for AAPL only). Listed for completeness.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/monies/implied/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/monies/implied/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/monies/forecast/<ticker>
Provol_surface_advanced[Hidden]
the ML forecast surface.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/monies/forecast/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/monies/forecast/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/monies/comparison/<ticker>
Provol_surface_advanced[Hidden]
Implied vs forecast with mispricing signals.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/monies/comparison/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/monies/comparison/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/volatility-snapshot/<ticker>
Premiumvolatility_snapshot[Hidden]
Ultra-simple IV vs HV snapshot: zones (put wing / ATM / call wing), smile, skew-premium heatmap, term structure.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/volatility-snapshot/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/volatility-snapshot/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/volatility-snapshot/multi
Premiumvolatility_snapshot[Hidden]
Snapshot summary for multiple tickers.
Parameters
tickers (comma-separated, max 10; default SPY,QQQ,IWM)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/volatility-snapshot/multi?ticker=AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/volatility-snapshot/multi", params={"ticker": "AAPL"})
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/hv-regime/<ticker>
Premiumhv_regimes[Hidden]
Full HV dashboard: all HV windows (5–1000d), term structure, regime label (Expanding / Normal / Contracting), 20-day forecast.
Parameters
days (default 252)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/hv-regime/AAPL"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/hv-regime/AAPL")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/hv-regime/<ticker>/term-structure
Premiumhv_regimes[Hidden]
Current HV term structure.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/hv-regime/AAPL/term-structure"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/hv-regime/AAPL/term-structure")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/hv-regime/<ticker>/signals
Premiumhv_regimes[Hidden]
HV regime crossover signals.
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/hv-regime/AAPL/signals"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/hv-regime/AAPL/signals")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/hv-regime/<ticker>/decomposition
Premiumhv_regimes[Hidden]
Close-to-close vs open-range HV decomposition.
Parameters
days (default 252)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/hv-regime/AAPL/decomposition"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/hv-regime/AAPL/decomposition")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.
GET/api/hv-regime/<ticker>/ex-earnings
Premiumhv_regimes[Hidden]
Regular vs ex-earnings IV comparison.
Parameters
days (default 252)
# log in first and reuse the cookie jar (see Authentication)
curl -b cookies.txt "https://apexvol.com/api/hv-regime/AAPL/ex-earnings"
import requests
s = requests.Session()
# log in to populate the session cookie (see Authentication)
r = s.get("https://apexvol.com/api/hv-regime/AAPL/ex-earnings")
print(r.json())
# With the apexvol-mcp server connected to Claude, just ask:
"What's the IV rank for AAPL?"
# Claude routes the request to the matching MCP tool — no HTTP required.