A GTT order is treated as a single trigger-based order, and the triggered order must individually comply with the exchange-defined freeze quantity limit (currently 1800 quantity or 27 lots for NIFTY options). While large quantities can be traded by …
An index is a benchmark market indicator and not an exchange-traded security; hence, it does not have actual traded volume or open interest, as the index itself cannot be directly bought or sold on the NSE. You can check the similar discussion here.
@subha There is currently no direct API available for placing basket orders. We also do not observe any issues with basket order margins; please refer to the Basket Margin API documentation for detailed information on margin calculations.
We recommend you to follow the login flow as outlined in the Kite Connect API documentation. Additionally, you can refer to this webinar for a detailed walkthrough.
Please note that the access token is valid for one day, and you can use it for all …
@sanket_naik 1️⃣ holidays() method not availableCurrently, we don't have a direct API or endpoint to check the holiday calendar through the Kite Connect API. Exchange holidays are easy to maintain at your end as it's fixed and is released at the sta…
You might have given localhost as the redirect URL. It doesn't matter if the redirect URL loads or not; you can copy the request token from the URL and use it to generate the access token. You may refer to the similar discussion here.
@Gunja, Please refer to the Python library on the Kite Connect API documentation. You can also explore our Quantinsti course on Algorithmic trading with Zerodha Kite Connect API and Python.
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 o…
Navigate to the app details screen and check if you have entered the correct client id. Ensure there are no spaces at the beginning or end of the client id. You must use the Kite Connect APIs with the same client ID that you used to create the app.
…
@chpadma @chillaranand At present, we do not have any plans to provide expired data via the API. However, we will check with the concerned team for any alternate options or potential future plans and keep you updated accordingly.
When placing an iceberg order using the Kite Connect, the place_order() API returns only the parent order_id. Iceberg legs are created sequentially, and each leg appears as a separate order only after the previous leg is fully executed. All iceberg …
Kite Connect does not provide an option chain feature by default. You will need to create the option chain on your end. You may find the library helpful for this purpose. For further details, you can also refer to this thread.
Additionally, we do n…
A 403 generally means, session expired or permission is not there for initiating the Websocket connection. You may refer to the similar discussion here.
The Invalid API key error on a different system is because request_token and access_token are session-specific, single-use, and non-portable, and cannot be reused across machines or environments.
Each system must perform its own OAuth login flow (l…
Kite Connect supports only the OAuth-based authentication flow using login_url → request_token → access_token, and this process is mandatory for all integrations with no alternative or shortcut available.
In mobile apps, the login_url should be open…
Currently, there is a soft limit of up to 3 WebSocket connections per API account. Each WebSocket connection can subscribe to a maximum of 3000 instruments.
If the subscription count exceeds this limit, the additional instrument subscriptions will …
Are you using the Kite personal app or the Kite Connect app? You may go to the developer's console and check the type of app. Make sure you use the Kite Connect app's api_key.
The Kite personal app doesn't have access to the Websockets API, which al…
The Kite Connect API’s order placement endpoint supports a variety parameter where you can specify the order type (like regular, co, amo, etc.) when placing an order. Go through the order param detail here in the API documentation.
We have verified this on our end using the Quote API and the net_change values appear to be working as expected; we kindly request you to recheck and implement the same accordingly on your side.
It seems the issue might be due to an invalid api_key or access_token. Additionally, you may be using the incorrect request token to obtain the access token. We recommend following the login flow as outlined in the Kite Connect API documentation. Y…
For optimal performance and stability, it is recommended to subscribe to fewer than 3,000 instruments per WebSocket connection. You can open up to three WebSocket connections per API key, with each connection handling subscriptions for a maximum of …
Kite Connect does not provide any API endpoint for TableView or spreadsheet-style outputs; all API responses are returned in JSON format. If required, the JSON data can be converted to CSV or Excel and rendered as a TableView on the client side.
F…
You need to check the order update for partially filled or filled quantity via websocket. You can receive real-time order status updates through the Kite Connect WebSocket (KiteTicker) by using the on_order_update callback. Order update from the Web…
We are not sure about the code architecture of filtering the script based on iNAV. You can check out this support article for more details on iNAV. If you wish, you can ignore this.
Apologies for the delay. We have forwarded this to the concerned team and are currently working on an alternative process, but don't have timeline as of now.
Currently, we don't have a direct API or endpoint to check market status through the Kite Connect API. You may refer to a similar discussion here for an alternative.
Kite Connect API rate limits are enforced at the API key level, not per individual user or access token. All requests originating from a single API key are aggregated across users and endpoints, and the combined request rate must not exceed 10 reque…
Kite Connect supports both instrument_token and Exchange: Tradingsymbol representations, but they are not interchangeable across all endpoints. The Exchange: Tradingsymbol format is a convenience alias supported only in quote-type APIs (quote, ltp, …
Navigate to the app details screen and verify that you have entered the correct client id. Ensure there are no spaces at the beginning or end of the client id. The Kite Connect APIs must be used with the same client id that was used to create the ap…
Partial fills do not automatically change the order status — the status stays TRIGGER PENDING until the entire order is filled or cancelled. Please check this support article for more details.
We don't recommend a specific coding approach. Attempting to modify an order that has already been rejected or completed will result in an error; therefore, to ensure reliable execution and avoid unnecessary exceptions, it is recommended to validate…
The NIFTY 50 index (instrument_token = 256265) is a benchmark market index and not an exchange-traded security. As such, it does not have actual trade volume or open interest since the index itself cannot be directly bought or sold on the NSE. The '…
Kite Connect REST API quote endpoints have defined instrument limits per request: /quote supports up to 500 instruments, while /quote/ohlc and /quote/ltp support up to 1000 instruments per request. However, even within these limits, repeatedly fetch…
To retrieve the list of mutual fund holdings available in your DEMAT account, you can use the official endpoint (/mf/holdings). From this endpoint, you can filter the details for a specific mutual fund.
For further details, please refer to the docum…
There is no direct API endpoint/stream to fetch the option chain. You need to build it at your end by filtering instruments and fetching OI/LTP/volumeusing Websocket streaming or Quote APIs, depending on your usability. This thread explains a basic…
The market protection feature is currently available in the raw HTTP APIs and Java library only. The order parameter for variety should be 'regular'. Please refer to the API documentation here.
There are defined limits on the number of instruments you can pass to the REST quote endpoints:
- Full market quotes (/quote): Supports up to 500 instruments per request.
- OHLC quotes (/quote/ohlc): Supports up to 1000 instruments per request.
- LT…
For commodities, the exchanges use quantity in all their files and systems as per their standards. The multiplier for these contracts is available in the positions data. For all MCX instruments, the trading quantity is considered as 1, as supported …
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 token, however, is valid for only a few minutes and can be used just once. Ensure that you do not request a new access tok…
The tick size will be reviewed by the exchange every month, with the closing price on the last trading day of the month being used to determine the tick size, which will apply for the next month. Check the tradingqna post for more details.
The API response data will be empty if the instrument identifier is not passed correctly. Please ensure that the instrument identifier is provided accurately to avoid this issue.
Note: Please avoid sharing API key and client-specific tokens on any …
We have verified the WebSocket connection on our end and found no issues.
Please review the WebSocket example code and ensure you are using the correct instrument token from the instrument list to check for any errors.
Additionally, you can refer to…
You can use the market order with the market protection feature after the SEBI Algo ID implementation. Market protection will be enabled by default for all market orders placed through the API.
Regarding the TableView in Kite, we have forwarded your query to the concerned team for further review.
As for the ASI indicator, we do not use any custom logic. The default indicator is plotted, and you can customise its values directly from the in…
You can run pykiteconnect in debug mode and paste the complete stack trace here. You can initialise kiteconnect with the debug flag true. Make sure to remove app and client-specific tokens.
Kite Connect API does not provide tick-by-tick option chain data or tick-level Open Interest (OI). Instead, OI updates are included as part of the regular WebSocket LTP feed, which is quote-based and not tick-by-tick.
Additionally, Kite Connect doe…
A close price in a minute candle data is the last tick received in that minute by our system. The close price of the day's candle data is usually updated the next day, early morning; the value comes from the BHAV copy, which is declared by the excha…
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.
The issue has already been resolved as of 09:55 AM. Please try again to see if the problem persists. If you continue to face the issue, kindly share a screenshot of the error message so we can investigate further.
You can run pykiteconnect in debug mode and paste the complete stack trace here. You can initialise kiteconnect with the debug flag true. Make sure to remove app and client-specific tokens.
To access live market or historical candle data, you need to subscribe to Kite Connect(paid version). We noticed that you have created an app using the Kite Personal (free version). Please ensure you are using the API key and access token associated…
Currently, GTT orders are not available for the Currency and Commodity segments. Additionally, bracket orders have been deprecated, and Kite Connect does not offer this feature. However, you can simulate a similar functionality at your end using GTT…
The error message is only displayed if the order rate limit is breached. Kite Connect API not only counts the orders placed but also the orders blocked due to invalid requests. Invalid orders are not displayed in the order book. However, they are co…
You cannot retrieve the full order book (all buy/sell orders) for any instrument via Kite Connect API. The 20-depth market data is exclusive to the Kite web and mobile platforms due to regulatory restrictions. As of now, this data is not available v…
It is not guaranteed that a minute candle will be available at the end of the minute or at the beginning of the next minute.
I would suggest generating a candle at your end using the live market data provided by Kite Ticker. You may refer to a simil…
Yes, order modification and cancellation API calls are counted toward the same order rate limits of 10 requests/second and 200 requests/minute, just like fresh order placements. While they do not count toward the daily cap of 3,000 placed orders, th…
The Kite Connect API supports GTT (Good-Till-Triggered) orders through dedicated endpoints, but only LIMIT orders are allowed when a GTT is triggered.
Please refer to the GTT API documentation here. You may refer to a similar discussion here.
You can only get current trading instruments tokens and their historical data. You can get intraday historical data for the active options contract. Historical data won't be available for the expired option contract. However, you can get the day-per…
Kite Connect rate limits are enforced per API key (per app), not per IP address. This means that if you purchase and use multiple Kite Connect apps with separate API keys, the limits apply independently to each key. Here is a breakdown of the rate l…
We do demerger adjustment as soon as we receive the Cost of Acquisition (COA) and pre ex-date for the particular script. The adjustment for MARINE and ABFRL has already been completed. You can verify it in a similar discussion on our TradingQnA pos…
To receive live order-book data, including the top-5 bid and ask levels with prices and quantities, use the WebSocket streaming API (KiteTicker). With KiteTicker, you can subscribe to the required instrument tokens and set the mode to MODE_FULL to s…
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 quant…
@vijoeyz Kite Connect does not provide historical data outside the lifecycle of a futures contract. Historical candles are available only for the period during which the contract was actively listed and trading. Any request for a date range before t…
You can refer to this support article to create an app to get the API key. You may write to the business team on kiteconnect(at)zerodha.com for further assiatance.
We don't do any calculations on Kite it is done by the charting engines like ChartIQ and Tradingview.You can refer to the ChartIQ documentation to know about the ChartIQ Kite chart indicator formula. You can check out this thread for resources and d…
Please subscribe to the Kite Connect app and use the api_key to access the real-time and historical data. You can refer to the support article for more details. You may refer to the similar discussion here.
TotalBuy and TotalSell are legacy variables that were added to Go Kite Connect a long time ago and are not actively used. The Kite Connect API does not include these fields; they exist only as unused variables in the Golibrary. We will remove them i…
The discrepancy you are noticing in the data is due to differences in the methodology used for corporate action adjustments. We adjust the charts for demergers based on the Cost of Acquisition (COA) as per the exchange circular. In contrast, Trading…