Interval Map
Overview
Interval Map returns Greek-weighted exposure for one ticker, bucketed over time. Each bucket is a nested grid: expiration date -> strike (dollars) -> contract type (CALL / PUT) -> exposure aggregate. Use it to watch how positioning shifts across the chain as the session unfolds.
curl -X POST https://api.quantdata.us/v1/options/tool/interval-map \ -H "Authorization: Bearer <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "sessionDate": "2026-05-13", "greekMode": "DELTA", "filter": { "ticker": "AAPL" } }'
Required: ticker and greekMode
filter.ticker and greekMode are both required.
{ "greekMode": "GAMMA", "timeRange": { "startTime": "2026-05-12T13:30:00Z", "endTime": "2026-05-14T20:00:00Z" }, "aggregationPeriod": "30m", "filter": { "ticker": "AAPL", "expirationDate": "2026-05-16", "minStrikePrice": 210.0, "maxStrikePrice": 230.0 } }
Selecting the time window
Interval Map accepts sessionDate, timeRange, or neither. The two are mutually exclusive; if both are omitted, the most recent trading session is used. aggregationPeriod sets the bucket size and defaults to a span-appropriate value (see Conventions for the resolution table).
Response shape
datais an object keyed by each bucket's start time (Unix epoch milliseconds). The entries are ordered by timestamp in ascending order. Inside each bucket, the nested object walks expiration date -> strike (dollars) -> contract type -> exposure aggregate.
{ "data": { "1747137600000": { "2026-05-16": { "215.0": { "CALL": 184201, "PUT": -92410 }, "220.0": { "CALL": 221340, "PUT": -110205 } }, "2026-05-23": { "220.0": { "CALL": 88010, "PUT": -41200 } } }, "1747139400000": { "2026-05-16": { "220.0": { "CALL": 240118, "PUT": -118400 } } } } }