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
GET /v1/options/snapshot/{underlying}/{option_contract}
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
underlying | string | Yes | Underlying equity symbol (for example NFLX). Must match the root symbol of the option ticker. |
option_contract | string | Yes | Full 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:
| Field | Type | Description |
|---|---|---|
status | string | Outcome of the request (for example OK). |
request_id | string | Unique identifier for this request, assigned by CuteMarkets. |
results | object | One contract snapshot (not an array). |
Fields on results (nested objects appear when that data is available for the contract):
| Field | Type | Description |
|---|---|---|
break_even_price | number | Underlying price at which the position breaks even (call: strike + premium; put: strike − premium). |
day | object | Latest daily bar: open, high, low, close, volume, VWAP, change, change percent, previous close, last_updated (nanoseconds). |
details | object | ticker, contract_type, exercise_style, expiration_date, strike_price, shares_per_contract. |
greeks | object | delta, gamma, theta, vega when available. Deep ITM or illiquid contracts may omit some values. |
implied_volatility | number | Implied volatility implied by the option price, when available. |
last_quote | object | Most recent NBBO-style quote (bid/ask, sizes, exchanges, midpoint, last_updated, timeframe) when quotes are enabled for your plan. |
last_trade | object | Most recent trade (price, size, exchange, sip_timestamp, conditions, timeframe) when trades are enabled for your plan. |
open_interest | number | Open interest from the last reporting cycle. |
underlying_asset | object | Underlying reference: ticker, price, change_to_break_even, last_updated, timeframe. |
fmv | number | Fair market value estimate when provided for your subscription tier. |
fmv_last_updated | integer | Nanosecond timestamp of the last FMV update, when fmv is present. |
Example request
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:
curl \
"https://api.cutemarkets.com/v1/options/snapshot/NFLX/O:NFLX260402C00075000/" \
-H "Authorization: Bearer YOUR_API_KEY"
Sample response
{
"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_offor historical reference lookup. - Use historical quotes for prior bid/ask reconstruction.
- Store quote and trade timestamps with any decision derived from the snapshot.