options

Every print, and what it meant.

100% OPRA coverage — every trade, every NBBO quote, 12 years deep. From $29/mo.

The tiers are not three sizes of the same thing. They sell three different questions — the table below is the whole argument.

one row of /v1/options/trade_quote
rootNVDA exp2026-08-21 strike180 C price4.35 size250 bid / ask4.30 / 4.35 bid / ask size88 / 120

Traded at the ask, for more than the ask was showing. Without the quote beside it, that row is the number 4.35 and nothing else.

Twelve request types, three questions

Most vendors tier by volume — more requests, more symbols, more money. We tier by question. Somebody computing gamma levels needs the surface and should never pay for a firehose. Somebody building flow analytics cannot get there on the surface at any volume.

The surface

what the chain looks like
Chain /v1/options/chain Live chain — bid/ask/last, open interest and volume per strike. Options Core
Greeks /v1/options/greeks Live greeks and implied vol per strike, for one expiration. Options Core
End of day /v1/options/eod Daily close per contract, twelve years back. Options Core

The tape

what actually printed
Intraday bars /v1/options/ohlc OHLC bars per contract, down to tick interval. Options Flow
Open interest history /v1/options/oi Open interest per contract per day — the opening-vs-closing input. Options Flow
NBBO quotes /v1/options/quote Every NBBO quote reported by OPRA, with size and exchange. Options Flow
Trades /v1/options/trade Every option trade reported by OPRA, with size and condition. Options Flow

The joins

what a print meant
Trade + quotethe primitive /v1/options/trade_quote Each trade paired with the NBBO standing at that millisecond — the flow primitive. Options Pro
Greeks history /v1/options/greeks_history Historical greeks and IV as a time series. Options Pro
Trade + greeks /v1/options/trade_greeks Every trade with the greeks as they stood at trade time. Options Pro
At time /v1/options/at_time The exact trade or quote in force at a given timestamp. Options Pro
Root snapshot /v1/options/root Whole-root bulk snapshot — every expiration in a single call. Options Pro

trade_quote — the one that defines the category

Every trade, paired with the NBBO that stood in that exact millisecond. Without the pairing a print is a number. With it, it is an aggressive buy or a passive fill — and that distinction is the input to every flow model worth running.

One call. The print and the quote it crossed, in the same row.

curl "https://api.tick-stream.xyz/v1/options/trade_quote\
  ?symbol=NVDA&exp=2026-08-21&strike=180&right=C\
  &date=2026-07-31" \
  -H "Authorization: Bearer sk_live_…"

response

{
  "ms_of_day": 51293846,
  "price": 4.35,
  "size": 250,
  "bid": 4.30,
  "ask": 4.35,
  "bid_size": 88,
  "ask_size": 120,
  "condition": "multi_leg"
}

// price == ask, size 250 into 120
// showing: aggressive, and it took
// more than was displayed.

What each tier actually answers

PackageA question it answersTypesHistoryTick levelPrice
Options CoreThe surface — chains, greeks and twelve years of closes.Where is the gamma wall in SPX today?/v1/options/greeks3 of 124 yr$29/mo
Options FlowThe tape — every OPRA trade and every NBBO quote, tick level.Which NVDA calls were lifted at the ask this morning?/v1/options/trade + /v1/options/quote7 of 128 yryes$69/mo
Options ProThe joins — trades paired with quotes and greeks, whole roots, no cap.Was that a sweep across venues or one block?/v1/options/trade_quote12 of 1212 yryes$119/mo

What “100% OPRA” means here

included

  • Every trade reported by OPRA, with size, exchange and condition code
  • Every NBBO quote, with size on both sides
  • Greeks and implied vol per contract, and as a time series
  • Open interest per contract per day — the opening-versus-closing input
  • Whole-root snapshots: every expiration of a root in one call
  • All US listed roots — index and single names

the honest edges

  • The contract universe reaches back to 2012-06-01. Older than that does not exist here.
  • Timestamps are exchange local (US/Eastern), passed through rather than converted.
  • Implied vol carries a solver flag. A failed solve is marked, not silently interpolated.
  • Display use by a professional is an OPRA licence question, not a plan question.

Pricing

Options Core

The surface — chains, greeks and twelve years of closes.

$29/mo

$261/yr

    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/mo

    $621/yr

      Flow analytics, execution research, backtests

      Get Options Flow

      Options Pro

      The joins — trades paired with quotes and greeks, whole roots, no cap.

      $119/mo

      $1071/yr

        Sweep/block detection, dealer positioning, systematic desks

        Get Options Pro
        bundle

        Desk — everything in one subscription.

        $499/mo instead of $705 bought separately. You keep $206 (29%).

        Get the Desk

        What this is not

        • No equity ticks. Options and futures. Stock trades are a different feed and we do not sell one.
        • No signals and no recommendations. We ship the data; the interpretation is yours.
        • Not a professional display licence. If a professional views this data, OPRA charges for that separately — the arithmetic is here, passed through at cost.
        • No competitor bullet points. Everything on this page was checked against our own API before it was written down.

        Provable gap or a wrong print in your stream? That month is free. Automatically — no ticket, no argument.

        Gap history is public →

        Where these numbers come from

        FigureSourceChecked
        100% OPRA coverage Full OPRA feed via our data provider — every reported trade and every NBBO quote, all US listed option roots 2026-08-03
        12 years of history Contract universe verified back to 2012-06-01. Tick level confirmed at the far end: SPY 132C exp 2012-06-16, session 2012-06-11 — 2,592 prints, 2,137 distinct millisecond stamps. 2026-08-03
        12 request types OPTION_REQUEST_TYPES in pricing.config.mjs, mirrored in the gateway's REQUEST_TYPES in the same order — a test fails if they disagree live
        Timestamps in US/Eastern The vendor returns date + ms_of_day in exchange local time; we pass both through rather than converting and losing the session boundary 2026-08-03
        Every price on this page pricing.config.mjs live

        Pull one contract's trades and quotes for one day, and see whether the joins hold up.

        Read the options docs