Rate limit on historical data api too conservative

Dhan’s current API rate limit is too conservative for historical data usage. Without a bulk historical endpoint, developers must fetch candles symbol by symbol. Pulling 30 days of data for 2,700 equity symbols took 9 minutes, which is inefficient even for EOD analysis. What is the recommended way to fetch historical data for all equity symbols at scale?

Can Dhan provide bulk historical data for popular ranges like 7, 14, 21, and 50 days for all equity symbols in a single request?
This would drastically reduce load, improve performance, and make large-scale scanning practical.

1 Like

make sense to include this limit during market hours but these limits can be disbaled after market hours.

1 Like

any update on this?

This is a practical idea that will work effectively.

@RahulDeshpande

If management could shed some light on this, please. @PravinJ @Hardik

Could Dhan consider introducing:

  • A bulk historical data API, allowing retrieval for all equity symbols in a single request (or batched requests), especially for common lookback windows such as 7, 14, 21, and 50 days, or

  • A higher rate limit when fetching historical data on a per-symbol basis, particularly during non-market hours.

If the management team could shed some light on the roadmap or best practices around multi-day historical data access, it would be greatly appreciated. A bulk API or more flexible rate limits would significantly improve usability for research, backtesting, and analytics use cases.

@Mohseen_Usmani can you look into this?

Hi @Vishal_Singh Historical data for Dhan Data APIs are available for period of 5 years. The data can be retrieved, and saved at your end to be used as required.

Let know if there is a specific ask, happy to relook.

While the historical data itself is available, the current challenge is access at scale. At present, there is no bulk endpoint, so fetching data for all equity symbols requires making sequential per-symbol requests. For a full universe, this ends up taking ~10 minutes per run, even for relatively small lookback windows(due to rate limits).

A couple of concrete suggestions that could help address this:

  • A bulk or batched historical data API, allowing retrieval for multiple symbols in a single request (for example, batches of 500–1000 symbols), which would significantly reduce request overhead and total fetch time.

  • removing/relaxing rate limits for paid users when markets are closed, since these workloads are primarily research and backtesting oriented.

Either of these would make large-scale historical analysis far more practical while keeping live-market usage unaffected.

Hi @Vishal_Singh While we understand your intent, we don’t intend to become a data provider or a data vendor of sorts. Maybe the best possible solution in that way would possibly mean simply putting the data on a ftp location and distributing the URL + keep updating it everyday.

While we possibly provide the best of historical data on APIs at the moment in the industry, our limits and restrictions are in place to prevent abuse of the system, data and infrastructure. We introduced Data APIs much later in our journey, our trading APIs were released as early as Feb 2022 and are widely adopted by users and partners.

Data APIs are an extension to these trading API users, who have own additional use-cases to build own trading strategies or use in their own way. Dhan introduced Data APIs at INR 499 when industry offered same with much lesser data at INR 2000 per month. On a standalone basis, its a super loss making business for us.

We love building trading tech, products, features and capabilities. Hope this explains the rationale, if we can improve or relax limits for data in future - we would definitely consider that. Just not at an expense to our infra or to be a data provider only.