Our data
Options
Every listed contract in a chain with its strike and expiration, filtered by date, expiry and strike. Then bars, trades and quotes for any contract, or for the whole chain at once.
History
- On futures
- 16 yrs
- On stocks
- 13 yrs
Schemas
definitionOPRA.PILLAR, GLBX.MDP3The contracts in a chain, one day at a timestatisticsOPRA.PILLAR, GLBX.MDP3Settlement prices and open interesttrades, cmbp-1, tcbbo, cbbo-*OPRA.PILLAREquity options, 3 yearstrades, mbp-1, mbp-10GLBX.MDP3Options on futures
- Equity option chains are the stock plus .OPT (SPY.OPT); a contract is its OSI symbol, SPY 261218P00660000 with the root padded to six characters.
- Options on futures use the option root plus .OPT: ES.OPT and NQ.OPT, but crude is LO.OPT and gold OG.OPT.
Fields
definition
- raw_symbol
- exchange symbol, e.g. the OSI symbol of an option
- instrument_class
- 'C' call, 'P' put, 'F' future
- strike_price
- strike
- expiration
- expiry, UTC
- underlying
- underlying symbol
- instrument_id
- numeric id of the contract or stock
cbbo-1m
- ts_recv
- when the feed received it, UTC, to the nanosecond
- ts_event
- when the exchange stamped the event, UTC, to the nanosecond
- rtype
- record type
- publisher_id
- exchange and feed the record came from
- instrument_id
- numeric id of the contract or stock
- side
- 'A' ask, 'B' bid, 'N' none; on a trade, the side that was hit
- price
- price of the event or trade
- size
- size of the event or trade
- flags
- record flags set by the feed
- bid_px_00
- bid price
- ask_px_00
- ask price
- bid_sz_00
- size resting at the bid
- ask_sz_00
- size resting at the ask
- bid_pb_00
- exchange showing the best bid
- ask_pb_00
- exchange showing the best ask
- symbol
- the symbol you asked for
Example data
Rows exactly as the API returned them.
| raw_symbol | instrument_class | strike_price | expiration | underlying | instrument_id |
|---|---|---|---|---|---|
| SPY 261218C00660000 | C | 660 | 2026-12-18T00:00:00+00:00 | SPY | 1375731864 |
| SPY 261218P00660000 | P | 660 | 2026-12-18T00:00:00+00:00 | SPY | 1409286560 |
| SPY 261218P00665000 | P | 665 | 2026-12-18T00:00:00+00:00 | SPY | 1409286729 |
| SPY 261218P00655000 | P | 655 | 2026-12-18T00:00:00+00:00 | SPY | 1409286939 |
| SPY 261218C00655000 | C | 655 | 2026-12-18T00:00:00+00:00 | SPY | 1375733399 |
| SPY 261218C00665000 | C | 665 | 2026-12-18T00:00:00+00:00 | SPY | 1375733771 |
| ts_recv | ts_event | rtype | publisher_id | instrument_id | side | price | size | flags | bid_px_00 | ask_px_00 | bid_sz_00 | ask_sz_00 | bid_pb_00 | ask_pb_00 | symbol |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-22T13:31:00+00:00 | null | 193 | 30 | 1409286280 | N | null | 0 | 192 | 2.39 | 2.42 | 405 | 346 | 26 | 26 | SPY 261218P00660000 |
| 2026-10-22T13:32:00+00:00 | null | 193 | 30 | 1409286280 | N | null | 0 | 192 | 2.38 | 2.41 | 407 | 419 | 26 | 26 | SPY 261218P00660000 |
| 2026-10-22T13:33:00+00:00 | 2026-10-22T13:32:45.098573145+00:00 | 193 | 30 | 1409286280 | N | 2.4 | 1 | 192 | 2.41 | 2.43 | 407 | 53 | 34 | 21 | SPY 261218P00660000 |
| 2026-10-22T13:34:00+00:00 | 2026-10-22T13:32:45.098573145+00:00 | 193 | 30 | 1409286280 | N | 2.4 | 1 | 192 | 2.36 | 2.38 | 1 | 346 | 32 | 26 | SPY 261218P00660000 |
Times are UTC to the nanosecond; a bar is stamped at its open.
Request it
import quantpad_data as qpd
h = qpd.Historical()
chain = h.options.chain(
dataset="OPRA.PILLAR", underlier="SPY.OPT", date="2026-10-21",
expiration="2026-12-18", strike_min=655, strike_max=665,
)
quotes = h.timeseries.get_range(
dataset="OPRA.PILLAR", symbols="SPY 261218P00660000",
schema="cbbo-1m", start="2026-10-22", end="2026-10-23",
)Or ask the agent in plain English; it writes the same call for you.