Skip to content
Start Trading

Get Instrument By ID

client.V1.Instruments.GetInstrumentByID(ctx, instrumentID, query) (*V1InstrumentGetInstrumentByIDResponse, error)
GET/v1/instruments/{instrument_id}

Retrieves detailed information for a specific instrument.

ParametersExpand Collapse
instrumentID string

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

minLength1
query V1InstrumentGetInstrumentByIDParams
IncludeOptionsExpiryDates param.Field[bool]Optional

When true, include unique options expiry dates for this instrument

ReturnsExpand Collapse
type V1InstrumentGetInstrumentByIDResponse struct{…}

Represents a tradable financial instrument.

ID string

Unique instrument identifier (UUID)

formatuuid
CountryOfIssue string

The ISO country code of the instrument’s issue

Currency string

The ISO currency code in which the instrument is traded

EasyToBorrow bool

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

IsFractionable bool

Indicates if the instrument supports fractional-quantity orders

IsLiquidationOnly bool

Indicates if the instrument is liquidation only and cannot be bought

IsMarginable bool

Indicates if the instrument is marginable

IsPtp bool

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

IsShortProhibited bool

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.

IsThresholdSecurity bool

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

IsTradable bool

Indicates if the instrument is tradable

Symbol string

The trading symbol for the instrument

Venue string

The MIC code of the primary listing venue

Adv stringOptional

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

CaxAdjustedPreviousClose stringOptional

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.

InstrumentType SecurityTypeOptional

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:
const SecurityTypeCommonStock SecurityType = "COMMON_STOCK"
const SecurityTypeIndex SecurityType = "INDEX"
const SecurityTypeOption SecurityType = "OPTION"
const SecurityTypeCash SecurityType = "CASH"
LongMarginRate stringOptional

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.

Name stringOptional

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

NotionalAdv stringOptional

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.

OptionsContractExpiryDates []OptionExpiryDateOptional

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.

Date Time

The expiration date.

formatdate
HasSettlesOnClose bool

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

HasSettlesOnOpen bool

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.

DeprecatedOptionsExpiryDates []TimeOptional

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.

PreviousClose stringOptional

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

ShortMarginRate stringOptional

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.

TickRules []TickRuleOptional

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.

StartPrice string

Lowest price in the band, inclusive.

TickSize string

Minimum price increment within the band.

EndPrice stringOptional

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.

Get Instrument By ID

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.GetInstrumentByID(
    context.TODO(),
    "x",
    clearstreet.V1InstrumentGetInstrumentByIDParams{

    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response)
}
{
  "data": {
    "country_of_issue": "US",
    "currency": "USD",
    "easy_to_borrow": true,
    "id": "0f5a1a4e-5b3e-4d8f-9b7a-2b1d0e3f4a5b",
    "instrument_type": "COMMON_STOCK",
    "is_fractionable": false,
    "is_liquidation_only": false,
    "is_marginable": true,
    "is_ptp": false,
    "is_short_prohibited": false,
    "is_threshold_security": false,
    "is_tradable": true,
    "long_margin_rate": "0.25",
    "name": "Apple Inc.",
    "short_margin_rate": "0.25",
    "symbol": "AAPL",
    "venue": "XNMS"
  },
  "error": null,
  "metadata": {
    "request_id": "5b6c7d8e-9f0a-1b2c-3d4e-5f6a7b8c9d0e"
  }
}
{
  "error": {
    "code": 404,
    "message": "Instrument not found: AAPL"
  },
  "metadata": {
    "request_id": "fa8cc9b2-fbf0-4f5b-8ce3-b3205b9f85f2"
  }
}
Returns Examples
{
  "data": {
    "country_of_issue": "US",
    "currency": "USD",
    "easy_to_borrow": true,
    "id": "0f5a1a4e-5b3e-4d8f-9b7a-2b1d0e3f4a5b",
    "instrument_type": "COMMON_STOCK",
    "is_fractionable": false,
    "is_liquidation_only": false,
    "is_marginable": true,
    "is_ptp": false,
    "is_short_prohibited": false,
    "is_threshold_security": false,
    "is_tradable": true,
    "long_margin_rate": "0.25",
    "name": "Apple Inc.",
    "short_margin_rate": "0.25",
    "symbol": "AAPL",
    "venue": "XNMS"
  },
  "error": null,
  "metadata": {
    "request_id": "5b6c7d8e-9f0a-1b2c-3d4e-5f6a7b8c9d0e"
  }
}
{
  "error": {
    "code": 404,
    "message": "Instrument not found: AAPL"
  },
  "metadata": {
    "request_id": "fa8cc9b2-fbf0-4f5b-8ce3-b3205b9f85f2"
  }
}