CuteMarkets Docs

API Reference

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

Tip: open /docs/contracts.md directly for raw markdown (easy copy/paste into an LLM).

Contracts

Look up options contracts in bulk or fetch a single contract by its options ticker. Results include contract type, exercise style, expiration, strike, and related reference fields.

Example Endpoint

/v1/options/contracts/?underlying_ticker=NFLX&limit=10

Related guides: OCC Option Symbol Format Explained and Option Expiration Date Filters

Endpoints

bash
GET /v1/options/contracts
GET /v1/options/contracts/{options_ticker}

List contracts

Returns a reference index of options contracts. You can scan the full universe or narrow results with filters (underlying, expiration, strike, contract type, and more). By default, expired contracts are excluded. A single contract is loaded with GET /v1/options/contracts/{options_ticker}/. The list URL does not accept a ticker query parameter (requests that include it receive 400).

Query parameters

ParameterTypeRequiredDescription
underlying_tickerstringNoLimit to contracts for this underlying equity ticker (for example NFLX).
contract_typestringNoFilter by contract type (for example call or put).
expiration_datestringNoFilter by expiration, format YYYY-MM-DD.
as_ofstringNoTreat contracts as of this calendar date, format YYYY-MM-DD. Defaults to today when omitted.
strike_pricenumberNoFilter by exact strike price.
expiredbooleanNoInclude expired contracts when true. Default is false.
underlying_ticker.gtestringNoRange filter: underlying ticker greater than or equal.
underlying_ticker.gtstringNoRange filter: underlying ticker greater than.
underlying_ticker.ltestringNoRange filter: underlying ticker less than or equal.
underlying_ticker.ltstringNoRange filter: underlying ticker less than.
expiration_date.gtestringNoRange filter: expiration on or after this date (YYYY-MM-DD).
expiration_date.gtstringNoRange filter: expiration after this date.
expiration_date.ltestringNoRange filter: expiration on or before this date.
expiration_date.ltstringNoRange filter: expiration before this date.
strike_price.gtenumberNoRange filter: strike greater than or equal.
strike_price.gtnumberNoRange filter: strike greater than.
strike_price.ltenumberNoRange filter: strike less than or equal.
strike_price.ltnumberNoRange filter: strike less than.
sortstringNoField name used for ordering.
orderstringNoSort direction for the sort field.
limitintegerNoMaximum number of results per request. Default is 10, maximum is 1000.
pagestringNoPagination continuation. When next_url is present, request that full URL (recommended), or call this endpoint with the page query string from next_url.

Pagination

Use limit (up to 1000) together with sort, order, and filters such as expiration or strike ranges to narrow results. When more rows exist, the response includes next_url: a complete URL for the next page. Request it with the same API key and repeat until next_url is absent.

Response (list)

FieldTypeDescription
statusstringOutcome of the request (for example OK).
request_idstringIdentifier for this request (assigned by CuteMarkets).
resultsarrayContract objects matching the query.
next_urlstringPresent when another page of results exists. Full URL for the next request.

Each element of results may include:

FieldTypeDescription
tickerstringOptions contract ticker.
underlying_tickerstringUnderlying symbol.
contract_typestringTypically call, put, or rarely other.
exercise_stylestringOne of american, european, or bermudan.
expiration_datestringExpiration date, YYYY-MM-DD.
strike_pricenumberStrike price.
shares_per_contractnumberContract size in shares.
primary_exchangestringMIC code of the primary listing exchange.
cfistringSix-letter CFI code (ISO 10962).
correctionintegerCorrection number for this contract record, when present.
additional_underlyingsarrayOptional deliverables or extra underlyings (for example after corporate actions). Objects may include underlying, type, and amount.

Example request (list)

bash
curl \
  "https://api.cutemarkets.com/v1/options/contracts/?underlying_ticker=NFLX&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

Sample response (list)

