CuteMarkets Docs

API Reference

Everything you need to integrate market data, build faster, and scale.

Docs

Tip: open /docs/data-sources-opra.md directly for raw markdown (easy copy/paste into an LLM).

CuteMarkets options endpoints are built around OPRA-originating U.S. listed options market data. OPRA, the Options Price Reporting Authority, is the securities information processor that disseminates consolidated last-sale and quotation information from SEC-approved U.S. options exchanges.

This guide explains where options trades and quotes come from, why quotes and trades can disagree, and which source questions matter when evaluating an options data API.

Quick answer

OPRA is the consolidated reporting layer for U.S. exchange-listed options trades and quotes. CuteMarkets exposes that market-data layer through developer-friendly REST and WebSocket APIs, then adds product behavior such as authentication, response envelopes, pagination, plan-aware freshness, and normalized endpoint shapes.

Stocks and options are separate data products in CuteMarkets. OPRA context applies to the options side; stock endpoints use the Stocks API product and separate Stocks API keys.

What OPRA contributes

OPRA receives and disseminates options market information from participant exchanges. The most important objects for developers are:

ObjectWhat it meansCuteMarkets workflow
Last-sale reportsExecuted option trades, including price, size, timestamps, exchange identifiers, and condition context.Trades and trade-derived Aggregates.
QuotationsBid and ask updates across listed option series. Quote traffic is usually much heavier than trade traffic.Quotes, chain quote fields, spread checks, and quote-aware backtests.
Participant/exchange contextExchanges contributing option markets and messages.Exchange id fields on quote and trade rows.
Administrative/reference contextData needed to identify listed series and support market-data processing.Contracts, expirations, snapshots, and symbol workflows.

Why this matters in applications

An option is not a stock ticker with one clean price. One contract can have a stale last trade, a live bid/ask quote, an implied-volatility estimate, and an aggregate bar that all describe different things. A good application labels the field it is using instead of collapsing everything into "the option price."

For dashboards, show whether a value comes from a quote, trade, bar, snapshot, or derived calculation. For backtests, store the endpoint, timestamp filters, selected contract, quote age, spread, and reject reason. For scanners, rank contracts only after you know whether the data object supports the decision being made.

Condition context is part of that source story. Use Option Quote and Trade Conditions when a workflow needs sale-condition codes, quote-condition terminology, exchange ids, correction fields, sequence numbers, or NBBO-style bid/ask vocabulary. Pair it with Quotes, Trades, and Market Data Corrections and Missing Data before turning raw rows into scanner scores or backtest fills.

Quotes versus trades

Trades show what printed. Quotes show the market that was being advertised. Both can be true while pointing to different prices.

Use trades for volume, tape review, aggregate bars, and printed activity. Use quotes for executable bid/ask context, spread checks, fill assumptions, and current tradability. When an options backtest uses last trade as a fill proxy, it can accidentally price against stale or non-executable information.

Live, delayed, and plan-aware data

Plan behavior changes the freshness a user receives from the same endpoint family. Free and Developer plans are delayed. Expert and Commercial plans include live data, quote endpoints, and WebSocket streams for the subscribed product.

When building a client, keep freshness visible in logs and UI. Store the timeframe, delay_minutes, and timestamp fields where they are returned. A delayed quote can be useful for research or evaluation, but it should not be labeled as a live market.

Data-source checklist

Before building around any options data API, answer these questions:

  1. Does the workflow need quotes, trades, aggregates, snapshots, or all of them?
  2. Is the quote endpoint live, delayed, or unavailable on the selected plan?
  3. Are timestamps stored at the row level alongside the request level?
  4. Are exchange ids, condition codes, sequence fields, and corrections preserved when needed?
  5. Does the application distinguish last sale, bid, ask, midpoint, and derived values?
  6. Are redistribution, display, non-display, and customer-facing use cases allowed by the selected subscription and agreements?
  7. Can the workflow reconstruct historical contract availability before requesting quotes or trades?

Official OPRA references

Related CuteMarkets docs

OPRA-backed workflows should be read with Market Data Access Methods, Option Quote and Trade Conditions, and Options Data Provider Evaluation.

OPRA source notes

OPRA context matters because U.S. options quotes and trades are multi-venue. A scanner row can include a good-looking last sale while the displayed market is stale, wide, or unavailable under the user's plan. Keep OPRA-originating quote and trade data separate from derived chain snapshots, aggregate bars, and application scores. The source lineage belongs in logs when data quality or entitlement questions appear.

Pair this page with Market Data SIPs and Direct Feeds, Live and Delayed Entitlements, Quotes, and Trades. Those pages explain the difference between coverage, latency, display rights, historical windows, and the operational state a product needs to show when a user expects live market context.

Terminology

Terms to keep straight on this page

Market-data APIs use similar words for different objects. These links keep the docs page connected to the precise CuteMarkets workflow and related reference material.

OPRA-originating data

The listed-options source context behind quotes, trades, participant records, exchange context, and consolidated option-market data.

SIP and direct feed

Market-data delivery paths that explain where consolidated equities and options records originate before a normalized API returns them.

Quote, trade, aggregate

Three different price semantics: executable bid/ask market, printed transaction, and bar-level summary.

Quote/trade condition

The sale condition, quote condition, exchange id, correction, sequence, and timestamp context attached to market-data rows.

Contract identity

The OCC symbol, expiration, strike, side, root, and reference data needed to preserve the exact option being studied.

Entitlement gate

A plan-aware check that prevents live, quote, WebSocket, or historical behavior from being implied when the product does not include it.

Access method

The delivery mode for data, such as REST request, WebSocket stream, historical window, flat file, or local cache.

Backfill window

A timestamp-bounded REST request used to repair or complete data after a stream gap, retry, deploy, or cache miss.

Session label

A premarket, regular, after-hours, closed, half-day, holiday, or unknown tag attached to a market-data timestamp.

Data-quality reject

A logged reason for skipping a candidate because required contracts, quotes, timestamps, pagination, or entitlements failed policy.

Commercial-use boundary

The product, plan, display, redistribution, and customer-facing use context that must be reviewed before shipping market data.

Adjusted option deliverable

The changed deliverable or contract terms that can appear after splits, mergers, special dividends, or other corporate actions.

Next steps

Move from the docs into the product workflow

If you are evaluating the API rather than implementing a specific endpoint right now, the product pages map live and historical workflows for stocks, options, and WebSockets.