1. API
  2. Greeks API

Greeks API

Greeks,
already computed.

Look a contract up by its delta instead of its strike. Pull a heatmap of any Greek across the whole surface. Sum a book. The Greeks arrive on the row, so nothing has to be re-derived.

3Endpoints in this family
3Matching MCP tools
60/minPer token, 1,000 an hour

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.

GET /api/mcp/data/greeks-heatmap/NVDA200, application/json
{
  "aggregates": {
    "charm": {
      "by_expiration": [
        -92401.1106,
        -242908.5109,
        -7145.8524
      ],
      "by_strike": [
        5190.4907,
        76.8262,
        9861.3066
      ]
    },
    "delta": {
      "by_expiration": [
        3546428.01,
        10557890.51,
        727504.27
      ],
      "by_strike": [
        1090601.21,
        15281.14,
        2807343.01
      ]
    },
    "gamma": {
      "by_expiration": [
        375676.8438,
        725053.3309,
        53555.5989
      ],
      "by_strike": [
        251.0156,
        2.0766,
        1635.0796
      ]
    },
    "rho": {
      "by_expiration": [
        108122.08,
        337183.04,
        38718.26
      ],
      "by_strike": [
        71678.42,
        670.55,
        198218.26
      ]
    },
    "theta": {
      "by_expiration": [
        -2007981.62,
        -4739399.08,
        -290533.85
      ],
      "by_strike": [
        -4464.65,
        -29.7,
        -22074.51
      ]
    },
    "vanna": {
      "by_expiration": [
        657303.858,
        4607537.5648,
        228262.6166
      ],
      "by_strike": [
        -145440.2013,
        -1200.6728,
        -370078.0536
      ]
    },
    "vega": {
      "by_expiration": [
        725724.59,
        2246953.63,
        211792.29
      ],
      "by_strike": [
        2597.99,
        13.2,
        12797.51
      ]
    }
  },
  "as_of": "2026-09-08T07:49:22.291337+00:00",
  "data_points": 192,
  "earnings_date": null,
  "expirations": [
    "Sep 09 (1 DTE)",
    "Sep 11 (3 DTE)",
    "Sep 14 (6 DTE)"
  ],
  "expirations_raw": [
    "2026-09-09",
    "2026-09-11",
    "2026-09-14"
  ],
  "greek_matrices": {
    "charm": [
      [
        0.035,
        0.0008,
        0.0367
      ],
      [
        0.0242,
        0.0287,
        0.0065
      ],
      [
        0.0158,
        null,
        0.0059
      ]
    ],
    "delta": [
      [
        0.9998,
        0.9998,
        0.9998
      ],
      [
        1.0,
        1.0,
        1.0
      ],
      [
        0.9976,
        null,
        0.9923
      ]
    ],
    "gamma": [
      [
        0.0,
        0.0,
        0.0
      ],
      [
        0.0,
        0.0,
        0.0
      ],
      [
        0.0007,
        null,
        0.0014
      ]
    ],
    "iv": [
      [
        1.9166,
        1.0773,
        1.6971
      ],
      [
        1.4744,
        1.5669,
        0.85
      ],
      [
        1.4007,
        null,
        0.6896
      ]
    ],
    "rho": [
      [
        0.0253,
        0.0257,
        0.026
      ],
      [
        0.0,
        0.0,
        0.0
      ],
      [
        0.0077,
        null,
        0.0157
      ]
    ],
    "theta": [
      [
        -0.0,
        -0.0,
        -0.0
      ],
      [
        -0.0,
        -0.0,
        -0.0
      ],
      [
        -0.0055,
        null,
        -0.017
      ]
    ],
    "vanna": [
      [
        -0.0366,
        -0.0016,
        -0.0433
      ],
      [
        -0.099,
        -0.1104,
        -0.0459
      ],
      [
        -0.1363,
        null,
        -0.1033
      ]
    ],
    "vega": [
      [
        0.0,
        0.0,
        0.0
      ],
      [
        0.0,
        0.0,
        0.0
      ],
      [
        0.003,
        null,
        0.0073
      ]
    ]
  },
  "greek_matrix": [
    [
      0.9998,
      0.9998,
      0.9998
    ],
    [
      1.0,
      1.0,
      1.0
    ],
    [
      0.9976,
      null,
      0.9923
    ]
  ],
  "greek_type": "delta",
  "levels": {
    "max_pain": 222.5,
    "max_pain_expiration": "2026-09-09",
    "oi_call_wall": 240.0,
    "oi_put_wall": 200.0
  },
  "option_type": "calls",
  "stock_price": 230.3,
  "strikes": [
    185.0,
    187.5,
    190.0
  ],
  "ticker": "NVDA"
}

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.

curlBearer token from Account, then API Access
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/greeks-heatmap/NVDA"
Pythonrequests, nothing else
import requests

headers = {"Authorization": "Bearer avmcp_YOUR_TOKEN"}
r = requests.get("https://apexvol.com/api/mcp/data/greeks-heatmap/NVDA", headers=headers)
r.raise_for_status()
data = r.json()["data"]
print(data["greek_type"])
In Claude, Cursor or ChatGPTthrough the MCP server, no code
You

Where is gamma concentrated on NVDA across the next 4 expirations?

The assistant calls get_greeks_heatmap 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.

Field by field

What each
number means.

target_delta, actual_delta
What you asked for and the nearest listed contract's real delta.
strike, expiration, option_type
The contract that matched.
iv, iv_pct, iv_units
The contract's implied volatility as a decimal and in percentage points, with the unit stated.
bid, ask, mid
The live quote for that contract.
stock_price
The underlying at the time of the call, so moneyness is reproducible.

The same data, in plain English

3 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.

  • get_greeks_heatmap
  • get_charm_exposure
  • get_third_order_greeks

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 Greeks does the API return?

Delta, gamma, theta, vega and rho on every chain row and every delta lookup. Dealer exposure endpoints add vanna and charm. The third-order endpoint adds speed, zomma, color, vomma and ultima.

Are the Greeks computed by ApexVol or by the data vendor?

By the institutional data vendor, on the same snapshot as the quote, so a delta always matches the bid and ask beside it. ApexVol does not re-run Black-Scholes on the way out, which is also why Greeks are consistent between the chain and the delta lookup.

Can I get Greeks for a whole portfolio?

Yes. POST positions to /portfolio-greeks with the ticker, position type, quantity, strike and expiration for each leg. Stock positions are accepted alongside options. The response nets everything and breaks it down per ticker.

How do I find the 16-delta put?

GET /options-by-delta/{ticker}?delta=0.16&option_type=put, optionally with expiration=YYYY-MM-DD. The response gives the nearest listed strike and its actual delta so you can see how close the match was.

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.