CuteMarkets Docs

API Reference

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

Docs

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

Choosing an options data provider is not the same as choosing a generic market data API. Options have listed expirations, contract identity, wide and changing spreads, multiple exchanges, sparse prints, stale last prices, corporate-action adjustments, and plan-specific entitlement rules. A provider can look complete because it has an option chain endpoint and still fail the first serious backtest or scanner.

Use this page as a technical evaluation checklist before comparing vendors, plans, or endpoint names.

For the CuteMarkets evaluation path, start with Options Data API, then open Historical Options Data API, Real-Time Options Data API, Options Chain API, and Best Options Data APIs. The terminology in those resources stays consistent with this guide: OPRA, OCC option symbols, NBBO-style quotes, bid/ask spread, quote age, DTE, IV, Greeks, open interest, point-in-time contracts, as_of, aggregates, WebSockets, entitlements, and reject reasons.

The evaluation starts with the workflow

Start with the job you are trying to build. Do not start with a vendor feature matrix.

WorkflowQuestions to resolve firstData objects required
Live chain scannerWhich contracts are visible now, which rows are fresh, and which rows are liquid enough to show?Expirations, chain snapshots, Greeks, IV, OI, latest quote, latest trade, snapshots
Historical backtestWhich contracts existed at the decision time and what bid/ask market was available?Contracts with as_of, quotes, trades, aggregates, expirations
Earnings replayWhat did the surface imply before the event and what was tradable after it?Event timestamp, expirations, chains, quotes, trades, IV, Greeks, rejects
Dashboard or product UIWhat should a user see, how fresh is it, and which fields are entitled?Snapshots, chains, quotes by plan, trades, bars, reference data
Paper trading or simulationWhat did the strategy observe, what fill rule did it use, and why were trades rejected?Signal bars, selected contracts, quote windows, fills, rejects, request logs

An API that is good for one workflow may be incomplete for another. A chain endpoint is enough to render a first draft UI. It is not enough to prove historical fills. For that, use the Historical Options Replay Runbook, Backtesting Execution Realism, and Quote-Aware Options Backtests material together.

Coverage and provenance

Ask where the data comes from and how the provider describes the route from exchange to API. For U.S. listed options, the practical vocabulary includes OPRA, exchanges, quotes, trades, NBBO-style consolidated fields, condition codes, timestamps, and entitlements. A provider does not need to expose every upstream detail publicly, but it should be able to explain the source model and the limits of what it normalizes.

Evaluation questions:

  • Does the provider say whether the options data is OPRA-originating or otherwise sourced?
  • Does it distinguish quotes from trades?
  • Does it explain exchange identifiers, participant context, or condition codes where relevant?
  • Does it identify whether fields are live, delayed, historical, cached, or plan-gated?
  • Does it explain timestamp units and timezone conversion?
  • Does it document missing rows, empty aggregate intervals, and pagination?

The answer should be concrete. "Institutional-grade data" is not a source model. For CuteMarkets terminology, compare Data Sources and OPRA, Market Data SIPs and Direct Feeds, and Live, Delayed, and Entitlements before writing source or freshness claims.

Endpoint completeness

A serious options stack usually needs these layers:

LayerMinimum expectationWhy it matters
ExpirationsListed dates by underlyingPrevents hard-coded weekly or monthly assumptions
ContractsReference records and historical as_of discoveryPrevents stale-contract and future-listing leakage
ChainsCurrent contract surface by underlying and expirationSupports scanners, strike tables, and candidate selection
SnapshotsOne-contract current stateSupports selected-leg panels and live watchlists
QuotesBid/ask history and latest quote where entitledSupports spread checks and fill realism
TradesTime-and-sales prints and last tradeSupports activity validation and tape context
AggregatesOHLC bars, VWAP, previous close, open/closeSupports charts and signal context
Greeks and IVSensitivity fields where availableSupports risk filters and volatility workflows
Open interestContract participation contextSupports liquidity and expiry concentration filters

If a provider has only snapshots and chains, it may be usable for a simple UI but weak for research. If it has trades but not quotes, last-price backtests may look better than real executable markets. If it has historical prices but not historical contracts, the study can leak today's contract universe into the past.

