Skip to content

option_history_trade

FreeValueStandardPro

Retrieve all individual trades for an option contract on a given date.

Code Example

rust
let data = tdx.option_history_trade("SPY", "20260417", "550", "C", "20260315").await?;
for t in &data {
    println!("date={} ms_of_day={} price={:.2} size={} condition={} exchange={}",
        t.date, t.ms_of_day, t.price, t.size, t.condition, t.exchange);
}
python
data = tdx.option_history_trade("SPY", "20260417", "550", "C", "20260315")
for t in data:
    print(f"date={t.date} ms_of_day={t.ms_of_day} price={t.price:.2f} "
          f"size={t.size} condition={t.condition} exchange={t.exchange}")
typescript
const data = tdx.optionHistoryTrade('SPY', '20260417', '550', 'C', '20260315');
for (const t of data) {
    console.log(`date=${t.date} ms_of_day=${t.ms_of_day} price=${t.price} size=${t.size} condition=${t.condition} exchange=${t.exchange}`);
}
cpp
auto data = client.option_history_trade("SPY", "20260417", "550", "C", "20260315");
for (const auto& t : data) {
    printf("date=%d ms_of_day=%d price=%.2f size=%d condition=%d exchange=%d\n",
        t.date, t.ms_of_day, t.price, t.size, t.condition, t.exchange);
}

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
datestringrequired
Date in YYYYMMDD format
start_timestringoptional
Start time as milliseconds from midnight
end_timestringoptional
End time as milliseconds from midnight
max_dteintoptional
Maximum days to expiration
strike_rangeintoptional
Strike range filter

Response

pricefloat
Trade price
sizeint
Trade size (number of contracts)
datestring
Date
ms_of_dayint
Milliseconds from midnight
sequenceint
Sequence number
conditionint
Trade condition code
exchangeint
Exchange code

Sample Response

json
[
  {"date": 20260402, "ms_of_day": 34203497, "price": 98.59, "size": 1, "condition": 130, "exchange": 6}
]

Trades for SPY 2026-04-17 550 call on 2026-04-02. Deep ITM options may have only 1-2 trades per day.

Notes

  • For liquid contracts, this can return hundreds of thousands of rows. In Rust, use the _stream variant to process in chunks.

Released under the Apache-2.0 License.