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.
Auto-slicing feature has not yet been implemented in the C# library or other SDKs. For the time being, you can use a raw HTTP call to achieve this functionality.
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.