- API
- Strategies API
Strategies API
Strategies,
built from the live chain.
Name a strategy and a ticker and get the legs, Greeks, breakevens and probability of profit back. Send your own legs for the same analysis, let a grid search pick the strikes, or re-price a whole chain under a hypothetical move.
A real response
This is what
comes back.
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. Run it on your own ticker from the endpoint page.
{
"analysis": {
"breakevens": [
752.48,
787.52
],
"legs_summary": [
{
"action": "SELL",
"expiration": "2026-10-09",
"iv": 0.1365,
"premium": 6.36,
"quantity": 1,
"strike": 755.0,
"type": "PUT"
},
{
"action": "SELL",
"expiration": "2026-10-09",
"iv": 0.1084,
"premium": 4.785,
"quantity": 1,
"strike": 785.0,
"type": "CALL"
},
{
"action": "BUY",
"expiration": "2026-10-09",
"iv": 0.1062,
"premium": 3.275,
"quantity": 1,
"strike": 790.0,
"type": "CALL"
}
],
"max_loss": -248.0,
"max_profit": 252.0,
"net_delta": -0.0256,
"net_premium": -252.0,
"net_theta": 0.0232,
"net_vega": -0.1904,
"pnl_curve": [
[
600.0,
-248.0
],
[
603.5152,
-248.0
],
[
607.0303,
-248.0
]
],
"probability_of_profit": 41.7,
"risk_reward_ratio": 1.0161,
"stock_price": 770.25,
"strategy_name": "Iron Condor",
"ticker": "SPY"
},
"created_at": "2026-09-08T08:06:42.457860",
"legs": [
{
"action": "SELL",
"delta": -0.3014,
"expiration": "2026-10-09",
"iv": 0.1365,
"premium": 6.36,
"quantity": 1,
"strike": 755.0,
"theta": -0.1785,
"type": "PUT",
"vega": 0.8379
},
{
"action": "SELL",
"delta": 0.297,
"expiration": "2026-10-09",
"iv": 0.1084,
"premium": 4.785,
"quantity": 1,
"strike": 785.0,
"theta": -0.1318,
"type": "CALL",
"vega": 0.8329
},
{
"action": "BUY",
"delta": 0.2281,
"expiration": "2026-10-09",
"iv": 0.1062,
"premium": 3.275,
"quantity": 1,
"strike": 790.0,
"theta": -0.1136,
"type": "CALL",
"vega": 0.735
}
],
"name": "Iron Condor",
"stock_price": 770.25,
"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 -X POST "https://apexvol.com/api/mcp/data/build-strategy" \
-H "Authorization: Bearer avmcp_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ticker": "SPY", "strategy_type": "iron_condor", "dte": 30}'
import requests
headers = {"Authorization": "Bearer avmcp_YOUR_TOKEN"}
body = {"ticker": "SPY", "strategy_type": "iron_condor", "dte": 30}
r = requests.post("https://apexvol.com/api/mcp/data/build-strategy", headers=headers, json=body)
r.raise_for_status()
data = r.json()["data"]
print(data["name"])
Build a 30-delta iron condor on SPY expiring in about 30 days.
The assistant calls build_strategy and answers from the JSON above.More prompts for this family in the prompt library. Set the server up in Claude Desktop, Claude Code, Cursor, ChatGPT, VS Code, Windsurf or Gemini CLI.
The family
5 endpoints,
one prefix.
All under https://apexvol.com/api/mcp/data. Each card opens a page with the parameters and their bounds, every response field, a real captured response and a console that runs it on your ticker.
POST /analyze-strategy
What are the Greeks, breakevens and odds on this set of legs?
Analyzes any custom legs: net Greeks, max profit and loss, breakevens, probability of profit and the P&L curve.
Basic
POST /build-strategy
What does a 30-delta SPY iron condor look like right now, legs and all?
Builds a named strategy from the live chain and returns the legs with full analysis.
Basic
POST /optimize-strategy
Which strikes give the best SPY iron condor for max profit?
Grid-searches strikes for a strategy type and returns the winner with its analysis.
Basic
POST /pop
What is the probability of profit on these legs?
Probability of profit for a set of legs at expiration.
Basic
POST /simulate-chain
What would the SPY chain look like if the stock rose 2% and IV rose 5 points in 10 days?
Re-prices a chain at a hypothetical spot, days to expiry and IV shift.
Basic
Field by field
What each
number means.
legs[].strike, expiration, premium, delta- Each leg as the chain priced it at request time, with its own Greeks and implied vol.
analysis.max_profit, max_loss- Dollars per one-lot. A credit strategy shows max_profit as the net premium received.
analysis.breakevens[]- Underlying prices where the position is flat at expiration.
analysis.probability_of_profit- The chance the position finishes past breakeven at expiration, from the implied distribution in the chain.
pnl_curve[]- Profit and loss at expiration across a range of underlying prices, ready to chart.
sim_price, sim_dte, iv_adjustment- On simulate-chain: the hypothetical spot, days to expiry and IV shift the chain was re-priced under.
The same data, in plain English
5 MCP tools
wrap this family.
Connect the ApexVol MCP server and an assistant can call these by name. One URL, a sign-in, no token to paste.
- simulate_option_chain
- calculate_probability_of_profit
- build_strategy
- analyze_strategy
- optimize_strategy
Set it up in:
What people build
Three things
this is for.
Access
- Auth
- Bearer token, prefix
avmcp_, created under Account, then API Access. Shown once, hashed at rest, rotates in one click. - Limits
- 60 requests a minute and 1,000 an hour per token, plus a monthly allowance by plan. Every response carries the remaining counts in headers.
- Plans
- Included with every paid or trial plan from $55 a month. Each endpoint follows the tier of its web feature; the cards above show which.
- Spec
- OpenAPI 3.1 at /docs/api/openapi.json, this family as one Markdown file, the whole reference at /llms-full.txt. Shared conventions, the error model and the changelog.
Questions
Asked before
the first call.
Which strategies can build-strategy name?
Iron condor, credit spread, straddle, strangle and the other named shapes listed in the strategy_type range on the endpoint page. Each is built from the live chain at the delta or width you pass.
Are the Greeks per contract or per position?
Per one-lot position, net across the legs. Multiply by your size.
Does probability of profit allow for early exercise?
No. It is the chance of finishing past breakeven at expiration, read from the implied distribution in the chain, and it ignores path and assignment.
Do the POST endpoints need anything beyond the token?
A JSON body with Content-Type: application/json and the same Bearer header as every other endpoint. No CSRF token and no session.
Included with
every paid plan.
From $55 a month, tier-matched: your token queries the data your plan includes and Pro unlocks the full surface.
Real market data, not a sandbox. See it live on AAPL.