A 403 http status code means your session is invalid. You need to pass a valid api_key and access_token. You may enable debug logs for pykiteconnect and check if you are passing the right api_key and access_token.
It will never match because exchange streams hardly a couple of tick in a second over the internet but there could be hundreds of ticks in a second at the exchange. If you want accurate data then you may have to get a TBT data by setting up your inf…
The historical data API is only for backtesting purposes. We don't recommend using it for live market strategies. You may generate candles at your end. You can get started here.
Or make sure you have a Kite Connect app on the developers console. The Kite personal app doesn't have access to Websockets API that also results in http status code 403.
The instruments file fetch doesn't have authentication for legacy purposes. You may make any other API call and check if the access token is valid or not. 403 usually means session expired.
You may run one ticker program that fetches data for all your strategies. Kite Ticker supports up to 3000 instruments per Websocket connection. And you may use 3 Websocket connections at a time for an api_key.
The optimal and scalable way is to cre…
Once a holding is settled be it CNC or MTF, these are stocks in your DEMAT account. Not an m2m. A stock in your DEMAT is not associated with any of the exchange.
We don't have any limit on number of instruments that can be added per request for margin calculation API but there is a max payload cap of around 100 kB
@Revasan,
You may need to change the redirect url, if you give login url as redirect url, it will go into login loop again and your session will be expired.
You may run with debug logs enabled for the javakiteconnect and paste the complete request and response json here. We will check and get back to you.
Make sure to remove app and client specific data.
@dardarsh,
It is not only about Zerodha, it is about any platform out there that provide data over the internet. All the members consume only level 2 data and provide the same to their clients. Please go through the article, it explains why data is …
Positions API is meant only for knowing the m2m of the account in the market. It is not a an API to fetch realtime data. We suggest fetching the last price from Quote API/Websockets API and calculate P&L at your end.
Positions API will not provide the live market data. We suggest using Quote API or Websockets API to fetch the live market data and calculate P&L at your end.
When you subscribe for the tick it will give you Quote mode data in the beginning. Once the second message is sent, the next tick you receive will have full mode data.
Just to be clear, let's say, I want to buy 40000 quantity of NIFTY Option using Kite Connect APIs (via client algo), with the use of this auto_slice flag, I can just create a single regular limit order with 40000 quantity and auto_slice flag=true. T…
Can you try on an alternate network? Are you sure your firewall or anti virus is not blocking requests?
It could be also because of the block from Cloudflare, it might be thinking you are doing DDOS, may be increase the time between the requests.
You will have to pass debug flag true while initializing the Kite object. You may refer to the code here.
Make sure to add this line before initializing the Kite object.
logging.basicConfig(level=logging.DEBUG)
You may refer to the rate limits threa…
It seems like you are sending an invalid api_key or access token.
You may enable debug logs of javakiteconnect and compare the access token sent for fetching the holdings and add a print statement with access token before connecting to Kite Ticker.
It seems that once data is adjusted for corporate actions like stock splits, or any other corporate actions, users may need to refetch the data to ensure they have the latest adjustments. Each corporate action is handled differently, and it's import…
Each corporate action it is different. Hence the calculation also changes. It is taken care of by us. You just need to refetch the data and store at your end for that instrument.
Kite Connect offers level 2 data which is offered for the members of the exchange. Exchange may have hundreds of ticks in a second. Not everything is streamed over internet. Only colocation setup will get those ticks. It is like a SNAPSHOT data stre…
@manojmo,
The javakiteconnect doesn't parse MTF data. We will include it soon. The quantity field in the holding is for the settled CNC holding quantity, it will not have MTF quantity.
If you hit the limit and not able to exit your position then you may call up support and ask RMS team to increase your order limit for the day. We're working on simplifying this.
If these features are used via API client, order slicing will be applicable and taken care by Zerodha wherever needed - Yes? If not, please explain.
It is handled by the Kite backend.
If, for example, Iceberg order (or ATO or OCO GTT) is used with N…
The OMS and internal systems don't have a provision to fetch one order. Kite Connect is purely an execution platform. We don't intend to write solutions to develop strategies. You may fetch the orderbook and write a simple list.where() method to fin…
That user was running on Java 11 and in Okhttp library there is something called keep connection alive which is by default set to true. Maybe that is what is resulting in this behavior. You may try forking the library and change whatever required or…
Can you enable debug logs while initializing Kite Connect object and share the complete stack trace here?
PS: Make sure to remove app and client specific tokens.
The is not a status code from Kite Connect APIs. It could be something else. You may enable debug logs while initializing Kite Connect and check the complete stack trace.
There is a field called pledged_quantity in mutual funds holdings. You may use that. I think it is not parsed in javakiteconnect, we will include it in future releases.
This needs to be fetched only once a day and stored at your end. You may use that local file as the source for your usage. We just tried a couple of times, it seems fine. If you are polling this endpoint then you need to figure out a way to cache it…
Can you private message the api_key of both the apps where you are getting 429?
The logs shared above are irrelevant for us. You need to share something that looks like how request and response are mentioned in the documentation. You can refer to th…
We haven't observed any issues at our end. Kite Connect APIs are being used by tens of thousands of production apps. We haven't got any complaints from users. We suggest inspecting code at your end. Maybe enable debug logs and check all the outgoing…
We send postbacks to the specified url if order is placed from the same api_key.
And also it seems like you have setup different directories in postback url for each app. Make sure you have configured it properly at your end.
@Harsh1993,
The historical data API provided on Kite Connect API is only for backtesting purposes. We don't recommend using the same for live market strategies.
You may refer to this thread.
Users can create multiple apps for multiple strategies if they want. The developers account doesn't restrict number of apps. You may create new Kite Connect app and delete personal app if not required.
It is not a rate limit issue. You would see 429 or too many requests error for rate limits.
Does it reconnect after you see this error since you have set reconnection true on kiteconnectjs or you have to stop script and re-run?
Can you try on two di…
It could be related to the network issue. It could be because of some exception in another thread or in the script and it results in this the error.
You may use the inbuilt reconnect feature in the Kite Connect library. The heartbeat listening and r…
Kite Connect doesn't offer option chain out of the box. You will have to create option chain at your end. You may refer to the library which might help you in that.
Anyways, you may write to business team on kiteconnect(at)zerodha.com and check if they can give you refund or credits, since it happened by mistake at your end.
@jitesharora,
The way developers console works is you add credits and use that to create or renew Kite Connect subscription. You would have already used the credits for creating the app. If you delete an app then it won't affect the credits that was…
You may send order modification request with new order type. You may refer to the pykiteconnect documentation here.
You may also check out the API documentation here.
Kite Connect is purely an execution platform. We provide historical data for backtesting purposes only. You may write code at your end for indicator calculations.
Unfortunately that is not how RMS works. It is always calculated against the portfolio or account level.
If you want to know the required margins for each order then you may use margin calculation API.