Skip to content
Get started

Get Option Contracts

InstrumentGetOptionContractsResponse v1().instruments().getOptionContracts(InstrumentGetOptionContractsParamsparams = InstrumentGetOptionContractsParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/instruments/options/contracts

List options contracts.

Returns options contracts for a given underlier with options-specific metadata. Exactly one underlier identifier must be provided.

ParametersExpand Collapse
InstrumentGetOptionContractsParams params
Optional<ContractType> contractType

Filter by contract type: CALL or PUT

Optional<LocalDate> expiry

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

formatdate
Optional<Long> pageSize

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

formatint64
maximum1000
minimum1
Optional<String> pageToken

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

formatbyte
Optional<String> underlier

Underlier symbol (e.g., AAPL, SPX)

Optional<String> underlyingInstrumentId

OEMS instrument UUID or symbol of the underlying equity/index

formatuuid
ReturnsExpand Collapse
class InstrumentGetOptionContractsResponse:
List<OptionsContract> data
String id

OEMS instrument identifier

formatuuid
ContractType contractType

Whether this is a CALL or PUT

One of the following:
CALL("CALL")
PUT("PUT")
String currency

ISO currency code

String exchange

MIC code of the primary listing venue

ExerciseStyle exerciseStyle

Exercise style

One of the following:
AMERICAN("AMERICAN")
EUROPEAN("EUROPEAN")
LocalDate expiry

Expiration date

formatdate
boolean isLiquidationOnly

Whether the contract is liquidation-only

boolean isMarginable

Whether the contract is marginable

boolean isRestricted

Whether the contract is restricted from trading

ListingType listingType

Listing type

One of the following:
STANDARD("STANDARD")
FLEX("FLEX")
OTC("OTC")
String multiplier

Contract multiplier (100 for standard options)

String strikePrice

Strike price

String symbol

OSI symbol (e.g. “AAPL 251219C00150000”)

Optional<Long> openInterest

Open interest (number of outstanding contracts), if available

formatint64
Optional<String> underlyingInstrumentId

OEMS instrument ID of the underlying instrument, if resolvable

formatuuid

Get Option Contracts

package com.clear_street.api.example;

import com.clear_street.api.client.ClearStreetClient;
import com.clear_street.api.client.okhttp.ClearStreetOkHttpClient;
import com.clear_street.api.models.v1.instruments.InstrumentGetOptionContractsParams;
import com.clear_street.api.models.v1.instruments.InstrumentGetOptionContractsResponse;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        ClearStreetClient client = ClearStreetOkHttpClient.builder()
            .fromEnv()
            .apiKey("My API Key")
            .build();

        InstrumentGetOptionContractsResponse response = client.v1().instruments().getOptionContracts();
    }
}
{
  "data": [
    {
      "contract_type": "CALL",
      "currency": "USD",
      "exchange": "BATO",
      "exercise_style": "AMERICAN",
      "expiry": "2026-03-20",
      "id": "b6f4b5e2-94a8-4fe4-9a85-2b4a81d30cc5",
      "is_liquidation_only": false,
      "is_marginable": true,
      "is_restricted": false,
      "is_tradable": true,
      "listing_type": "STANDARD",
      "multiplier": "100",
      "strike_price": "180",
      "symbol": "AAPL  260320C00180000",
      "underlying_instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8"
    },
    {
      "contract_type": "PUT",
      "currency": "USD",
      "exchange": "BATO",
      "exercise_style": "AMERICAN",
      "expiry": "2026-03-20",
      "id": "c7e5c6f3-a5b9-5gf5-0b96-3c5b92e41dd6",
      "is_liquidation_only": false,
      "is_marginable": true,
      "is_restricted": false,
      "is_tradable": true,
      "listing_type": "STANDARD",
      "multiplier": "100",
      "strike_price": "180",
      "symbol": "AAPL  260320P00180000",
      "underlying_instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8"
    }
  ],
  "metadata": {
    "page_number": 1,
    "request_id": "c2d0429d-c629-4ee1-b719-df007157f3bb",
    "total_items": 2,
    "total_pages": 1
  }
}
{
  "error": {
    "code": 400,
    "message": "Exactly one underlier identifier must be provided: underlier or underlying_instrument_id"
  },
  "metadata": {
    "request_id": "4bb6025f-0415-4689-9c2f-307e9a1a47c8"
  }
}
{
  "error": {
    "code": 404,
    "message": "Instrument not found: 528ec5c3-cdbf-447c-b995-ec6c83cfbc03"
  },
  "metadata": {
    "request_id": "58a3f5e9-74b0-48b7-a17d-16b44e123174"
  }
}
Returns Examples
{
  "data": [
    {
      "contract_type": "CALL",
      "currency": "USD",
      "exchange": "BATO",
      "exercise_style": "AMERICAN",
      "expiry": "2026-03-20",
      "id": "b6f4b5e2-94a8-4fe4-9a85-2b4a81d30cc5",
      "is_liquidation_only": false,
      "is_marginable": true,
      "is_restricted": false,
      "is_tradable": true,
      "listing_type": "STANDARD",
      "multiplier": "100",
      "strike_price": "180",
      "symbol": "AAPL  260320C00180000",
      "underlying_instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8"
    },
    {
      "contract_type": "PUT",
      "currency": "USD",
      "exchange": "BATO",
      "exercise_style": "AMERICAN",
      "expiry": "2026-03-20",
      "id": "c7e5c6f3-a5b9-5gf5-0b96-3c5b92e41dd6",
      "is_liquidation_only": false,
      "is_marginable": true,
      "is_restricted": false,
      "is_tradable": true,
      "listing_type": "STANDARD",
      "multiplier": "100",
      "strike_price": "180",
      "symbol": "AAPL  260320P00180000",
      "underlying_instrument_id": "a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8"
    }
  ],
  "metadata": {
    "page_number": 1,
    "request_id": "c2d0429d-c629-4ee1-b719-df007157f3bb",
    "total_items": 2,
    "total_pages": 1
  }
}
{
  "error": {
    "code": 400,
    "message": "Exactly one underlier identifier must be provided: underlier or underlying_instrument_id"
  },
  "metadata": {
    "request_id": "4bb6025f-0415-4689-9c2f-307e9a1a47c8"
  }
}
{
  "error": {
    "code": 404,
    "message": "Instrument not found: 528ec5c3-cdbf-447c-b995-ec6c83cfbc03"
  },
  "metadata": {
    "request_id": "58a3f5e9-74b0-48b7-a17d-16b44e123174"
  }
}