Plan and entitlement review

Market data plans often differ by live access, delayed access, quote endpoints, WebSockets, request limits, lookback, professional use, commercial display, and redistribution. This is not fine print. It changes what your product can legally and technically do.

Create a plan note in your application config:

bash
{
  "provider": "cutemarkets",
  "product": "options",
  "plan": "expert",
  "freshness": "live",
  "quotes": true,
  "websockets": true,
  "commercial_display": false,
  "historical_lookback": "plan-specific",
  "reviewed_at": "2026-06-04"
}

Do not hide entitlement assumptions in code comments. Surface them in logs, dashboards, and support runbooks so users understand why a quote field is present, delayed, or unavailable.

Timestamp and timezone checklist

Options research breaks when timestamps are vague. Every provider evaluation should include a small timestamp test.

  1. Request a known intraday quote window.
  2. Confirm the timestamp unit and timezone.
  3. Convert it to the market session timezone.
  4. Check whether the row ordering is stable.
  5. Check pagination for the same window.
  6. Confirm how empty windows are represented.
  7. Store the request URL and response metadata beside the result.

For live workflows, add last-seen event timestamps and reconnect timestamps. For historical workflows, add decision timestamps, entry windows, exit windows, and quote-age thresholds.

Failure modes to test

The fastest way to learn whether a provider is usable is to test edge cases deliberately.

Failure modeTestGood response from the workflow
No listed expirationRequest a non-listed dateReturn a clear empty result or error; do not guess a date
Missing quote windowRequest quotes around an inactive periodPreserve the missing-data reason and reject the fill
Wide spreadRequest a thin contractCompute spread percent and block the contract if over policy
Stale last priceCompare last trade and quote timestampPrefer quote evidence for fills and label stale trades
Pagination incompleteStop after the first chain pageMark the chain incomplete and prevent rankings that assume full coverage
Plan-gated fieldRequest quotes on a non-quote planShow entitlement state instead of silently degrading the model
Adjusted contractInspect post-split or special-dividend contractsPreserve shares per contract, deliverable notes, and exact OCC identity

These tests are not academic. They are the difference between a product that fails loudly and a backtest that silently overstates edge.

Comparison method

When comparing CuteMarkets, Massive, Intrinio, Databento, ThetaData, or another provider, avoid winner-take-all claims. Use a workflow scorecard.

CriterionHow to score it
Source clarityDoes the provider explain source, exchange, OPRA/SIP, or feed context?
Object coverageAre contracts, chains, quotes, trades, aggregates, expirations, Greeks, IV, and OI available?
Historical correctnessCan it rebuild a historical contract universe and quote window?
Live operationsDoes it support live snapshots, streams, reconnect policies, and freshness labels?
Access method fitDoes the workflow need REST snapshots, historical windows, WebSockets, flat files, local caches, or backfills?
Ingestion readinessCan the team store cache keys, pagination completeness, rate-limit budget, source requests, and replay manifests?
Buyer clarityAre pricing, quote access, commercial use, and support boundaries easy to understand?
Developer ergonomicsAre docs, examples, pagination, response envelopes, and error behavior clear?
Research integrityDoes the workflow make rejects, missing data, and fill assumptions visible?

Massive is strong at infrastructure and endpoint documentation. Intrinio is strong at broad product packaging and buyer support surfaces. CuteMarkets should be evaluated on its narrower strength: quote-aware, contract-aware options workflows for developers who need auditable research and live tools.

Red flags

Be cautious when a page or sales deck:

  • says "options price" without distinguishing quote, trade, midpoint, snapshot, and aggregate
  • shows a chain but never explains historical contract selection
  • offers "historical options data" without as_of or equivalent point-in-time language
  • does not mention live versus delayed data by plan
  • does not document pagination or missing data
  • treats open interest, volume, and liquidity as the same thing
  • has comparison claims without sources or last-reviewed dates
  • cannot explain whether customer-facing display or redistribution is allowed

Related CuteMarkets docs

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.