Historical expired options data

Respected Team,

We [options traders] have loved your platform since the first day we used it. Today, I’d like to ask a general question related to expired options historical data.

Can we expect it in the near future that you are going to provide us that data?
How many more weeks or months you are going to take?

I raised this question because each and every other trader these days are switching to Algorithmic Trading. For them, First thing they try to test is “Expired Options Historical Data,” but that data isn’t available on your API platform yet, so we have to look after some data vendor or DhanHQ

Yes, they started providing expired options data.

See at the extreme right corner, they are mentioning it.

I’m not here to offend you, but I knew that you have something in your mind about these expired options data, please speak it out to us. So that at least we have an understanding when are we getting this service from you.

1 Like

As of now we have no plans of giving expired data via API, but let me get this checked with our team if we have any future plans.

Did you get a chance to look into this? @siva

Why is expired options data not provided? This is critical for any strategy backtesting.

1 Like

This will take some more time.

The core technical problem:

kite.instruments() only returns tokens for currently live contracts. Once a contract expires, its instrument_token is permanently lost — making it impossible to call kite.historical_data() for any expired options contract.

This is not a minor gap. This completely blocks options backtesting via the Kite API. Every open-source project on GitHub hits the same wall — they all work only with live contracts. Traders are forced to either pay third-party data vendors ₹5,000–₹20,000/month or look at competitors.

For context — DhanHQ has already started offering expired options data via their API. Zerodha, with far greater infrastructure and resources, still hasn’t.

On the ₹500/month subscription:

The subscription is marketed as providing historical data access. But for options traders — arguably your largest and most active segment — the historical data is simply not there. We are paying for an incomplete product.

On Streak:

Streak was supposed to solve the strategy backtesting problem for non-coders. But in its current state, it offers very limited flexibility — strategies cannot be meaningfully backtested beyond a few months, innovative or multi-leg options strategies cannot be executed or tested, and the platform constraints make it unsuitable for serious algo traders.

Zerodha is India’s largest broker by volume. The cost of maintaining a development team that has not meaningfully advanced options backtesting infrastructure in 7 years is far greater than the cost of actually building it — in user trust, in platform credibility, and in traders migrating to competitors who are moving faster.

Specific asks:

  1. Is there an official workaround to retrieve instrument tokens for expired options contracts?
  2. Will Zerodha provide a historical instrument token archive or an expired options data endpoint via Kite API?
  3. What is the concrete roadmap for Streak to support serious options strategy backtesting?

A clear, honest answer — even if the timeline is 12 months away — is far better than “this will take some more time.”

Streak has been working to automate, help people to trade via algos and in the market for more than 2 years and still cannot handle, understand what a serious options trader needs from day one. They first need to understand from scratch the requirements of a trader.

No meaningful backtesting, no flexible strategy builder, no expired data support. A solo developer with the right motivation has built more functional tools in a weekend. For India’s largest broker, this is not just disappointing — it is embarrassing.

Thank you