Hi Zerodha Team, I have created a separate Kite Connect app named NSAS Historical Research. The Developer Console shows the app as Active with Kite Connect + Historical Chart data. I am using: Kite Connect Python client (pykiteconnect) version 5.2.1 Authentication and other API calls are working correctly: - A fresh access token is generated successfully. - kite.profile() works successfully. - kite.instruments("NSE") works successfully. - COFORGE on NSE resolves successfully with instrument token 2955009. I also generated a completely fresh access token after confirming that Historical Chart Data is active. However, the following historical-data request: kite.historical_data(instrument_token=2955009, from_date=..., to_date=..., interval="15minute", continuous=False, oi=False) consistently returns: kiteconnect.exceptions.PermissionException: Insufficient permission for that call. Could you please check whether the Historical Data API permission/entitlement is correctly provisioned for my app/API key? I can provide the API key privately if required. Thanks, B. K. Mishra
To access live market data, historical candle data, or the WebSocket API, you need to subscribe to the paid Kite Connect plan.
If you are using a Kite Connect Personal (free) app, please note that it does not provide access to market data, historical data, or the WebSocket API. This limitation is likely the reason you are encountering the HTTP 403 (Insufficient permission for that call) error.
To verify this, please check the type of your app in the Developer Console and ensure that you are using the correct api_key associated with your paid Kite Connect application.
Hi salim_chisty, Thank you for your response. I have verified the Developer Console and the API key being used in my Python application. The app is NSAS Historical Research, status Active, with subscription Kite Connect + Historical Chart data, valid until 16 October 2026. I have also verified that the api_key configured in my Python application matches the API key of this paid app. It is not using the API key of my separate Kite Connect Personal app. However, the Historical Data API is still returning: kiteconnect.exceptions.PermissionException: Insufficient permission for that call. Could you please check whether the historical-data entitlement is correctly enabled/provisioned for this paid app/account from your end? I can provide the API key privately if required. Thank you.
If you are using a Kite Connect Personal (free) app, please note that it does not provide access to market data, historical data, or the WebSocket API. This limitation is likely the reason you are encountering the HTTP 403 (Insufficient permission for that call) error.
To verify this, please check the type of your app in the Developer Console and ensure that you are using the correct
api_keyassociated with your paid Kite Connect application.Thank you for your response. I have verified the Developer Console and the API key being used in my Python application.
The app is NSAS Historical Research, status Active, with subscription Kite Connect + Historical Chart data, valid until 16 October 2026.
I have also verified that the api_key configured in my Python application matches the API key of this paid app. It is not using the API key of my separate Kite Connect Personal app.
However, the Historical Data API is still returning:
kiteconnect.exceptions.PermissionException: Insufficient permission for that call.
Could you please check whether the historical-data entitlement is correctly enabled/provisioned for this paid app/account from your end?
I can provide the API key privately if required.
Thank you.