Skip to content

option_at_time_quote

FreeValueStandardPro

Retrieve the NBBO quote at a specific time of day across a date range for an option contract. Returns one quote per date, the prevailing quote at the specified time.

Code Example

rust
let data = tdx.option_at_time_quote("SPY", "20260417", "550", "C", "20260101", "20260301", "09:30:00.000").await?;
for t in &data {
    println!("date={} ms_of_day={} bid={:.2} ask={:.2} bid_size={} ask_size={}",
        t.date, t.ms_of_day, t.bid, t.ask, t.bid_size, t.ask_size);
}
python
data = tdx.option_at_time_quote("SPY", "20260417", "550", "C", "20260101", "20260301", "09:30:00.000")
for t in data:
    print(f"date={t.date} ms_of_day={t.ms_of_day} bid={t.bid:.2f} "
          f"ask={t.ask:.2f} bid_size={t.bid_size} ask_size={t.ask_size}")
typescript
const data = tdx.optionAtTimeQuote('SPY', '20260417', '550', 'C', '20260101', '20260301', '09:30:00.000');
for (const t of data) {
    console.log(`date=${t.date} ms_of_day=${t.ms_of_day} bid=${t.bid} ask=${t.ask} bid_size=${t.bid_size} ask_size=${t.ask_size}`);
}
cpp
auto data = client.option_at_time_quote("SPY", "20260417", "550", "C", "20260101", "20260301", "09:30:00.000");
for (const auto& t : data) {
    printf("date=%d ms_of_day=%d bid=%.2f ask=%.2f bid_size=%d ask_size=%d\n",
        t.date, t.ms_of_day, t.bid, t.ask, t.bid_size, t.ask_size);
}

Parameters

symbolstringrequired
Underlying symbol
expirationstringrequired
Expiration date in YYYYMMDD format
strikestringrequired
Strike price in dollars as a string
rightstringrequired
"C" for call, "P" for put
start_datestringrequired
Start date in YYYYMMDD format
end_datestringrequired
End date in YYYYMMDD format
time_of_daystringrequired
ET wall-clock time in HH:MM:SS.SSS (e.g. "09:30:00.000"; legacy "34200000" is also accepted)
max_dteintoptional
Maximum days to expiration
strike_rangeintoptional
Strike range filter

Response

bid_pricefloat
Best bid price
bid_sizeint
Bid size
ask_pricefloat
Best ask price
ask_sizeint
Ask size
datestring
Date
ms_of_dayint
Milliseconds from midnight
bid_exchangeint
Bid exchange code
ask_exchangeint
Ask exchange code

Sample Response

json
[
  {"date": 20260330, "ms_of_day": 43200000, "bid": 88.50, "ask": 91.69, "bid_size": 10, "ask_size": 7},
  {"date": 20260331, "ms_of_day": 43200000, "bid": 90.69, "ask": 93.67, "bid_size": 4, "ask_size": 10},
  {"date": 20260401, "ms_of_day": 43200000, "bid": 107.99, "ask": 110.66, "bid_size": 10, "ask_size": 34}
]

Quote at 12:00 PM ET for SPY 2026-04-17 550 call. One row per date.

Notes

  • Common time values: "09:30:00.000" (9:30 AM), "13:00:00.000" (1:00 PM), "16:00:00.000" (4:00 PM).
  • Useful for building daily spread or mid-price time series at a consistent intraday timestamp.

Released under the Apache-2.0 License.