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
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
Returns
Promise<ExpiredOptionsDataResponse>
Example
// 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()
staticbuildAtmRequest(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
buildOffsetAtmRequest()
staticbuildOffsetAtmRequest(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")[]