When modifying an order, please note the following behavior:
If you are modifying a LIMIT order to a MARKET order, the market_protection parameter must be specified, as it is mandatory for market orders.
However, if you are modifying an existing MAR…
Please upgrade your SDK to the latest available version and retry placing the order with the market_protection parameter.
pip install --upgrade kiteconnect
You can access intraday historical data for active options contracts; however, historical data is not available for expired option contracts.
For futures, day-level historical data can be retrieved using the continuous data feature.
For more detai…
@deepak163299 Can I share that same single static IP with my blood relation own brother and sister (we all are unmarried), means 1 Static IP, 3 same family users?
Sharing of IPs is only permitted between family members (spouse, dependent children, a…
@vinothjoseph Both IPv4 and IPv6 are accepted for static IP. Market protection is only applicable for MARKET and SL-M order types. It does not affect LIMIT and SL orders as they already have built-in price protection.
@Tusshar18 The Kite Connect API pricing is based on the number of apps (API keys) created, not on individual accounts. You are charged ₹500 per month for each app created on the developer console.
If multiple apps are created under the same develop…
Kindly verify that the correct parameters are being passed in the request and ensure that the quote rate limit (1 request per second) is not being exceeded.
If the issue persists, enable debug mode and share the complete stack trace. Ensure that se…
@OptionQuant Yes, the static IP requirement is applicable only to order-related endpoints (placement, modification, and cancellation). Other API endpoints, including WebSocket data, order book, and positions, will continue to be accessible from any…
A request token is valid for 5 minutes and can be used only once. To generate the access token, you need to extract the request token from the redirect URL and use it to create the session.
Please note that the access token is valid for one trading…
@tuxred At present, the static IP must be unique to each account and cannot be shared with family members, including spouses, dependent children and dependent parents. Please refer to this thread for more details.
Please refer to this support article: How is the buy average calculated in Console?.
You can raise a support ticket on the support portal, as the forum is primarily intended for handling API-related queries.
@tuxred This feature will soon be available on the developer console. Once the option is live, you can login to the Kite Connect developer dashboard and enter your static IP under your account profile. We will send a notification once the option to …
We have it on our to-do list, but unfortunately, it is not a priority task since it has an OMS vendor dependency. Kite Connect personal is free, users can place an order after market hours or from an account that doesn't have a balance and test out …
The error message "Insufficient permission" will occur when fetching market data via Websocket or Quote/LTP endpoint, if you don't have a valid Kite Connect subscription, which costs 500 per month per app. The charges for the Kite Connect app have b…
Point 3. Market orders on Kite Connect will require market protection. Orders placed with market protection as "0" will be rejected.
Query - So can i sent `market_protection : -1` (Automatic market protection) or its should be strictly check the per…
Zerodha does not currently offer a sandbox environment for the Kite Connect API. All trades and market data accessed through the API operate in real-time on live markets.
However, providing a sandbox environment is on our roadmap. In the meantime, …
The backend validation for fetching candle data differs for the current trading day compared to historical dates. Since today’s candles include real-time market data, requests where the from and to date-time are the same may not return the expected …
As per the latest SEBI's Algo trading framework starting from 1st April 2026, individuals can automate strategies up to 10 orders per second (per segment per exchange) without requiring exchange registration. However, for algo trading exceeding 10 …
Kite Connect API does not provide a native 'All-or-Nothing' or 'Fill-or-Kill' order type that guarantees full-quantity execution. Even when using IOC (Immediate-or-Cancel), the exchange may partially execute the order and cancel the remaining quanti…
It appears that you have entered an incorrect client id -'MALGO1' during app creation instead of the correct 6-digit alphanumeric client id. Please edit the app profile and update it with the correct client id. Please check this support article to k…
We have increased the orders per day limit from 3000 to 5000 is applicable per user and is calculated based on the total number of order requests sent to the order placement endpoint, which includes successful, cancelled, and rejected orders. Order …
The formula remains the same for both realised and unrealised P&L. You can calculate P&L at your end using the same formula:
pnl = (sellValue - buyValue) + (netQuantity × lastPrice × multiplier)
For realised P&L, you need to replace the…
Kite Connect APIs currently support only trading platform functionalities and do not provide access to back-office data. To access the tradebook, ledger, and other reports, please download them from the Zerodha Console. The historical tradebook is n…
Kite Connect APIs currently support only trading platform functionalities and do not provide access to back-office data. To access the tradebook, ledger, and other reports, please download them from the Zerodha Console. The historical tradebook is n…
Currently, the alerts feature is available only through raw HTTP calls. However, it will be incorporated into all Kite Connect client libraries in an upcoming update. You can check the alerts API documentation for more details.
1️⃣ After subscribing to an option token during market hours, is it guaranteed that a tick will arrive immediately?
Subscribing to an option token during market hours does not guarantee that a tick will arrive immediately. The exchange sends a tick …
Kite Connect is an execution platform and does not provide APIs for indicators. Zerodha only provides raw data, so you will need to calculate indicators like the fixed range volume profile indicator on your own. If you are using Python, you can util…
Please note that Kite Connect is an execution-only platform, and we are unable to assist with custom code development. We recommend referring to the official Python library" and sample implementations available in the API documentation for guidance.
To generate the access token, you need to copy the request token from the redirect URL and use it to generate the session. Please note that the access token is valid for one day, and you can use it for all API requests throughout that day. A request…
We have verified from our end and are able to successfully fetch historical data for AMBER for 16th January 2026, which appears to be working as expected. Kindly retry from your end.
We have reviewed the matter at our end and did not observe any discrepancy in the details received via the Quote endpoint.
If you have used any alternative method to retrieve the price details, kindly let us know. We also request you to re-verify t…
Your access token may have expired. Please generate a new access token and check. You can refer to this similar discussion here and login FAQs for more details.
Please refer to this support article for details. If you have already raised a ticket regarding this matter, kindly follow up on the same for further assistance.
To access live market or historical data, you need to subscribe to Kite Connect(paid version), which will cost you ₹500 per month per API key. For more details, you can refer to this support article.
You can access intraday historical data for active options contracts. Historical data won't be available for the expired option contracts. For futures, you can retrieve day-period data using the continuous feature. Please refer to the documentation …
WebSocket ticks are streamed as received from the exchange and are not guaranteed to include every trade tick. As a result, there is no mechanism to replay or backfill the missed WebSocket ticks. The recommended approach to fill any data gaps is to …
We're investigating this issue. In the meantime, please share the ticket number or client ID via DM so we can check the details and assist you on a priority basis.
We're investigating this issue. In the meantime, please share the ticket number or client ID via DM so we can check the details and assist you on a priority basis.
We're investigating this issue. In the meantime, please share the ticket number or client ID via DM so we can check the details and assist you on a priority basis.
Kite Connect doesn't get the deliverable quantity from the exchange feeds. You will have to check on the NSE website. You may refer to the similar discussion here.
It is mandatory by the regulators that a user has to login manually at least once a day. We don't recommend automating login. Go through the login FAQs.
To generate the access token, you need to copy the request token from the redirect URL and use …
@NIRUBHA The Redirect URL is where you are taken after a successful login, and you receive the request token on this URL. If you have given localhost as the redirect URL. It doesn't matter if the redirect URL loads or not; you can copy the request t…
To generate the access token, you need to copy the request token from the redirect URL and use it to generate the session. Please note that the access token is valid for one day, and you can use it for all API requests throughout that day. A request…
We do not have a dedicated API for fetching top gainers and losers. You can try building this at your end, using Websocket streaming for live data or use some other third-party service.
@chaitanyad Custom TTL validity is not supported in the order placement APIs; hence, such orders will not be auto-cancelled by the system after the specified duration. You may refer to the similar discussion here.
The rate limit applies to each API key. However, the per-day order limit restrictions will apply to the client id, if you are using the same client id across different apps. You may refer to the similar discussion here.
Instrument tokens for F&O contracts change only on expiry and not on a daily basis. However, it is recommended to download the instruments file daily to ensure you are working with the most up-to-date data and all currently active contracts.
To access live market or historical candle data, you need to subscribe to Kite Connect(paid version).
Ensure that you are using the API key and access token for the Connect app (paid version), not the Personal app (free version). This issue often oc…
@srirevolver Your access token might have expired. You need to fetch a new access token. An access token is valid for one whole day. Once you get an access token, you don't have to request it again unless you are logged out. Please note that the ex…
@anandmuralidhar We have recently increased the maximum number of legs for iceberg orders from 20 to 50, and this enhancement will also apply to API users. A single iceberg order with multiple legs will be counted as one API request for rate-limit p…
We provide only the raw instrument data through the instrument file, which includes stocks, ETFs, SGBs, bonds, and REITs. You have to filter and map it at your end.
Please recheck the API key and access token for your Kite Connect app (paid version). Ensure that you are using the correct API key and access token, specifically from the paid version of the app.
We have checked this and verified it at our end, an…
You can access intraday historical data for active options contracts. Historical data won't be available for the expired option contracts. For futures, you can retrieve day-period data using the continuous feature. Please refer to the documentation…
@OptionQuant Auto-renewal for the API subscription is available only when linked to an active trading account and not to a bank account. The auto-renewal will continue to work even if there is insufficient balance in the trading account.
Kite Connect doesn't offer back-office data. For this information, you can download the P&L report from https://console.zerodha.com/ for the year, month and days and other reports.
@subha Span and expose will always be zero as you are only paying the premium(qty*price) for the option buy order. You can create a basket of two or more buy and sell contracts and verify the basket order margin.
Sensex freeze limit is 1000. You can download the Quantity Freeze file from the NSE portal for all the scripts and Indices or refer to the Zerodha bulletin for the latest updates.