Skip to main content

Get Expired Option Contracts

API to retrieve expired option contracts for an underlying instrument on a specified expiry date. This API is useful for traders and analysts who want to analyze the historical performance of options and their underlying assets. By providing the instrument key and expiry date, users can obtain detailed information about the expired options, including their trading symbols, strike prices, lot sizes, and other relevant attributes.

Request

curl --location 'https://api.upstox.com/v2/expired-instruments/option/contract?instrument_key=NSE_INDEX%7CNifty%2050&expiry_date=2024-11-27' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_access_token}' \
--header 'Accept: application/json'

For additional samples in various languages, please refer to the Sample code section on this page.

Query Parameters

NameRequiredTypeDescription
instrument_keytruestringKey of an underlying instrument. For the regex pattern applicable to this field, see the Field Pattern Appendix.
expiry_datetruestringExpiry date for which expired option contracts are required in format: YYYY-MM-DD.
Responses

Response Body

{
"status": "success",
"data": [
{
"name": "NIFTY",
"segment": "NSE_FO",
"exchange": "NSE",
"expiry": "2025-04-17",
"instrument_key": "NSE_FO|47983|17-04-2025",
"exchange_token": "47983",
"trading_symbol": "NIFTY 20400 PE 17 APR 25",
"tick_size": 5,
"lot_size": 75,
"instrument_type": "PE",
"freeze_quantity": 1800,
"underlying_key": "NSE_INDEX|Nifty 50",
"underlying_type": "INDEX",
"underlying_symbol": "NIFTY",
"strike_price": 20400,
"minimum_lot": 75,
"weekly": true
},
{
"name": "NIFTY",
"segment": "NSE_FO",
"exchange": "NSE",
"expiry": "2025-04-17",
"instrument_key": "NSE_FO|47982|17-04-2025",
"exchange_token": "47982",
"trading_symbol": "NIFTY 20400 CE 17 APR 25",
"tick_size": 5,
"lot_size": 75,
"instrument_type": "CE",
"freeze_quantity": 1800,
"underlying_key": "NSE_INDEX|Nifty 50",
"underlying_type": "INDEX",
"underlying_symbol": "NIFTY",
"strike_price": 20400,
"minimum_lot": 75,
"weekly": true
}
]
}
NameTypeDescription
statusstringA string indicating the outcome of the request. Typically success for successful operations.
dataobjectData object for expired option contracts.
data[].namestringThe name of the option.
data[].segmentstringThe 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, NSE_COM
data[].exchangestringExchange to which the instrument is associated.
Possible values: NSE, BSE, MCX.
data[].expirystringExpiry date (for derivatives). Date format is YYYY-MM-dd.
data[].instrument_keystringAlso refer to an expired_instrument_key for expired future contract. This is combination of instrument_key and expiry date. For the regex pattern applicable to expired_instrument_key field, see the Field Pattern Appendix.
data[].exchange_tokenstringThe exchange-specific token for the option.
data[].trading_symbolstringThe symbol used for trading the option.
Format: <underlying_symbol> <strike_price> <CE/PE> <expiry in dd MMM yy>
data[].tick_sizenumberThe minimum price movement of the option.
data[].lot_sizenumberThe size of one lot of the option.
data[].instrument_typestringThe type of the option instrument,
Possible values: CE, PE
data[].freeze_quantitynumberThe maximum quantity that can be frozen.
data[].underlying_keystringThe instrument_key for the underlying asset.
data[].underlying_typestringThe type of the underlying asset, Possible values: COM, INDEX, EQUITY, CUR, IRD.
data[].underlying_symbolstringThe symbol of the underlying asset.
data[].strike_pricenumberThe strike price for the option.
data[].minimum_lotnumberThe minimum lot size for the option.
data[].weeklybooleanIndicates if the option is weekly.

Sample Code

Get Expired Option Contracts for given instrument with expiry date

curl --location 'https://api.upstox.com/v2/expired-instruments/option/contract?instrument_key=NSE_INDEX%7CNifty%2050&expiry_date=2024-11-27' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_access_token}' \
--header 'Accept: application/json'
Loading...