Heat Map
Overview
Heat Map returns an expiration by strike grid for one ticker at a snapshot in time. The metric in each cell is selected by dataMode. The response is polymorphic: net / aggregate modes return one value per leg per cell; per-leg modes return a single value per cell. A top-level type field advertises which shape was returned.
curl -X POST https://api.quantdata.us/v1/options/tool/heat-map \ -H "Authorization: Bearer <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "sessionDate": "2026-05-13", "dataMode": "NET_DELTA_EXPOSURE", "filter": { "ticker": "AAPL" } }'
Required: ticker and dataMode
Both filter.ticker and dataMode are required. dataMode has three groups of values.
{ "snapshotTime": "2026-05-13T16:30:00Z", "dataMode": "CALL_DELTA", "filter": { "ticker": "AAPL", "expirationDate": "2026-05-16", "strikePriceRange": { "min": 210.0, "max": 230.0 } } }
Selecting the snapshot
Heat Map supports sessionDate for the latest snapshot of a given session, or snapshotTime for a specific instant. The two are mutually exclusive; if both are omitted, the latest snapshot of the current session is returned.
Response shape
data walks expiration date -> strike (dollars) -> cell. The cell shape depends on type.
{ "type": "contract", "data": { "2026-05-16": { "215.0": { "callValue": 184201, "putValue": -92410 }, "220.0": { "callValue": 221340, "putValue": -110205 } }, "2026-05-23": { "220.0": { "callValue": 88010, "putValue": -41200 } } } }
{ "type": "single", "data": { "2026-05-16": { "215.0": { "value": 0.612 }, "220.0": { "value": 0.481 } } } }
Filters
Convenience filter fields: ticker (required), expirationDates, expirationDateRange, strikePrices, strikePriceRange. The filterExpression DSL is also accepted and can be combined with filter; both are evaluated as AND.