Instruments
Note
- The CSV format for instruments files is being deprecated. Switch to the JSON format for improved performance. Details at CSV Instruments File Deprecation Notice.
- The list of suspended instruments is available in the JSON section below.
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_key | exchange_token | tradingsymbol | name | last_price | expiry | strike | tick_size | lot_size | instrument_type | option_type | exchange |
---|---|---|---|---|---|---|---|---|---|---|---|
NSE_FO|164693 | 164693 | RELIANCE24JAN1840CE | RELIANCE INDUSTRIES LTD | 424.8 | 2024-01-25 | 1840.0 | 0.05 | 250 | OPTSTK | CE | NSE_FO |
Field Description
Name | Type | Description |
---|---|---|
instrument_key | string | The unique identifier used across Upstox APIs for instrument identification. For the regex pattern applicable to this field, see the Field Pattern Appendix. |
exchange_token | number | The numerical identifier issued by the exchange representing the instrument. |
tradingsymbol | string | Shows 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. |
name | string | Name of the company (for equity instruments). |
last_price | number | Last traded price. |
expiry | string | Expiry date (for derivatives). Data format is yyyy-MM-dd |
strike | number | Indicates the predetermined price at which an option can be bought or sold when it's exercised. |
tick_size | number | Measure of the minimum upward or downward movement in the price of an instrument. |
lot_size | number | Minimum size in which the stock futures or index futures can be traded. |
instrument_type | string | Instrument type of a particular contract. Possible values: FUTSTK , OPTSTK , OPTIDX etc. |
option_type | string | Option type of the option contracts (applicable only for options contract). Possible values: CE , PE |
exchange | string | Exchange 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
- EQ
- Futures
- Options
- INDEX
{
"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
andinstrument_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 thesegment
asNSE_EQ
and theinstrument_type
asEQ
, excluding other segments and instrument types from your search criteria.
Field Description
Field Name | Type | Description |
---|---|---|
segment | string | Segment 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 |
name | string | The name of the equity. |
exchange | string | Exchange to which the instrument is associated. Possible values: NSE , BSE , MCX |
isin | string | The International Securities Identification Number. |
instrument_type | string | The instrument types for NSE are present at NSE India and for BSE are present at BSE India. |
instrument_key | string | The unique identifier used across Upstox APIs for instrument identification. For the regex pattern applicable to this field, see the Field Pattern Appendix. |
lot_size | number | The size of one lot of the equity. |
freeze_quantity | number | The maximum quantity that can be frozen. |
exchange_token | string | The exchange-specific token for the equity. |
tick_size | number | The minimum price movement of the equity. |
trading_symbol | string | Trading symbol of the instrument. |
short_name | string | A shorter or abbreviated name of the equity. |
security_type | string | Identifies the classification or status of a security within the market. Valid security types can be found in the Security Type Appendix |
{
"weekly": false,
"segment": "NSE_FO",
"name": "071NSETEST",
"exchange": "NSE",
"expiry": 2111423399000,
"instrument_type": "FUT",
"underlying_symbol": "071NSETEST",
"instrument_key": "NSE_FO|36702",
"lot_size": 50,
"freeze_quantity": 100000.0,
"exchange_token": "36702",
"minimum_lot": 50,
"underlying_key": "NSE_EQ|DUMMYSAN011",
"tick_size": 5.0,
"underlying_type": "EQUITY",
"trading_symbol": "071NSETEST FUT 27 NOV 36",
"strike_price": 0.0
}
Note
- When you're searching for instrument keys within an instrument JSON file, you can employ the
segment
andinstrument_type
parameters to refine and narrow down the list of instrument keys. For instance, if you're looking for the instrument key for Reliance Future, specify thesegment
asNSE_FO
and theinstrument_type
asFUT
, excluding other segments and instrument types from your search criteria.
Field Description
Field Name | Type | Description |
---|---|---|
weekly | boolean | Indicates if the future is weekly. |
segment | string | Segment 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 |
name | string | The name of the future. |
exchange | string | Exchange to which the instrument is associated. Possible values: NSE , BSE , MCX |
expiry | date | The expiry date of the future. |
instrument_type | string | The type of the future instrument. Possible values: FUT |
underlying_symbol | string | The symbol of the underlying asset. |
instrument_key | string | The unique identifier used across Upstox APIs for instrument identification. For the regex pattern applicable to this field, see the Field Pattern Appendix. |
lot_size | number | The size of one lot of the future. |
freeze_quantity | number | The maximum quantity that can be frozen. |
exchange_token | string | The exchange-specific token for the future. |
minimum_lot | number | The minimum lot size for the future. |
underlying_key | string | The instrument_key for the underlying asset. |
tick_size | number | The minimum price movement of the future. |
underlying_type | string | The type of the underlying asset. Possible values: COM , INDEX , EQUITY , CUR , IRD |
trading_symbol | string | The symbol used for trading the future. Format: <underlying_symbol> FUT <expiry in dd MMM yy> |
{
"weekly": false,
"segment": "NSE_FO",
"name": "VODAFONE IDEA LIMITED",
"exchange": "NSE",
"expiry": 1706207399000,
"instrument_type": "CE",
"underlying_symbol": "IDEA",
"instrument_key": "NSE_FO|36708",
"lot_size": 80000,
"freeze_quantity": 1600000.0,
"exchange_token": "36708",
"minimum_lot": 80000,
"underlying_key": "NSE_EQ|INE669E01016",
"tick_size": 5.0,
"underlying_type": "EQUITY",
"trading_symbol": "IDEA 22 CE 25 JAN 24",
"strike_price": 22.0
}
Note
- When you're searching for instrument keys within an instrument JSON file, you can employ the
segment
andinstrument_type
parameters to refine and narrow down the list of instrument keys. For instance, if you're looking for the instrument key for Reliance Call Option, specify thesegment
asNSE_FO
and theinstrument_type
asCE
, excluding other segments and instrument types from your search criteria. If you want to search for Put Option then setinstrument_type
asPE
.
Field Description
Field Name | Type | Description |
---|---|---|
weekly | boolean | Indicates if the option is weekly. |
segment | string | The market segment of the option. Possible values: NSE_EQ , NSE_INDEX , NSE_FO , NCD_FO , BSE_EQ , BSE_INDEX , BSE_FO , BCD_FO , MCX_FO |
name | string | The name of the option. |
exchange | string | Exchange to which the instrument is associated. Possible values: NSE , BSE , MCX |
expiry | date | The expiry date of the option. |
instrument_type | string | The type of the option instrument. Possible values: CE , PE |
underlying_symbol | string | The symbol of the underlying asset. |
instrument_key | string | The unique identifier used across Upstox APIs for instrument identification. For the regex pattern applicable to this field, see the Field Pattern Appendix. |
strike_price | number | The strike price for the option. |
lot_size | number | The size of one lot of the option. |
freeze_quantity | number | The maximum quantity that can be frozen. |
exchange_token | string | The exchange-specific token for the option. |
minimum_lot | number | The minimum lot size for the option. |
underlying_key | string | The instrument_key for the underlying asset. |
tick_size | number | The minimum price movement of the option. |
underlying_type | string | The type of the underlying asset. Possible values: COM , INDEX , EQUITY , CUR , IRD |
trading_symbol | string | The symbol used for trading the option. Format: <underlying_symbol> <strike_price> <CE/PE> <expiry in dd MMM yy> |
{
"segment": "BSE_INDEX",
"name": "AUTO",
"exchange": "BSE",
"instrument_type": "INDEX",
"instrument_key": "BSE_INDEX|AUTO",
"exchange_token": "13",
"trading_symbol": "AUTO"
}
Note
- When you're searching for instrument keys within an instrument JSON file, you can employ the
segment
andinstrument_type
parameters to refine and narrow down the list of instrument keys. For instance, if you're looking for the instrument key for NSE Index, specify thesegment
asNSE_INDEX
and theinstrument_type
asINDEX
, excluding other segments and instrument types from your search criteria.
Field Description
Field Name | Type | Description |
---|---|---|
segment | string | Segment 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 |
name | string | The name of the index. |
exchange | string | Exchange to which the instrument is associated. Possible values: NSE , BSE , MCX |
instrument_type | string | The type of the option instrument. Possible values: INDEX |
instrument_key | string | The unique identifier used across Upstox APIs for instrument identification. For the regex pattern applicable to this field, see the Field Pattern Appendix. |
exchange_token | number | The numerical identifier issued by the exchange representing the instrument. |
trading_symbol | string | Trading symbol for the index. |
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.