Hi Siddarth,
We do not mutate any values in the WebSocket stream whatsoever. They are relayed as-is.
Exchanges send a 4 byte unsigned int (uint32) for price fields representing a "paise" value. Based on the segment, at your end, you should apply a …
@pannet1 Your first post said: For good order sake, please dont charge any of us for this crap.
That's not how you'd start a conversation. I've been following the issues you've been posting with the team and the first question that was asked was "ar…
@pannet1 the login flow involves several 302s as it happens in the browser (and that's always been the case). It has got nothing to do with phpKiteConnect.
Can you describe exactly what's happening with the 302s, before you start hurling accusation…
if u can quickly paste the solution clearly which i can add right away , please dont point anywhere which leads to confusion ...
I'm afraid that's not how it works, @ayyaz. We cannot give you ready-made code that you can copy paste and will magicall…
We absolutely understand. Like most, if not all, financial institutions, our data centres are fully managed, and these services are availed from top Indian data centre companies. Ironically, Kite's infrastructure is in a specialist data centre in Mu…
@botany02 "OPEN" is not sent on placement because when you get the order_id from the order API request, it means the order is open/placed. Subsequent changes that happen to it are sent as Postbacks.
@sameer Yes. Major revamp on the historical data warehouse is underway. Once it's done, we'll announce the revised rate limits. We should see noticeable performance improvements too.
@ansumanm HTTP Postbacks and Postbacks over Websockets have some subtle differences. These are in the documentation.
Firstly, HTTP Postbacks are meant for app developers / public platforms. You only get updates for orders placed by the api_key to w…
@harikongu We recommend you download it once every morning as exchanges republishes these files everyday and there may be expiries (weekly options, monthly futures and options), delistings, symbol/series changes etc.
@abhishek01 We've ramped up our exchange line capacity over the last year. Kite 3 has a completely new architecture and backend, and the API response times should be consistently fast throughout, including peak times.
@razcads The documentation only covers the changes to the API. The function/variable name changes, we've taken this opportunity make everything consistent.
As mentioned in the announcement, the client lib changes are documented in their respective …
@ankur
- `request_token`, 5 minutes
- `access_token`, until invalidated using the API, or a master logout (from Kite web console), it'll last until the next morning 6 AM (every day flush is an exchange requirement).
- `refresh_token` is a special l…
@vardhan36397 We're revamping the entire historical data infrastructure. You should see increased limits soon after we sunset Kite 2.0 and 3.0 becomes the default. Revised rate limits will be a separate announcement.
This usually happens when the stock changes series (BE, BL etc.) on NSE. In the instrument master, the ISIN field should help map such changes.
This particular case should've been handled internally though. Will investigate.
@asif09ansari This is built into the all the 3.0 client libraries. Check the links on the documentation. Their respective READMEs have examples.
@moghgan Pi, not yet, but this is being done by the Pi team. In the next major release of Pi next month…
@sauravkedia As I've stated in the past posts, a significant portion of the backends have already been upgraded. That's what we've been doing for over a year.
The client libraries will be released and updated together with all breaking changes to a…
@Prem Postbacks are easy to process and you don't need client library support. Just need to parse the JSON and match the signature.
@Ones This is going to a be a part of release 4. It's taking time because it involves breaking changes to the binary…
Thanks for the in-depth analysis, Siddarth. As I mentioned, 10s is indeed very anomalous. Our team is looking into this.
In the meanwhile, we have a new version of the WebSocket API coming out soon (with breaking changes) that'll include a timestam…
@Kanchana Not sure how you jumped to the conclusion that there's only 30 BO stocks that can be traded. We have several hundred. Please refer to the list on the dropdown here -- https://zerodha.com/margin-calculator/BracketCover/
There's a reason wh…
@cusodha Contract notes are not available just yet, but will be made available in the near future.
We've come up with a standard contract note spec (XML) that we plan to make available after presenting to the regulators.
@Encrypted The API you've quoted is live. It gives you realtime quote and OHLC would be for the day. If you want OHLC of combined timeframes (5 mins, 15 mins etc.), you need to use the historical data API. We're just releasing an update to the histo…
Haribabu, not sure what motivated you to write this but maybe you haven't seen the announcement made a couple days ago -- https://kite.trade/forum/discussion/2094/kite-connect-3-0-release-1#latest
Also, curious as to what exactly you expect out of …
@bk18 If you poll the GET APIs too much, you'll get rate limited. Polling every second is higly inefficient and if you want live updates, you should definitely use the WebSocket library.
@botany02 Several of our developers do not want to run and maintain a streaming WebSocket client. They just want to query market data at ad-hoc intervals. Maybe once every 15 mins, or even once every minute.
- For continuous realtime quotes, WebSoc…
Since your requirement is not latency critical and you're only covering a couple hundred instruments, Postgres or MariaDB (MySQL) should do you good. We store billions of rows in these databases.
If you want a true time series database, then checko…
@thepanoramix We plan on publishing the changelog next week. And the week after, the preview version of 3.0 (which you'll be able to access by sending an additional header to the API endpoints). There are no legal issues with the sandbox, but the bu…
@pinkpanther I completely understand your sentiment. We'd planned to release the sandbox last year. But, Thomson Reuters, our OMS vendor, were unable to provide us the backbone for it on time. Coincidentally, just this morning, we were able to procu…
@Shaha Pricing of the APIs are a business consideration and I'm unable to comment on them right now. I'm aware that our competitors have even copied our documentation word for word. Shows where the true innovation's happening
But, our pace hasn't …
@chaitanyanettem Adding to what Sujith's said, STAR MF, honestly, is an archaic platform. It provides a TCP API, which is hard to develop on, and lacks quite a bit of functionality. We interface with STARMF using CSV uploads/downloads (tons of manua…
@k365 Technical problems and programs being "stuck" can happen to any developer team anywhere. It'd be unfair to bring such a broad topic up in the context of APIs here. We have a very active community forum, and an elaborate and easy to follow docu…
@ketanshah There are regulations around publishing live data outside of trading environments. So the data will follow markets, but won't be completely random.
@sachet_singh The sandbox is something we've been trying to get from our OMS vendor (TR) …
@anilv13 @anupshinde Yep, the idea is to have a full simulated trading environment. The sandbox will be available free of cost.
@anupshinde That's a good idea, programmatic access to ecosystem health data. There are no changes to endpoints, but the…
@Shabeershah2002 , the data BSE sends has a comma itself. Here's the row from our instruments.csv file
138278148,540149,TRANSPEBBPH,"TRANSPEK INDUSTRY,",0.0,,0.0,0.05,1,EQ,BSE,BSE
As you can see, the company name with the trailing comma is inside a…
We're addressing this very soon. We had to stop streaming data over WebSockets because way too many of the clients complained of the trading platform ticking on Saturdays. As you know, websocket.kite.trade is shared by the API and our apps. We'll so…
@krisys Ah, understood. We do not have a sanbox mode yet, which is why there's no seamless way to switch URLs. Once the sandbox is ready, this shouldn't be a problem.
@itsram90 For anything realtime, you should use WebSockets. Polling HTTP APIs is not very scalable.
@sameer We are considering revising the rate limits soon. It was set in the first place because a) many users were incessantly polling the APIs need…
@rahulchitale Trades/ticks on the mock trading day are generated by realtime mock market activity generated by brokers and traders all over India. Nothing is replayed.
The mock trading day is conducted by the exchanges themselves on the first Satur…
@rahulchitale Trades/ticks on the mock trading day are generated by realtime mock market activity generated by brokers and traders all over India. Nothing is replayed.
The mock trading day is conducted by the exchanges themselves on the first Satur…
@krisys This has been on our list since forever, and we've done quite a lot of work on it. It's just that our focus has been elsewhere lately. Once our current efforts are pushed into production, we'll resume our work on the sandbox environment.
Are you sure your API isn't sending more than 3 concurrent requests?
You should connect to the WebSocket API and stream live data rather than polling the quotes API.
Ticks are sent based on change in states.
LTP mode only sends a tick when the LTP has changed. Values in the market depth can change often without the LTP changing. Similarly, when any of the values offered by any of the modes change, a tick is sen…
Please refer to the docs: https://kite.trade//docs/connect/v1/#market-and-instruments
The CSV file contains the instrument and exchange tokens. Exchanges may change the tokens at any time. We recommend you fetch the instrument list once every day b…
You shouldn't be getting the warning as our SSL certs should be covered by the CA bundle that ships with Python. Maybe this'll help http://stackoverflow.com/questions/27981545/suppress-insecurerequestwarning-unverified-https-request-is-being-made-in…
@sr11 There is no pending status. It's "OPEN" (0 filled and partially filled). You can look at the product or variety field to check for "BO"s. Second legged orders will have a parent_order_id as well.
All 3 instances you pasted above are incorrect.
First one has non standard quotes. Type " and " using the keyboard.
Second one is invalid Python, there the quotes are missing altogether!
Third one is also invalid Python, the first quote is missi…
The entire API is documented here -- https://kite.trade/docs/connect/v1/
You should look at the Streaming / WebSocket API section. Unlike vanilla HTTP requests, streaming data uses the WebSocket protocol, which may be a little tricky to implement f…
@juscallmelarry I'm not sure how to help you out. Without basic knowledge of programming, familiarly with Python, and an understanding of HTTP APIs work, it is going to be difficult to use Kite Connect. Programming and software development is "geeky…