# GET /api/mcp/data/greeks-heatmap/{ticker}

> Where are NVDA's gamma and vega concentrated across strikes and expirations?

Returns matrices of delta, gamma, theta, vega, rho, vanna, charm and IV over the strike and expiration grid, the aggregates by strike and by expiration, and the open-interest call and put walls plus max pain.

- **Family:** Options Greeks (https://apexvol.com/developers/options-greeks-api)
- **Plan:** Basic and above. Every call needs `Authorization: Bearer avmcp_<token>`; tokens are issued to paid and trial accounts under Account, then API Access.
- **Units:** Greeks are per share for one contract. The iv matrix is a decimal. Strikes in dollars.
- **Basis:** Values are per-contract Greeks from the chain, not dealer exposure; for exposure use /greeks-exposure.
- **MCP tools:** `get_greeks_heatmap`
- **Background:** https://apexvol.com/learn/options-greeks

## Parameters

| Name | In | Default | Range | Meaning |
|---|---|---|---|---|
| `ticker` (required) | path |  | any covered symbol | The underlying, upper case. Use /search to check coverage. |
| `option_type` | query | calls | calls, puts or net | Which side to grid; net is calls minus puts. |
| `greek` | query | delta | delta, gamma, theta, vega, rho, vanna, charm or iv | The Greek returned as greek_matrix and greek_type. Under compact detail only its matrix and aggregates are kept. |

## Request

```bash
curl -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     "https://apexvol.com/api/mcp/data/greeks-heatmap/NVDA"
```

## Response (captured 2026-09-08)

Real response, lists cut to the rows nearest the money. The envelope is `{"success": true, "data": ...}`.

```json
{
  "success": true,
  "data": {
    "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"
  }
}
```

## Fields

- `greek_type, greek_matrix[expiration][strike]`: The requested Greek.
- `strikes[], expirations[]`: The axes of every matrix.
- `greek_matrices.<greek>[strike][expiration]`: One matrix per Greek plus iv.
- `aggregates.<greek>.by_strike, by_expiration`: Sums along each axis.
- `levels.oi_call_wall, oi_put_wall, max_pain`: Reference levels.

## Errors

- `401`: no or revoked token
- `429`: Retry-After seconds
- `424`: data feed unavailable, retry
- Full list: https://apexvol.com/developers/errors

## Ask it in an MCP client

- Where is gamma concentrated on NVDA across the next 4 expirations?
- Show me the vega heatmap for AAPL puts.
- Which strike has the most call open interest on SPY?

Conventions for units, bases and timestamps: https://apexvol.com/developers/conventions
