Instruments

Get Option Contracts

Changed on

List options contracts.

Returns options contracts with options-specific metadata. Exactly one identifier must be provided: root/underlying_instrument_id (list all contracts for that underlier) or contract_ids (look up specific contracts directly). expiry/contract_type apply as filters in either case.

get/v1/instruments/options/contracts

Request

  • Base URL
    https://api.clearstreet.com
  • Auth
    HTTP bearer

Query parameters

rootstring

OSI option root symbol (e.g., AAPL, SPXW). Index roots also include their weekly series (e.g., SPX includes SPXW).

underlierstring

Deprecated: use root. If both are sent, the values must match.

underlying_instrument_idstring

Instrument identifier: either an instrument UUID or a symbol (symbol for equities, OSI for options). Non-UUID inputs are resolved server-side.

Instrument identifier or symbol of the underlying equity/index

contract_idsInstrumentIdOrSymbol[]

Comma-separated contract instrument IDs (UUID) or OSI option symbols to look up directly, bypassing underlier expansion. Mutually exclusive with root/underlying_instrument_id; up to 100 values.

expirystring date

Filter to contracts expiring on this date (YYYY-MM-DD)

contract_type'CALL' | 'PUT'

The type of options contract

Filter by contract type: CALL or PUT

is_settle_on_openboolean

Filter by settlement cycle: true for early-settling (AM, settle-on-open) contracts, false for normal (PM) contracts. Omit to return both.

page_sizeinteger

The number of items to return per page. Only used when page_token is not provided.

page_tokenstring byte

Base64URL-encoded pagination token

Token for retrieving the next or previous page of results. Contains encoded pagination state; when provided, page_size is ignored.

Response

List of options contracts

Example response

{
  "error": {
    "code": 400,
    "message": "Order quantity must be greater than zero"
  },
  "metadata": {
    "page_number": 1,
    "total_items": 42,
    "total_pages": 5
  },
  "data": [
    {
      "currency": "USD",
      "exchange": "BATO",
      "expiry": "2026-03-18",
      "id": "b6f4b5e2-94a8-4fe4-9a85-2b4a81d30cc5",
      "is_settle_on_open": true,
      "is_tradable": true,
      "last_trade_cutoff": "2026-08-20T20:00:00Z",
      "multiplier": "100",
      "strike_price": "150.00",
      "symbol": "AAPL  251219C00150000",
      "tick_rules": [
        {
          "start_price": "3.00",
          "tick_size": "0.10"
        }
      ]
    }
  ]
}

Changes

    • info

      added the optional property /// to the response with the status

    • breaking

      for the query request parameter underlying_instrument_id, the minLength was increased from 0 to 1

    • info

      added the new optional query request parameter contract_ids

    • info

      added the new optional query request parameter is_settle_on_open

    • info

      added the new optional query request parameter root

    • info

      query request parameter underlier was deprecated

    • info

      for the query request parameter underlying_instrument_id, the type was generalized from no type to string

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property /// to the response with the status