Option Price Over Time

Overview

Option Price Over Time returns OHLC and volume bars for a single options contract, bucketed over time. Each bucket carries openPrice, highPrice, lowPrice, closePrice, and volume.

POST/v1/options/tool/option-price-over-time
curl -X POST https://api.quantdata.us/v1/options/tool/option-price-over-time \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "sessionDate": "2026-05-13",
    "filter": { "osi": "AAPL260516C00220000" }
  }'

Required: contract identifier

filter is required and must identify exactly one contract. Two equivalent modes, mutually exclusive:

  • osi: the 21-character OSI symbol, e.g. AAPL260516C00220000.
  • All four of ticker, expirationDate, strikePrice, and contractType (one of CALL, PUT).

Per-field equivalent of the OSI above

Request · per-field contract identifier
{
  "sessionDate": "2026-05-13",
  "filter": {
    "ticker": "AAPL",
    "expirationDate": "2026-05-16",
    "strikePrice": 220.0,
    "contractType": "CALL"
  }
}

Supplying osi alongside any of ticker, expirationDate, strikePrice, or contractType is rejected as conflicting identifiers; supplying none of the five is rejected as a missing identifier. Option Price Over Time does not accept filterExpression.

Selecting the time window

The endpoint 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).

Multi-day range with explicit bucket

Request · timeRange + aggregationPeriod
{
  "timeRange": {
    "startTime": "2026-05-12T13:30:00Z",
    "endTime": "2026-05-14T20:00:00Z"
  },
  "aggregationPeriod": "15m",
  "filter": { "osi": "AAPL260516C00220000" }
}

Response shape

datais an object keyed by each bucket's start time (Unix epoch milliseconds). The entries are ordered by timestamp in ascending order. Each entry is a standard OHLC bar for the contract over the bucket window.

200 OK · application/json
{
  "data": {
    "1747137600000": {
      "openPrice": 2.85,
      "highPrice": 2.94,
      "lowPrice": 2.81,
      "closePrice": 2.92,
      "volume": 1428
    },
    "1747137900000": {
      "openPrice": 2.92,
      "highPrice": 3.05,
      "lowPrice": 2.90,
      "closePrice": 3.01,
      "volume": 2103
    }
  }
}

Per-bucket fields:

  • openPrice, highPrice, lowPrice, closePrice: per-bucket OHLC for the option, in dollars.
  • volume: contract count traded across all prints in the bucket.

Where to go next