API Response Time during Market Hours

ZS0048
Hello Zerodha Support Team,

I am using the official **Kite Connect Python client (kiteconnect)**

tracks approximately **200 NSE equity symbols** and uses both the Historical Data API and the WebSocket feed.

I have observed the following behavior:

* **Before market hours (pre-open/post-market):** Historical data for a large number of symbols loads relatively quickly with no erros.
* **During market hours:** Loading historical data becomes significantly slower and mostly timeout errors. For example:


I understand from the documentation that the Historical Data API has a limit of **3 requests per second** and the Quote API has a limit of **1 request per second**.

I have a few questions:

1. Are these rate limits enforced uniformly throughout the day, or does the Historical Data API experience additional latency or throttling during market hours due to server load?

2. Is there any recommended approach from Zerodha for efficiently initializing historical data for a large watchlist (around 500 symbols)



3. Is there any bulk historical API available (or planned) that supports fetching historical candles for multiple instruments in a single request? i understand that the Quote API supports multiple instruments, but the Historical Data API appears to require one request per instrument.

5. Are there any best practices or recommendations from Zerodha to monitor several hundred symbols simultaneously while remaining within the supported API limits?


Thank you for your guidance.
  • nagavenij
    1. Are these rate limits enforced uniformly throughout the day, or does the Historical Data API experience additional latency or throttling during market hours due to server load?
    The Historical Data API is intended primarily for backtesting and is not recommended for live trading strategies. Our system generates minute candles by listening to live ticks for all traded instruments and writing the generated candles to the database. Since database write operations are not time-guaranteed, there may occasionally be a delay in candle availability. Therefore, we do not recommend relying on the Historical Data API for live market strategies.
    2. Is there any recommended approach from Zerodha for efficiently initializing historical data for a large watchlist (around 500 symbols)
    For live use cases, we recommend using the WebSocket API to receive live ticks, generate and store candles at your end, and perform all subsequent operations from your own database. The Historical Data API can be used for the initial backfilling of historical data.
    3. Is there any bulk historical API available (or planned) that supports fetching historical candles for multiple instruments in a single request? i understand that the Quote API supports multiple instruments, but the Historical Data API appears to require one request per instrument.
    There is currently no bulk Historical Data API for fetching historical data for multiple instruments in a single request. Historical data must be fetched on a per-instrument basis.
    5. Are there any best practices or recommendations from Zerodha to monitor several hundred symbols simultaneously while remaining within the supported API limits?
    For monitoring a large number of instruments, we recommend using the WebSocket API to subscribe to live ticks, generate and store candles locally, and use your own database for further processing. This is the recommended approach for live market strategies. The Historical Data API should be used only for backtesting or initial historical data backfill.
Sign In or Register to comment.