Skip to content
Start Trading

Instruments

Retrieve core details and discovery endpoints for tradable instruments.

Get Instruments
InstrumentGetInstrumentsResponse v1().instruments().getInstruments(InstrumentGetInstrumentsParamsparams = InstrumentGetInstrumentsParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/instruments
Get Instrument By ID
InstrumentGetInstrumentByIdResponse v1().instruments().getInstrumentById(InstrumentGetInstrumentByIdParamsparams = InstrumentGetInstrumentByIdParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/instruments/{instrument_id}
Search Instruments
InstrumentSearchInstrumentsResponse v1().instruments().searchInstruments(InstrumentSearchInstrumentsParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/instruments/search
Get Option Contracts
InstrumentGetOptionContractsResponse v1().instruments().getOptionContracts(InstrumentGetOptionContractsParamsparams = InstrumentGetOptionContractsParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/instruments/options/contracts
ModelsExpand Collapse
enum ContractType:

The type of options contract

CALL("CALL")
PUT("PUT")
enum ExerciseStyle:

The exercise style of an options contract

AMERICAN("AMERICAN")
EUROPEAN("EUROPEAN")
class Instrument:

Represents a tradable financial instrument.

String id

Unique instrument identifier (UUID)

formatuuid
String countryOfIssue

The ISO country code of the instrument’s issue

String currency

The ISO currency code in which the instrument is traded

boolean easyToBorrow

Indicates if the instrument is classified as Easy-To-Borrow

boolean isFractionable

Indicates if the instrument supports fractional-quantity orders

boolean isLiquidationOnly

Indicates if the instrument is liquidation only and cannot be bought

boolean isMarginable

Indicates if the instrument is marginable

boolean isPtp

Indicates if the instrument is a publicly traded partnership (PTP). PTP sales are subject to a 10% withholding tax for non-US tax residents.

boolean isShortProhibited

Indicates if short selling is prohibited for the instrument. This is a standing property of the security. For the live Rule 201 circuit breaker, see short_sale_restricted on the market-data snapshot.

boolean isThresholdSecurity

Indicates if the instrument is on the Regulation SHO Threshold Security List

boolean isTradable

Indicates if the instrument is tradable

String symbol

The trading symbol for the instrument

String venue

The MIC code of the primary listing venue

Optional<String> adv

Average daily share volume from the security definition. When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> caxAdjustedPreviousClose

Corporate-action-adjusted last close; present only when an adjustment exists for the previous_close date. When a null/undefined value is observed, it indicates that there is no available data.

Optional<SecurityType> instrumentType

The type of security (e.g., Common Stock, ETF) When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
COMMON_STOCK("COMMON_STOCK")
INDEX("INDEX")
OPTION("OPTION")
CASH("CASH")
Optional<String> longMarginRate

The percent of a long position’s value you must post as margin When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> name

The full name of the instrument or its issuer When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> notionalAdv

Notional average daily volume (ADV multiplied by the cax-adjusted close when present, the raw previous close otherwise). When a null/undefined value is observed, it indicates that there is no available data.

Optional<List<OptionExpiryDate>> optionsContractExpiryDates

Available options expiration dates for this instrument, each annotated with which settlement cycles have listed contracts on it. Present only when include_options_expiry_dates=true in the request. When a null/undefined value is observed, it indicates it does not apply.

LocalDate date

The expiration date.

formatdate
boolean hasSettlesOnClose

Whether this date has at least one listed contract that settles at the close (PM settlement) — the standard cycle.

boolean hasSettlesOnOpen

Whether this date has at least one contract that settles on the opening print (AM settlement) and can still be traded. AM-settled contracts stop trading at the close of the business day before settlement, so this turns false before the expiration date arrives. A date leaves the list once no contract on it can be traded in either settlement cycle.

DeprecatedOptional<List<LocalDate>> optionsExpiryDates

Available options expiration dates for this instrument. Present only when include_options_expiry_dates=true in the request.

Deprecated: use options_contract_expiry_dates, which carries the same dates annotated with settlement-cycle information. When a null/undefined value is observed, it indicates it does not apply.

Optional<String> previousClose

Last close price from the security definition. When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> shortMarginRate

The percent of a short position’s value you must post as margin When a null/undefined value is observed, it indicates that there is no available data.

Optional<List<TickRule>> tickRules

Price bands this instrument quotes on, ascending. Absent when we have no schedule for it, which includes an option whose penny-program status our reference data never supplied.

String startPrice

Lowest price in the band, inclusive.

String tickSize

Minimum price increment within the band.

Optional<String> endPrice

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

class InstrumentCore:
String id

Unique instrument identifier (UUID)

formatuuid
String countryOfIssue

The ISO country code of the instrument’s issue

String currency

The ISO currency code in which the instrument is traded

boolean easyToBorrow

Indicates if the instrument is classified as Easy-To-Borrow

boolean isFractionable

Indicates if the instrument supports fractional-quantity orders

boolean isLiquidationOnly

Indicates if the instrument is liquidation only and cannot be bought

boolean isMarginable

Indicates if the instrument is marginable

boolean isPtp

Indicates if the instrument is a publicly traded partnership (PTP). PTP sales are subject to a 10% withholding tax for non-US tax residents.

boolean isShortProhibited

Indicates if short selling is prohibited for the instrument. This is a standing property of the security. For the live Rule 201 circuit breaker, see short_sale_restricted on the market-data snapshot.

boolean isThresholdSecurity

Indicates if the instrument is on the Regulation SHO Threshold Security List

boolean isTradable

Indicates if the instrument is tradable

String symbol

The trading symbol for the instrument

String venue

The MIC code of the primary listing venue

Optional<String> adv

Average daily share volume from the security definition. When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> caxAdjustedPreviousClose

Corporate-action-adjusted last close; present only when an adjustment exists for the previous_close date. When a null/undefined value is observed, it indicates that there is no available data.

Optional<SecurityType> instrumentType

The type of security (e.g., Common Stock, ETF) When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
COMMON_STOCK("COMMON_STOCK")
INDEX("INDEX")
OPTION("OPTION")
CASH("CASH")
Optional<String> longMarginRate

The percent of a long position’s value you must post as margin When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> name

The full name of the instrument or its issuer When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> notionalAdv

Notional average daily volume (ADV multiplied by the cax-adjusted close when present, the raw previous close otherwise). When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> previousClose

Last close price from the security definition. When a null/undefined value is observed, it indicates that there is no available data.

Optional<String> shortMarginRate

The percent of a short position’s value you must post as margin When a null/undefined value is observed, it indicates that there is no available data.

Optional<List<TickRule>> tickRules

Price bands this instrument quotes on, ascending. Absent when we have no schedule for it, which includes an option whose penny-program status our reference data never supplied.

String startPrice

Lowest price in the band, inclusive.

String tickSize

Minimum price increment within the band.

Optional<String> endPrice

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

enum ListingType:

The listing type of an options contract

STANDARD("STANDARD")
FLEX("FLEX")
OTC("OTC")
class OptionExpiryDate:

An options expiry date, annotated with which settlement cycles have listed contracts on it.

LocalDate date

The expiration date.

formatdate
boolean hasSettlesOnClose

Whether this date has at least one listed contract that settles at the close (PM settlement) — the standard cycle.

boolean hasSettlesOnOpen

Whether this date has at least one contract that settles on the opening print (AM settlement) and can still be traded. AM-settled contracts stop trading at the close of the business day before settlement, so this turns false before the expiration date arrives. A date leaves the list once no contract on it can be traded in either settlement cycle.

class OptionsContract:

An options contract with options-specific metadata

String id

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 isTradable

Whether the contract is tradable

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<Boolean> isSettleOnOpen

Whether the option settles on the opening price (AM settlement), if known When a null/undefined value is observed, it indicates that there is no available data.

Optional<LocalDateTime> lastTradeCutoff

Last moment the option can trade (UTC), if known When a null/undefined value is observed, it indicates that there is no available data.

formatdate-time
Optional<Long> openInterest

Open interest (number of outstanding contracts), if available When a null/undefined value is observed, it indicates that there is no available data.

formatint64
Optional<List<TickRule>> tickRules

Price bands this contract quotes on, ascending. Absent when our reference data never supplied the contract’s penny-program status.

String startPrice

Lowest price in the band, inclusive.

String tickSize

Minimum price increment within the band.

Optional<String> endPrice

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

Optional<String> underlyingInstrumentId

Instrument ID of the underlying instrument, when available When a null/undefined value is observed, it indicates that there is no available data.

formatuuid
class TickRule:

One band of an instrument’s tick schedule. A price in the band is valid only if it is a whole multiple of tick_size. Bands describe the instrument itself: on an equity they say nothing about that equity’s option chain.

String startPrice

Lowest price in the band, inclusive.

String tickSize

Minimum price increment within the band.

Optional<String> endPrice

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.