bash
{
  "results": [
    {
      "cfi": "OCASPS",
      "contract_type": "call",
      "exercise_style": "american",
      "expiration_date": "2026-04-02",
      "primary_exchange": "BATO",
      "shares_per_contract": 100,
      "strike_price": 40,
      "ticker": "O:NFLX260402C00040000",
      "underlying_ticker": "NFLX"
    },
    {
      "cfi": "OCASPS",
      "contract_type": "call",
      "exercise_style": "american",
      "expiration_date": "2026-04-02",
      "primary_exchange": "BATO",
      "shares_per_contract": 100,
      "strike_price": 45,
      "ticker": "O:NFLX260402C00045000",
      "underlying_ticker": "NFLX"
    }
  ],
  "status": "OK",
  "request_id": "cm_6e2beadb22f8498885af015fde6bfab2"
}

Contract detail

Returns reference data for one options contract: type (call/put), exercise style, expiration, strike, shares per contract, underlying symbol, primary exchange, and related metadata. Use it to confirm contract specifications, align chain or strategy logic, or integrate contract definitions into tooling.

Example Endpoint

/v1/options/contracts/O:NFLX260402C00075000/

Endpoint

bash
GET /v1/options/contracts/{options_ticker}

Path parameters

ParameterTypeRequiredDescription
options_tickerstringYesOptions contract ticker in full form (for example O:NFLX260402C00075000). The path segment is the contract identifier; it is not repeated as a query parameter.

Query parameters

ParameterTypeRequiredDescription
as_ofstringNoReturn the contract as it was defined on this calendar date, format YYYY-MM-DD. When omitted, defaults to today.

Response (detail)

FieldTypeDescription
statusstringOutcome of the request (for example OK).
request_idstringUnique identifier for this request, assigned by CuteMarkets.
resultsobjectThe contract record for the requested ticker.

Fields on results:

FieldTypeDescription
tickerstringOptions contract ticker.
underlying_tickerstringUnderlying equity symbol.
contract_typestringTypically call, put, or rarely other.
exercise_stylestringOne of american, european, or bermudan.
expiration_datestringExpiration date, YYYY-MM-DD.
strike_pricenumberStrike price.
shares_per_contractnumberShares represented per contract.
primary_exchangestringMIC code of the primary listing exchange.
cfistringSix-letter CFI code (ISO 10962).
correctionintegerCorrection revision for this contract record, when present.
additional_underlyingsarrayOptional. Extra deliverables or underlyings (for example after splits or mergers). Objects may include underlying, type, and amount. See the Options Industry Council FAQ on corporate actions for context.

Example request (detail)

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

Optional historical as-of:

bash
curl \
  "https://api.cutemarkets.com/v1/options/contracts/O:NFLX260402C00075000/?as_of=2026-01-15" \
  -H "Authorization: Bearer YOUR_API_KEY"

Sample response (detail)

bash
{
  "results": {
    "cfi": "OCASPS",
    "contract_type": "call",
    "exercise_style": "american",
    "expiration_date": "2026-04-02",
    "primary_exchange": "BATO",
    "shares_per_contract": 100,
    "strike_price": 75,
    "ticker": "O:NFLX260402C00075000",
    "underlying_ticker": "NFLX"
  },
  "status": "OK",
  "request_id": "cm_dae7973c238245a5bf0525814f03e3aa"
}

Some contracts include additional_underlyings when deliverables are not a single equity only, for example after mergers or spinoffs:

bash
{
  "results": {
    "additional_underlyings": [
      { "amount": 44, "type": "equity", "underlying": "VMW" },
      { "amount": 6.53, "type": "currency", "underlying": "USD" }
    ],
    "cfi": "OCASPS",
    "contract_type": "call",
    "exercise_style": "american",
    "expiration_date": "2021-11-19",
    "primary_exchange": "BATO",
    "shares_per_contract": 100,
    "strike_price": 85,
    "ticker": "O:AAPL211119C00085000",
    "underlying_ticker": "AAPL"
  },
  "status": "OK",
  "request_id": "cm_9f3e2d1c0b4a5e6d7c8b9a0f1e2d3c4b"
}

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 the live, historical, and chain workflows directly.