CuteMarkets Docs

API Reference

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

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

Returns a single options contract snapshot: break-even level, day stats, contract details, Greeks, implied volatility, open interest, latest quote and trade when your plan includes them, and underlying context. Use it to evaluate one leg, compare risk, or feed models without pulling the full chain.

Example Endpoint

/v1/options/snapshot/NFLX/O:NFLX260410C00060000/

Endpoint

bash
GET /v1/options/snapshot/{underlying}/{option_contract}

Path parameters

ParameterTypeRequiredDescription
underlyingstringYesUnderlying equity symbol (for example NFLX). Must match the root symbol of the option ticker.
option_contractstringYesFull OCC-style options ticker (for example O:NFLX260410C00060000). It must belong to underlying. In URLs, encode : as %3A if your client requires it. If the contract is unknown or delisted, the API returns 404.

Query parameters

None. The path identifies the underlying and the option contract.

Expired and same-week contracts

This endpoint is a current listed-contract snapshot. Same-week contracts work while they are still listed and available from the upstream snapshot feed. After expiration, delisting, or when the current snapshot feed no longer carries the contract, the endpoint can return 404 even if historical reference data still exists.

For expired-contract reference lookup, use GET /v1/options/contracts/{options_ticker}/?as_of=YYYY-MM-DD. For prior bid/ask marks, use GET /v1/options/quotes/{options_ticker}/ with explicit timestamp filters around the trading session you want to reconstruct.

Response

Top-level fields:

FieldTypeDescription
statusstringOutcome of the request (for example OK).
request_idstringUnique identifier for this request, assigned by CuteMarkets.
resultsobjectOne contract snapshot (not an array).

Fields on results (nested objects appear when that data is available for the contract):

FieldTypeDescription
break_even_pricenumberUnderlying price at which the position breaks even (call: strike + premium; put: strike − premium).
dayobjectLatest daily bar: open, high, low, close, volume, VWAP, change, change percent, previous close, last_updated (nanoseconds).
detailsobjectticker, contract_type, exercise_style, expiration_date, strike_price, shares_per_contract.
greeksobjectdelta, gamma, theta, vega when available. Deep ITM or illiquid contracts may omit some values.
implied_volatilitynumberImplied volatility implied by the option price, when available.
last_quoteobjectMost recent NBBO-style quote (bid/ask, sizes, exchanges, midpoint, last_updated, timeframe) when quotes are enabled for your plan.
last_tradeobjectMost recent trade (price, size, exchange, sip_timestamp, conditions, timeframe) when trades are enabled for your plan.
open_interestnumberOpen interest from the last reporting cycle.
underlying_assetobjectUnderlying reference: ticker, price, change_to_break_even, last_updated, timeframe.
fmvnumberFair market value estimate when provided for your subscription tier.
fmv_last_updatedintegerNanosecond timestamp of the last FMV update, when fmv is present.

Example request

bash
curl \
  "https://api.cutemarkets.com/v1/options/snapshot/NFLX/O%3ANFLX260402C00075000/" \
  -H "Authorization: Bearer YOUR_API_KEY"

Many shells accept the colon literally inside quotes:

bash
curl \
  "https://api.cutemarkets.com/v1/options/snapshot/NFLX/O:NFLX260402C00075000/" \
  -H "Authorization: Bearer YOUR_API_KEY"

Sample response

bash
{
  "results": {
    "break_even_price": 100.025,
    "day": {
      "change": -0.08,
      "change_percent": -80,
      "close": 0.02,
      "high": 0.15,
      "last_updated": 1775016000000000000,
      "low": 0.02,
      "open": 0.11,
      "previous_close": 0.1,
      "volume": 11788,
      "vwap": 0.03614
    },
    "details": {
      "contract_type": "call",
      "exercise_style": "american",
      "expiration_date": "2026-04-02",
      "shares_per_contract": 100,
      "strike_price": 100,
      "ticker": "O:NFLX260402C00100000"
    },
    "greeks": {
      "delta": 0.02481795338171621,
      "gamma": 0.022072818287936315,
      "theta": -0.13121396656786571,
      "vega": 0.0019964356066287225
    },
    "implied_volatility": 0.6950024226241469,
    "last_quote": {
      "ask": 0.03,
      "ask_size": 486,
      "ask_exchange": 309,
      "bid": 0.02,
      "bid_size": 238,
      "bid_exchange": 322,
      "last_updated": 1775072652441254747,
      "midpoint": 0.025,
      "timeframe": "REAL-TIME"
    },
    "last_trade": {
      "sip_timestamp": 1775073506446593186,
      "conditions": [227],
      "price": 0.02,
      "size": 50,
      "exchange": 312,
      "timeframe": "REAL-TIME"
    },
    "open_interest": 14078,
    "underlying_asset": {
      "change_to_break_even": 5.235,
      "last_updated": 1775123022067431274,
      "price": 94.79,
      "ticker": "NFLX",
      "timeframe": "DELAYED"
    }
  },
  "status": "OK",
  "request_id": "cm_a1b2c3d4e5f6478990a1b2c3d4e5f678"
}

Related workflow pages

When to use a contract snapshot

Use a contract snapshot when the application already knows the exact OCC ticker and needs the latest state for one leg. This is common in contract detail pages, selected-leg panels, watchlists, alerts, and post-filter diagnostics. It is less efficient for discovering candidates because discovery requires many contracts; use the chain endpoint for that step.

A snapshot is also useful after an algorithm selects a contract from a chain. The chain identifies candidates across strikes and expirations. The contract snapshot can then refresh one chosen contract, show current quote and trade context, and display Greeks, implied volatility, day stats, and open interest without reloading the full chain.

Field interpretation

The snapshot combines fields with different semantics. Contract details describe the instrument. underlying_asset describes the stock or ETF context. last_quote describes the current bid/ask market when available. last_trade describes the most recent print. day summarizes the current daily bar. Greeks and implied volatility are analytics derived from market state and model inputs.

Do not collapse these fields into a single "price". A stale last trade, a live quote midpoint, and a fair market value estimate can differ for legitimate reasons. If the snapshot powers a user decision, display the relevant timestamp and source field. If it powers a model, store the nested fields separately so later analysis can identify whether the model relied on quote, trade, bar, or analytic data.

Implementation checklist

  • Verify that the underlying path segment matches the option ticker root.
  • URL-encode the OCC ticker if your HTTP client treats : specially.
  • Treat 404 on expired or delisted contracts as an expected lifecycle case.
  • Use contracts with as_of for historical reference lookup.
  • Use historical quotes for prior bid/ask reconstruction.
  • Store quote and trade timestamps with any decision derived from the snapshot.

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.