Historical data of option Strike like:
”NSE,D,72180,OPTSTK,0,BHEL-Jan2026-300-PE”
is supported via paid api or not?
Historical data of option Strike like:
”NSE,D,72180,OPTSTK,0,BHEL-Jan2026-300-PE”
is supported via paid api or not?
Hello @pawanyadavdelhi ,
Yes, historical data for active option strikes likeNSE,D,72180,OPTSTK,0,BHEL-Jan2026-300-PEis supported via our paid API.
We do provide historical data for active option contracts. You can fetch both daily historical data and intraday minute-level data for specific option strikes using our Historical Data APIs.
You can refer to the documentation below for complete details on endpoints and request structure:
https://dhanhq.co/docs/v2/historical-data/
This will help you retrieve historical data for the required option contracts as per your requirement.
Subject: Expired Options: Resolving the Rolling Endpoint vs. Purged Security ID Conflict
"Hi Dhan Team and Community,
I’m working on a backtesting engine and have hit a significant bottleneck with historical options data for expired contracts.
The Problem:
Security ID Purging: Once a contract expires, its Security ID is removed from the Master File. This makes the standard /charts/intraday calls impossible because we no longer have a valid ID to pass.
Rolling Endpoint Limitation: The only alternative is the /charts/rollingoption endpoint. However, this requires a relative strike (ATM ± n) rather than a fixed strike (e.g., 18500 CE).
The Challenge:
Because the ATM moves daily (and intraday), a fixed strike’s relative position is a moving target. Currently, I have to pull a wide ‘net’ of offsets (ATM ± 10 or 20) and manually filter/consolidate the data to reconstruct the history of a single fixed strike. This is computationally expensive and prone to mapping errors.
Question for the Team:
Is there an unlisted endpoint or a ‘Legacy Master File’ where we can retrieve static Security IDs for expired contracts?
Are there plans to add a fixedStrike parameter to the /charts/rollingoption endpoint to avoid this bulk-pull-and-filter workaround?
Looking forward to how others are solving this ‘stitching’ problem!"