Skip to main content

Instruments

Note
Recommendations
  • Use instrument_key for uniquely identifying instruments, as it remains unique for each instrument. Conversely, exchange_token may be reused by the exchange for a different instrument after its expiry.
  • Use Instruments data in JSON format instead of CSV, as its structure has been designed for enhanced robustness and future scalability, making programmatic processing easier.

CSV Files

These URLs provide access to the complete list of BOD contracts available for trading on Upstox in CSV format.


Sample CSV Record

instrument_keyexchange_tokentradingsymbolnamelast_priceexpirystriketick_sizelot_sizeinstrument_typeoption_typeexchange
NSE_FO|164693164693RELIANCE24JAN1840CERELIANCE INDUSTRIES LTD424.82024-01-251840.00.05250OPTSTKCENSE_FO

Field Description

NameTypeDescription
instrument_keystringThe unique identifier used across Upstox APIs for instrument identification. For the regex pattern applicable to this field, see the Field Pattern Appendix.
exchange_tokennumberThe numerical identifier issued by the exchange representing the instrument.
tradingsymbolstringShows the trading symbol which could be a combination of symbol name, instrument, expiry date etc. The format of this value may vary between weekly and monthly contracts, leading to inconsistencies. These inconsistencies have been resolved in the JSON version.
namestringName of the company (for equity instruments).
last_pricenumberLast traded price.
expirystringExpiry date (for derivatives). Data format is yyyy-MM-dd
strikenumberIndicates the predetermined price at which an option can be bought or sold when it's exercised.
tick_sizenumberMeasure of the minimum upward or downward movement in the price of an instrument.
lot_sizenumberMinimum size in which the stock futures or index futures can be traded.
instrument_typestringInstrument type of a particular contract.
Possible values: FUTSTK, OPTSTK, OPTIDX etc.
option_typestringOption type of the option contracts (applicable only for options contract).
Possible values: CE, PE
exchangestringExchange to which the order is associated.
Possible values: NSE_EQ, NSE_FO, NSE_INDEX, BSE_EQ, BSE_FO, BCD_FO etc.

JSON files

These URLs provide access to the complete list of BOD contracts available for trading on Upstox in JSON format.


Sample JSON Object

{
"segment": "NSE_EQ",
"name": "JOCIL LIMITED",
"exchange": "NSE",
"isin": "INE839G01010",
"instrument_type": "EQ",
"instrument_key": "NSE_EQ|INE839G01010",
"lot_size": 1,
"freeze_quantity": 100000.0,
"exchange_token": "16927",
"tick_size": 5.0,
"trading_symbol": "JOCIL",
"short_name": "JOCIL",
"security_type": "NORMAL"
}
Note
  • When you're searching for instrument keys within an instrument JSON file, you can employ the segment and instrument_type parameters to refine and narrow down the list of instrument keys. For instance, if you're looking for the instrument key for Reliance Equity, specify the segment as NSE_EQ and the instrument_type as EQ, excluding other segments and instrument types from your search criteria.

Field Description

Field NameTypeDescription
segmentstringSegment to which the instrument is associated.
Possible values: NSE_EQ, NSE_INDEX, NSE_FO, NCD_FO, BSE_EQ, BSE_INDEX, BSE_FO, BCD_FO, MCX_FO
namestringThe name of the equity.
exchangestringExchange to which the instrument is associated.
Possible values: NSE, BSE, MCX
isinstringThe International Securities Identification Number.
instrument_typestringThe instrument types for NSE are present at NSE India and for BSE are present at BSE India.
instrument_keystringThe unique identifier used across Upstox APIs for instrument identification. For the regex pattern applicable to this field, see the Field Pattern Appendix.
lot_sizenumberThe size of one lot of the equity.
freeze_quantitynumberThe maximum quantity that can be frozen.
exchange_tokenstringThe exchange-specific token for the equity.
tick_sizenumberThe minimum price movement of the equity.
trading_symbolstringTrading symbol of the instrument.
short_namestringA shorter or abbreviated name of the equity.
security_typestringIdentifies the classification or status of a security within the market. Valid security types can be found in the Security Type Appendix

Note
  • The files undergo daily refresh at around 6 AM, and they are only refreshed as needed during the day, which is a seldom occurrence.
  • The BOD instrument for the next trading day will not include delisted stocks or expired contracts.