Option Contracts
API to retrieve option contracts for an underlying symbol. It also supports an optional parameter to fetch option contracts for a specific expiry date.
Header Parameters
Name | Required | Type | Description |
---|---|---|---|
Authorization | true | string | Requires the format Bearer access_token where access_token is obtained from the Token API. |
Accept | true | string | Defines the content format the client expects, which should be set to application/json . |
Query Parameters
Name | Required | Type | Description |
---|---|---|---|
instrument_key | true | string | Key of an underlying symbol. For the regex pattern applicable to this field, see the Field Pattern Appendix. |
expiry_date | false | string | Expiry date in format: YYYY-MM-DD . |
Responses
- 200
- 4XX
Response Body
{
"status": "success",
"data": [
{
"name": "NIFTY",
"segment": "NSE_FO",
"exchange": "NSE",
"expiry": "2024-02-15",
"instrument_key": "NSE_FO|37590",
"exchange_token": "37590",
"trading_symbol": "NIFTY 19650 CE 15 FEB 24",
"tick_size": 5,
"lot_size": 50,
"instrument_type": "CE",
"freeze_quantity": 1800,
"underlying_key": "NSE_INDEX|Nifty 50",
"underlying_type": "INDEX",
"underlying_symbol": "NIFTY",
"strike_price": 19650,
"minimum_lot": 50,
"weekly": true
},
{
"name": "NIFTY",
"segment": "NSE_FO",
"exchange": "NSE",
"expiry": "2024-02-15",
"instrument_key": "NSE_FO|37668",
"exchange_token": "37668",
"trading_symbol": "NIFTY 19700 CE 15 FEB 24",
"tick_size": 5,
"lot_size": 50,
"instrument_type": "CE",
"freeze_quantity": 1800,
"underlying_key": "NSE_INDEX|Nifty 50",
"underlying_type": "INDEX",
"underlying_symbol": "NIFTY",
"strike_price": 19700,
"minimum_lot": 50,
"weekly": true
}
]
}
Name | Type | Description |
---|---|---|
status | string | A string indicating the outcome of the request. Typically success for successful operations. |
data | object | Data object for option contracts. |
data[].name | string | The name of the option. |
data[].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 |
data[].exchange | string | Exchange to which the instrument is associated. Possible values: NSE , BSE , MCX . |
data[].expiry | string | Expiry date (for derivatives). Date format is YYYY-MM-dd . |
data[].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. |
data[].exchange_token | string | The exchange-specific token for the option. |
data[].trading_symbol | string | The symbol used for trading the option. Format: <underlying_symbol> <strike_price> <CE/PE> <expiry in dd MMM yy> |
data[].tick_size | number | The minimum price movement of the option. |
data[].lot_size | number | The size of one lot of the option. |
data[].instrument_type | string | The type of the option instrument, Possible values: CE , PE |
data[].freeze_quantity | number | The maximum quantity that can be frozen. |
data[].underlying_key | string | The instrument_key for the underlying asset. |
data[].underlying_type | string | The type of the underlying asset, Possible values: COM , INDEX , EQUITY , CUR , IRD . |
data[].underlying_symbol | string | The symbol of the underlying asset. |
data[].strike_price | number | The strike price for the option. |
data[].minimum_lot | number | The minimum lot size for the option. |
data[].weekly | boolean | Indicates if the option is weekly. |
Error codes
Error code | Description |
---|---|
UDAPI100011 | Invalid Instrument key - You need to provide proper instrument key for this operation. |
UDAPI1088 | Invalid date - You need to provide the expiry_date in proper format: YYYY-MM-DD |
Examples
A comprehensive set of examples is provided to illustrate various use cases and implementation scenarios for this API. To view detailed examples and access sample code, please refer to: API Examples.
Loading...