CuteMarkets Docs

API Reference

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

Docs

Tip: open /docs/option-quote-trade-conditions.md directly for raw markdown (easy copy/paste into an LLM).

Quote and trade condition data is the context layer that keeps an options API from turning every print and every bid/ask update into the same kind of "price." Conditions, exchange identifiers, sequence numbers, corrections, and timestamps explain why a row exists, how it arrived, and whether a workflow can use it for display, aggregation, alerts, or backtests.

Use this page with Quotes, Trades, Quotes, Trades, and Aggregates, Data Sources and OPRA, Market Data Corrections and Missing Data, and Options Data Provider Evaluation.

Quick answer

An options quote row describes a bid/ask market. An options trade row describes an executed print. Condition codes, exchange ids, correction flags, sequence numbers, and timestamps tell the application how to interpret that market-data row. A serious scanner, dashboard, or backtest stores those fields instead of reducing the row to one price.

Terms used on this page

TermMeaningRelated CuteMarkets workflow
NBBO-style quoteA top-of-book bid/ask record with bid price, ask price, displayed size, exchange ids, and timestamp context.Quotes, Historical Options Quotes API, and quote-aware fills.
Sale conditionA code or label attached to a trade print that explains the circumstances of the execution.Trades, Options Trades API, and missing-data checks.
Quote conditionA condition attached to a quote update that can affect whether the bid/ask row is eligible for a decision.Quotes, Real-Time Options System Design, and live entitlements.
Exchange idA numeric or symbolic participant identifier for the venue associated with a bid, ask, or trade.Data Sources and OPRA and Market Data SIPs and Direct Feeds.
Correction indicatorA field that marks whether a trade row has correction context.Trades, Aggregates, and Backtesting Data Quality Checklist.
Sequence numberA provider or feed sequence field that helps order events inside a symbol stream.WebSockets, Market Hours and Timestamps, and replay artifacts.
SIP timestampThe timestamp associated with SIP receipt or dissemination.Data Sources and OPRA, Quotes, and Trades.
Participant timestampThe timestamp associated with the exchange or participant when available.Trades and Market Hours and Timestamps.

Why condition context matters

An options contract can show a latest trade, a current bid, a current ask, a midpoint, an aggregate bar, a chain snapshot, implied volatility, Greeks, and open interest. Those fields are not interchangeable.

When a workflow ignores condition context, it can accidentally:

  • fill a backtest from a stale last trade instead of the available bid or ask
  • include a corrected or ineligible print in an aggregate
  • rank an alert from wide-spread volume without quote context
  • display a delayed quote as if it were live
  • compare a trade timestamp and quote timestamp from different event layers
  • collapse exchange-specific context into a generic "price" label
  • hide no-bid, empty-window, and missing-quote rejects

That is why Options Backtesting Execution Realism, Options Flow False Positives, and Unusual Options Activity Scanner Model all keep quote freshness, spread, trade context, and reject labels visible.

Quote rows versus trade rows

QuestionUse quotesUse trades
What market was available near a decision timestamp?Yes. Use bid, ask, size, quote timestamp, and exchange ids.Not by itself. A print can be stale or not available later.
Did the contract actually trade?No. A quote can be active with no recent prints.Yes. Use price, size, exchange, timestamp, and condition context.
Can a backtest buy realistically?Use ask-side, midpoint, near-side, or policy-specific fill rules from quotes.Use trades to validate activity, not as the only execution source.
Can a bar be trusted?Use quotes to inspect tradability around the bar.Use trades and condition eligibility to support aggregate construction.
Can a scanner alert escalate?Use spread, quote age, and size filters.Use print size, premium, frequency, and condition context.
Can a dashboard show current state?Use latest quote with freshness labels where the plan allows it.Use last trade only with timestamp and quote pairing.

Fields to preserve in artifacts

When an application stores a historical replay artifact, a scanner alert, a support ticket, or a paper-trading audit row, preserve the fields that explain the decision.

Artifact fieldWhy it belongs in the record
options_tickerKeeps the exact OCC-style contract identity tied to the row.
endpointDistinguishes chain, quote, trade, aggregate, snapshot, and latest endpoints.
timeframe and delay_minutesShows whether the value was live, delayed, or historical.
sip_timestampAnchors the row to market-data event time.
participant_timestampPreserves exchange-side time when available.
bid_price and ask_priceKeeps execution context separate from last sale.
bid_size and ask_sizeExposes visible size and one-sided markets.
bid_exchange and ask_exchangeRecords venue context for the displayed quote.
price and sizeStores trade print economics and contract count.
exchangeRecords trade venue context.
conditionsPreserves sale-condition context for filtering and review.
correctionMarks corrected or correction-related trade rows where supplied.
sequence_numberHelps audit event ordering and stream gaps.
request_idLets support and engineering trace the API response.
next_url or pageProves pagination completeness for heavy windows.
reject_reasonExplains why a row was skipped, widened, delayed, or excluded.

