options data · 100% OPRA coverage · 12 years
Every print, and the quote it traded against.
Options volume tells you how many contracts changed hands. It does not tell you whether
they were lifted at the offer or hit into the bid, whether one order swept four exchanges
in the same millisecond, or whether a position was opened or closed. Pair every trade with
the NBBO standing at that instant and those stop being guesses.
That pairing, twelve years deep and at tick level, is what these packages sell.
Options Core
The surface — chains, greeks and twelve years of closes.
$29/month
or $261/year — two months off
- 4 years of history
- 3 of 12 request types
- No tick-level data
- No root snapshots
- No live trade stream
Gamma levels, vol surfaces, EOD research
Get Options Core most bought Options Flow
The tape — every OPRA trade and every NBBO quote, tick level.
$69/month
or $621/year — two months off
- 8 years of history
- 7 of 12 request types
- Tick-level trades & NBBO quotes
- No root snapshots
- Live trade stream — 15,000/day
Flow analytics, execution research, backtests
Get Options Flow Options Pro
The joins — trades paired with quotes and greeks, whole roots, no cap.
$119/month
or $1071/year — two months off
- 12 years of history
- 12 of 12 request types
- Tick-level trades & NBBO quotes
- Whole-root snapshots
- Live trade stream — uncapped
Sweep/block detection, dealer positioning, systematic desks
Get Options Pro
Professional display use is an OPRA licence, not a plan — $1600/month, quoted per
contract. Talk to us if you display
this data to anyone but yourself.
The twelve request types
Each package unlocks the first n of these, in this order. The gateway enforces the
list — this table is generated from the same file the API gates on, so it cannot advertise
something that would 403.
| # | Request type | What it answers | Core | Flow | Pro |
| 1 | chainChain | Live chain — bid/ask/last, open interest and volume per strike. | ● | ● | ● |
| 2 | greeksGreeks | Live greeks and implied vol per strike, for one expiration. | ● | ● | ● |
| 3 | eodEnd of day | Daily close per contract, twelve years back. | ● | ● | ● |
| 4 | ohlcIntraday bars | OHLC bars per contract, down to tick interval. | — | ● | ● |
| 5 | oiOpen interest history | Open interest per contract per day — the opening-vs-closing input. | — | ● | ● |
| 6 | quoteNBBO quotes | Every NBBO quote reported by OPRA, with size and exchange. | — | ● | ● |
| 7 | tradeTrades | Every option trade reported by OPRA, with size and condition. | — | ● | ● |
| 8 | trade_quoteTrade + quote | Each trade paired with the NBBO standing at that millisecond — the flow primitive. | — | — | ● |
| 9 | greeks_historyGreeks history | Historical greeks and IV as a time series. | — | — | ● |
| 10 | trade_greeksTrade + greeks | Every trade with the greeks as they stood at trade time. | — | — | ● |
| 11 | at_timeAt time | The exact trade or quote in force at a given timestamp. | — | — | ● |
| 12 | rootRoot snapshot | Whole-root bulk snapshot — every expiration in a single call. | — | — | ● |
What the tape actually says
One request. Each row is a real print with the market that stood behind it — this is the
shape everything else on this page is built from.
curl -H "Authorization: Bearer $TICKSTREAM_KEY" \
"https://api.tick-stream.xyz/v1/options/trade_quote?symbol=SPY&expiration=2026-08-21&date=2026-08-01"
| trade time | strike | size | price | bid | ask | exch | reads as |
| 09:31:04.118 | C 640 | 1,200 | 3.42 | 3.38 | 3.42 | 4 | lifted at the offer |
| 09:31:04.118 | C 640 | 800 | 3.42 | 3.38 | 3.42 | 7 | same instant, other venue → sweep |
| 10:07:55.402 | P 615 | 5,000 | 2.10 | 2.10 | 2.19 | 12 | hit into the bid, block size |
| 14:52:10.887 | C 640 | 60 | 3.90 | 3.85 | 3.95 | 4 | mid — no aggressor |
Illustrative rows in the real response shape. The "reads as" column is not a field — it is
what the first seven columns let you derive. We ship the evidence, not a verdict:
a vendor that hands you a label has already made the judgement call you are being paid to
make, and hidden the row that would have let you check it.
Backfilling? Every history type takes expiration=* — the whole chain of a
root per date window in one request, clipped with max_dte or
strike_range. A month of QQQ end-of-day is 60,000 contracts in one ~20-second
call; seven years is a few hundred requests, not hundreds of thousands.
How bulk history works →
What this data cannot do
It cannot tell you who traded. OPRA carries no participant identity — no firm, no desk, no
customer type — so any product claiming to show you "the institutions" is inferring it, and
an inference presented as a fact is worth less than nothing when you size a position on it.
It also will not tell you where price is going. Our own published research has killed a
dozen level-based option theses on exactly this data, including three separate attempts at
trading GEX walls. What survives testing is regime, not direction — and knowing which of
those you are holding is worth more than another indicator.
We would rather sell you a clean tape and be honest about its limits than sell certainty we
cannot back. The failures are published too.
Questions
Where does the data come from?
A licensed OPRA feed with 100% market coverage of US index and equity options — every trade and every NBBO quote the consolidated tape carries, not a sampled or delayed subset. Twelve years of it, at tick level. We ingest it directly; nothing here is scraped or reconstructed.
What does 'trade paired with quote' actually give me?
For every single print: the trade price and size, and the bid and ask that stood at that exact millisecond. That is the primitive underneath every honest flow statement. Was the trade lifted at the offer or hit into the bid? Did one order sweep several exchanges inside the same instant? Was it a block, by its exchange condition code? Volume alone answers none of those — it tells you how many contracts changed hands and nothing about intent.
Can you tell me who traded — was it an institution?
No, and neither can anyone else. OPRA carries no participant identity: there is no field naming a firm, a desk or a customer type. Anyone selling you 'institutional buyer' is putting a confident label on a base rate. What this data does support is classifying how a trade behaved — aggressor side, sweep, block, opening versus closing against the next day's open interest change — on evidence, per print. That is what we sell.
How do I tell opening from closing?
Open interest is reported by OPRA the following morning and reflects the previous session's close. Pair a day's trades with the change in open interest on the same contract and the direction is measurable rather than assumed: net buying with rising OI is position building, net buying with falling OI is covering. The `oi` request type is in Flow and Pro for exactly this.
Which package do I need?
If you compute gamma levels, vol surfaces or anything from end-of-day closes, Core is the whole job. If you need what actually printed — every trade, every quote, at tick level — that is Flow. If you need the joins, meaning trades already paired with the prevailing quote or with the greeks at trade time, whole-root snapshots and an uncapped stream, that is Pro. The rungs sell different things, not different amounts of the same thing.
What happened to the old Options Chain Archive?
It was retired on 2 August 2026 and everyone who bought it keeps their access — they were mapped onto Options Flow, which is a strictly larger dataset than the chains our own recorder captured. Nothing was revoked and nobody was asked to pay again. It is off sale because selling a smaller archive alongside a bigger one at the same price would be indefensible.
Is this display-use licensed?
These packages are non-professional: your own analysis, your own systems, no display to third parties and no redistribution. Professional display use is an OPRA licence question settled by contract at $1600/month, and it is blocked in self-service checkout rather than merely hidden — get in touch and we will quote it properly.
Does an options package include the futures data?
No — they are separate products and always have been. The options packages cover US index and equity options. CME futures, the Level-2 book and L3 order-by-order depth are the market-data plans. Many customers hold one of each.