App name: ORB_Algo, type: Connect, subscription status: Active, expiry 23 August 2026 kite.instruments() and other REST calls work fine with the same api_key and access_token in the same script run Access token is freshly generated today via the standard login flow, confirmed valid (same-day date) Tested with Zerodha's own bare-minimum example script — same error Tested from two different networks (home broadband and office) — identical error on both pip show kiteconnect version: 5.2.1
Since REST works but WebSocket specifically fails with 403 regardless of network, this looks like an account-side configuration issue on your end rather than something in my code. Could you please check my app's WebSocket/streaming permissions?
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.
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.