Condition policy for backtests

A realistic options backtest needs a written policy before it runs. The policy does not need to be complicated, but it needs to be explicit.

Policy areaPractical rule
Fill sourceUse quotes for entry and exit evidence. Store side-specific bid/ask assumptions.
Trade validationUse trades for activity and tape review. Do not treat every last sale as executable fill evidence.
Empty windowsRecord an empty-window reject or a documented widen-window rule.
Wide spreadsReject or penalize contracts above the allowed spread percent.
No-bid exitsReject, heavily penalize, or route to a specific liquidation policy.
CorrectionsPreserve correction fields and exclude rows that the strategy policy treats as ineligible.
Condition codesPreserve raw condition arrays and apply documented include/exclude rules before volume, VWAP, or alert scoring.
Timestamp orderingUse row-level timestamps and avoid same-bar fills unless the order was already active.
PaginationFollow next_url until the requested quote or trade window is complete.

This policy belongs beside Options Contract Selection, Backtesting Engine Loop, Backtesting Data Model, and Backtesting Robustness.

Condition policy for scanners

Scanners often overclaim because they turn one row into a conclusion. A better scanner uses condition and quote context as labels.

Scanner labelRequired evidence
High-volume candidateSame-day volume, prior open interest, expiration, strike, side, and contract identity.
Large-premium candidateTrade size, price, estimated premium, timestamp, and condition context.
Tight-quote candidateBid, ask, spread percent, quote age, and displayed size.
Wide-spread rejectBid/ask width exceeds the scanner policy.
No-bid rejectExit-side bid is missing or unusable.
Trade-review requiredTrade print exists, but quote direction, conditions, or multi-leg context remain unresolved.
Stale-last-price warningLast trade timestamp is far away from current quote or scanner timestamp.
Entitlement warningThe plan does not include live quote or stream behavior for the displayed claim.

Use those labels with Unusual Options Activity, Options Chain API, Options Liquidity Scanner, Put/Call Ratio API, and Options Flow False Positives.

Provider evaluation questions

When comparing CuteMarkets with a broader data vendor, ask these questions before choosing a provider:

  1. Are trade condition codes exposed, normalized, mapped, or hidden?
  2. Are quote condition fields available for the workflow that needs them?
  3. Are exchange ids returned on bid, ask, and trade rows?
  4. Are correction indicators available on trades?
  5. Are timestamp fields precise enough for the intended strategy?
  6. Does the API expose sequence numbers for event ordering?
  7. Are latest endpoints clearly separated from historical windows?
  8. Can the provider explain which prints contribute to aggregate bars?
  9. Does pagination preserve complete heavy quote and trade windows?
  10. Are live, delayed, and quote entitlements visible in responses or logs?

Pair this checklist with Market Data API Due Diligence Checklist, Options Data Vendor Checklist, Best Options Data APIs, and Compare Options Data APIs.

Example replay note

For a replay of an earnings move, store a note like this with the selected contract:

bash
{
  "underlying": "NVDA",
  "options_ticker": "O:NVDA260619C00120000",
  "decision_time_utc": "2026-05-28T19:55:00Z",
  "quote_policy": "long_entry_ask_exit_bid",
  "quote_window_ms": 30000,
  "trade_window_ms": 60000,
  "max_spread_percent": 12,
  "required_fields": [
    "bid_price",
    "ask_price",
    "sip_timestamp",
    "bid_exchange",
    "ask_exchange",
    "conditions",
    "correction"
  ],
  "rejects": [
    "stale_quote",
    "wide_spread",
    "no_bid",
    "incomplete_pagination",
    "unavailable_entitlement"
  ]
}

That artifact is more useful than a final PnL table because another developer can inspect what the model knew, which rows it trusted, and which market-data states it rejected.

Related pages

Condition-code implementation notes

Condition fields are small, but they can decide whether a row enters a scanner or backtest. Store quote condition, trade condition, exchange id, correction, sequence number, timestamp, and raw row id when available. A later reviewer needs to know whether a print was regular, corrected, excluded, late, or useful only as context.

Use condition policy before ranking unusual activity. A high-volume print can be less informative than a clean quote update if the trade condition weakens the signal. Pair this page with Quotes, Trades, Options Flow False Positives, and Backtesting Execution Realism so each row gets accepted, labeled, or rejected for a documented reason.

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.