Skip to content

API Reference


API Reference / ExpiredOptionsData

Class: ExpiredOptionsData ​

Defined in: src/resources/ExpiredOptionsData.ts:46

Expired Options Historical Data API wrapper.

Fetches historical data for expired F&O contracts — essential for backtesting options strategies against past expiry series.

See ​

https://docs.dhanhq.co/api/v2/expired-options-data

Constructors ​

Constructor ​

new ExpiredOptionsData(httpClient): ExpiredOptionsData

Defined in: src/resources/ExpiredOptionsData.ts:47

Parameters ​

httpClient ​

HttpClient

Returns ​

ExpiredOptionsData

Methods ​

fetch() ​

fetch(request): Promise<ExpiredOptionsDataResponse>

Defined in: src/resources/ExpiredOptionsData.ts:84

Fetch historical data for an expired option contract.

Parameters ​

request ​

ExpiredOptionsDataRequest

Returns ​

Promise<ExpiredOptionsDataResponse>

Example ​

ts
// Fetch NIFTY weekly ATM call data for January 2026
// securityId is the UNDERLYING (13 = NIFTY 50), not the option contract
const data = await client.expiredOptionsData.fetch({
  securityId: 13,
  exchangeSegment: "NSE_FNO",
  instrument: "OPTIDX",
  expiryFlag: "WEEK", // "WEEK" | "MONTH" — the API does not accept "WEEKLY"
  expiryCode: 1, // 1 = Near, 2 = Next, 3 = Far expiry
  strike: "ATM",
  drvOptionType: "CALL",
  requiredData: ["open", "high", "low", "close", "volume"],
  fromDate: "2026-01-01",
  toDate: "2026-02-01",
});

// Fetch BANKNIFTY monthly ATM-1 put data for December 2025
const peData = await client.expiredOptionsData.fetch({
  securityId: 25, // NIFTY Bank index
  exchangeSegment: "NSE_FNO",
  instrument: "OPTIDX",
  expiryFlag: "MONTH",
  expiryCode: 1,
  strike: "ATM-1", // One strike below ATM
  drvOptionType: "PUT",
  requiredData: ["close", "volume", "oi"],
  fromDate: "2025-12-01",
  toDate: "2026-01-01",
});

buildAtmRequest() ​

static buildAtmRequest(options): ExpiredOptionsDataRequest

Defined in: src/resources/ExpiredOptionsData.ts:123

Helper: Build a request for ATM strike expired data.

Parameters ​

options ​
securityId ​

string

exchangeSegment ​

string

instrumentType ​

"INDEX" | "STOCK"

expiryFlag ​

"WEEKLY" | "MONTHLY" | "QUARTERLY"

expiryCode ​

number

optionType ​

"CALL" | "PUT"

fromDate ​

string

toDate ​

string

requiredData? ​

("open" | "high" | "low" | "close" | "volume" | "oi")[]

Returns ​

ExpiredOptionsDataRequest


buildOffsetAtmRequest() ​

static buildOffsetAtmRequest(options): ExpiredOptionsDataRequest

Defined in: src/resources/ExpiredOptionsData.ts:151

Helper: Build a request for offset ATM strikes (e.g., ATM+1, ATM-2).

Parameters ​

options ​
securityId ​

string

exchangeSegment ​

string

instrumentType ​

"INDEX" | "STOCK"

expiryFlag ​

"WEEKLY" | "MONTHLY" | "QUARTERLY"

expiryCode ​

number

optionType ​

"CALL" | "PUT"

offset ​

number

fromDate ​

string

toDate ​

string

requiredData? ​

("open" | "high" | "low" | "close" | "volume" | "oi")[]

Returns ​

ExpiredOptionsDataRequest

Community project — not affiliated with Dhan. MIT License.