- API
- Options data API
Options data API
Every options number,
one REST API.
Chains with the Greeks on every row, IV rank and term structure, dealer gamma, flow, expected moves, earnings history and end-of-day chains for past dates. One Bearer token, JSON back, read from the same feed the ApexVol Terminal uses.
Included with every paid plan; there is no free API tier. 7 days free, card required.
A real response
This is what
comes back.
Is SPY's IV curve in contango or inverted, and what move does each expiration price? Captured from the live endpoint on 2026-09-08, lists cut to a few rows so it fits on a page. The shape is exactly what your code receives. The endpoint page has every parameter and field.
{
"as_of": "2026-09-08T07:48:58.063902",
"iv_units": "percentage_points",
"stock_price": 770.25,
"term_structure": [
{
"atm_iv": 5.92,
"atm_strike": 770.0,
"dte": 0,
"expected_move_dollar": 3.82,
"expected_move_pct": 0.5,
"expiration": "2026-09-08",
"iv_expected_move_dollar": 0.0,
"iv_expected_move_pct": 0.0,
"lower_1sigma": 766.43,
"lower_2sigma": 762.61,
"straddle_call": 1.98,
"straddle_price": 3.82,
"straddle_put": 1.84,
"upper_1sigma": 774.07,
"upper_2sigma": 777.89
},
{
"atm_iv": 7.09,
"atm_strike": 770.0,
"dte": 1,
"expected_move_dollar": 5.12,
"expected_move_pct": 0.66,
"expiration": "2026-09-09",
"iv_expected_move_dollar": 2.86,
"iv_expected_move_pct": 0.37,
"lower_1sigma": 765.14,
"lower_2sigma": 760.02,
"straddle_call": 2.66,
"straddle_price": 5.12,
"straddle_put": 2.45,
"upper_1sigma": 775.36,
"upper_2sigma": 780.48
},
{
"atm_iv": 8.06,
"atm_strike": 770.0,
"dte": 2,
"expected_move_dollar": 6.38,
"expected_move_pct": 0.83,
"expiration": "2026-09-10",
"iv_expected_move_dollar": 4.6,
"iv_expected_move_pct": 0.6,
"lower_1sigma": 763.88,
"lower_2sigma": 757.5,
"straddle_call": 3.3,
"straddle_price": 6.38,
"straddle_put": 3.08,
"upper_1sigma": 776.62,
"upper_2sigma": 783.0
}
],
"ticker": "SPY"
}
Every response is wrapped as {"success": true, "data": {...}}. Errors use the same envelope with an error string and a status code that means what it says.
Call it three ways. Same token, same JSON.
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
"https://apexvol.com/api/mcp/data/term-structure/SPY"
import requests
headers = {"Authorization": "Bearer avmcp_YOUR_TOKEN"}
r = requests.get("https://apexvol.com/api/mcp/data/term-structure/SPY", headers=headers)
r.raise_for_status()
data = r.json()["data"]
print(data["as_of"])
Is SPY's term structure in contango or backwardation right now?
The assistant calls get_term_structure and answers from the JSON above.Every family
12 families,
64 endpoints.
All under https://apexvol.com/api/mcp/data. Each family page lists its endpoints with a real response; each endpoint page has the parameters and their bounds, every field and the errors.
What comes back
The data,
family by family.
The short version of each family above, plus the history that runs across them.
- Options chains
- Every strike for one or more expirations, calls and puts on the same row, with per-contract IV, delta, gamma, theta, vega, rho, volume and open interest. Trimmed to 20 strikes either side of the money by default; strikes_around=0 returns the full chain.
- Implied volatility
- IV rank and percentile against the last year, the term structure with the straddle-implied move for each expiration, the volatility cone, skew, the smoothed surface and the volatility risk premium.
- Greeks and dealer gamma
- Greeks heatmaps across strikes and expirations, third-order Greeks, charm, and dealer gamma exposure by strike with the gamma flip, the call and put walls and max pain.
- Options flow
- The day's largest trades for a ticker with a bullish or bearish read, and the trades that look institutional.
- Earnings and expected move
- The move priced to each expiration, past earnings moves, IV crush, post-earnings drift and a buy-or-sell read on the earnings straddle.
- History
- End-of-day chains for past trade dates with bid, ask, IV and Greeks, daily IV against realized vol, realized-vol regimes, skew history and seasonality.
- Strategies and risk
- Build, price and optimise multi-leg trades, probability of profit, what-if repricing of the chain, portfolio Greeks, scenarios, stress tests and hedge suggestions.
- Screens and calendars
- Preset screens such as the highest IV rank, a market-wide volatility overview, relative-value and vol-arbitrage scans, and the earnings and economic calendars.
Coverage and freshness
What it covers,
and how fresh it is.
- Symbols
- 5,500+ US-listed stocks and ETFs with listed options, plus the major indexes. GET /search confirms that a symbol is covered.
- During market hours
- Chains, IV and Greeks are read live from the data feed. Very frequent polling of one ticker may be answered from a short cache rather than a fresh read.
- Outside market hours
- You get the last session's values, and the chain's data_type field says whether what you are reading is live.
- Past dates
- End of day only. Historical chains are the close of each trading day; there are no intraday snapshots for past sessions.
- Source
- An institutional options data feed, the same one behind the ApexVol Terminal.
- Units
- Analytics endpoints give IV in percentage points and say so in iv_units; chain rows give per-contract IV as a decimal. The conventions page lists the rest.
The same data, in plain English
44 MCP tools
wrap the whole API.
Connect the ApexVol MCP server and Claude, ChatGPT, Cursor or another MCP client calls these by name. Add it from Claude's connector directory or paste https://apexvol.com/mcp-server; it signs in to your ApexVol account, so there is no token to paste.
Set it up in:
Ready-made questions for every family in the prompt library.
What people build
3 things
this is for.
Access, limits and price
- Who can call it
- Accounts on a paid plan or a trial. There is no free API tier: a token needs an active plan, and a token whose plan lapses stops working until the plan is active again.
- Auth
- Bearer token, prefix
avmcp_, created under Account, then API Access. Shown once, hashed at rest, rotates in one click. - Rate limits
- 60 requests a minute and 1,000 an hour per token. Every response carries the remaining counts in headers, and a 429 carries Retry-After.
- Monthly allowance
- 10,000 data requests a month per account on every plan, 75,000 on a paid Pro plan (trials use 10,000). Most calls cost 1;
GET /me/usageshows what is left and costs nothing. How it is counted. - Plans
- Basic, $55 a month, reaches 18 of 64 endpoints; Premium, $95, reaches 42; Pro, $195, reaches all 64. Each endpoint follows the plan of its feature in the web app, and every card and endpoint page shows which. Compare plans.
- Use of the data
- For your own analysis, models and tools. The terms do not allow redistributing or reselling API data to third parties.
- Spec
- OpenAPI 3.1 at /docs/api/openapi.json, the whole reference as one Markdown file at /llms-full.txt. Shared conventions, the error model and the changelog.
Questions
Asked before
the first call.
Is there a free tier?
No. The API and the MCP server come with every paid plan, and every plan starts with a free trial that includes the API from day one. The trial needs a card. Documentation pages like this one are public, with captured responses rather than live calls.
What counts against the monthly allowance?
Upstream data requests, not API calls. Most calls read one source and cost 1; composites such as the expected move or the mispricing assessment cost 2 to 3. GET /me/usage shows the live figure and costs nothing.
Is this a real-time quote feed?
No. It is a request-and-response REST API for options analytics: you ask for a snapshot and get JSON back. There is no streaming connection, and the chain's bid and ask are the data feed's parity-implied values, not the exchange NBBO, so they are for analysis rather than order routing.
Which plan do I need?
Each endpoint follows the plan of its feature in the web app. Basic covers chains, expirations, contracts by delta, Greeks heatmaps, strategies and the calendars. Premium adds IV rank and the volatility endpoints, gamma exposure, flow, the expected move and screens. Pro adds historical chains, skew, earnings analytics, portfolio risk and the rest.
Can I use the data in my own product?
It is for your own analysis, models and tools. The terms of service do not allow redistributing, reselling or passing API data to third parties, directly or through a product built on it.
Can an AI assistant use it?
Yes. The ApexVol MCP server wraps the same endpoints as tools that Claude, ChatGPT, Cursor and other MCP clients call by name. Add it from Claude's connector directory or paste https://apexvol.com/mcp-server; it signs in to your ApexVol account, so there is no token to paste.
One token,
every family.
API access comes with every paid plan, and each endpoint follows the plan of its feature in the web app. From $55 a month, with a 7-day trial, card required.
API and MCP access need a paid or trial plan.