Skip to content
Get started

Get Option Contracts

client.V1.Instruments.GetOptionContracts(ctx, query) (*V1InstrumentGetOptionContractsResponse, error)
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
query V1InstrumentGetOptionContractsParams
ContractType param.Field[ContractType]Optional

Filter by contract type: CALL or PUT

Expiry param.Field[Time]Optional

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

formatdate
PageSize param.Field[int64]Optional

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

formatint64
maximum1000
minimum1
PageToken param.Field[string]Optional

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

formatbyte
Underlier param.Field[string]Optional

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

UnderlyingInstrumentID param.Field[InstrumentIDOrSymbol]Optional

OEMS instrument UUID or symbol of the underlying equity/index

formatuuid
ReturnsExpand Collapse
type V1InstrumentGetOptionContractsResponse struct{…}
ID string

OEMS instrument identifier

formatuuid
ContractType ContractType

Whether this is a CALL or PUT

One of the following:
const ContractTypeCall ContractType = "CALL"
const ContractTypePut ContractType = "PUT"
Currency string

ISO currency code

Exchange string

MIC code of the primary listing venue

ExerciseStyle ExerciseStyle

Exercise style

One of the following:
const ExerciseStyleAmerican ExerciseStyle = "AMERICAN"
const ExerciseStyleEuropean ExerciseStyle = "EUROPEAN"
Expiry Time

Expiration date

formatdate
IsLiquidationOnly bool

Whether the contract is liquidation-only

IsMarginable bool

Whether the contract is marginable

IsRestricted bool

Whether the contract is restricted from trading

ListingType ListingType

Listing type

One of the following:
const ListingTypeStandard ListingType = "STANDARD"
const ListingTypeFlex ListingType = "FLEX"
const ListingTypeOtc ListingType = "OTC"
Multiplier string

Contract multiplier (100 for standard options)

StrikePrice string

Strike price

Symbol string

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

OpenInterest int64Optional

Open interest (number of outstanding contracts), if available

formatint64
UnderlyingInstrumentID stringOptional

OEMS instrument ID of the underlying instrument, if resolvable

formatuuid

Get Option Contracts

package main

import (
  "context"
  "fmt"

  "github.com/clear-street/clear-street-go"
  "github.com/clear-street/clear-street-go/option"
)

func main() {
  client := clearstreet.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.V1.Instruments.GetOptionContracts(context.TODO(), clearstreet.V1InstrumentGetOptionContractsParams{

  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response)
}
{
  "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"
  }
}