Repeated critical failures in Kite API

‘Reported this’ isn’t really a solution is it?

What is the escalation matrix here? You are having users pay 500 per month to stream and trade basis junk data and seem to have no intent to fix the problem

I have done all the legwork and sent you plenty of screenshots and evidence above. Please take some effort from your end instead of repeatedly putting the onus on me.

I mean at exchange level.

Yes and we have taken with up with vendor and then to exchange,we did some changes as asked and hence asking if you faced it again as we are not able to notice it in last couple of days.

It’s not an exchange issue like I have provided evidence in my first post. Same instrument, same time I have incorrect price from kite and correct price from a different broker.

I am receiving different prices from websocket and kite.quotes for the same instrument with the same timestamp
kite.quotes doesn’t have the bid price > ask price issue. But at least 5 instruments in the websocket are having the issue every minute

3 examples below between 13:55 and 13:56 (within 1 minute) today

Example 1 - All data points match except 1st bid price, which continues to be incorrect:
Data from websocket:
{“instrument_token”: 136741383, “LTP”: 597.0, “bid_price_1”: 590.0, “bid_quantity_1”: 1, “ask_price_1”: 589.0, “ask_quantity_1”: 2, “bid_price_2”: 582.0, “bid_quantity_2”: 3, “ask_price_2”: 589.5, “ask_quantity_2”: 1, “bid_price_3”: 580.0, “bid_quantity_3”: 2, “ask_price_3”: 590.0, “ask_quantity_3”: 1, “bid_price_4”: 579.5, “bid_quantity_4”: 1, “ask_price_4”: 591.5, “ask_quantity_4”: 5, “bid_price_5”: 577.5, “bid_quantity_5”: 2, “ask_price_5”: 592.5, “ask_quantity_5”: 1, “volume”: 265, “total_buy_quantity”: 108, “total_sell_quantity”: 127, “oi”: 261, “oi_day_high”: 313, “oi_day_low”: 253, “exchange_timestamp”: “2026-02-20 13:55:06”, “last_trade_time”: “2026-02-20 13:55:05”, “received_timestamp”: 1771575905363126800}
Data from kite.quotes:
{‘136741383’: {‘instrument_token’: 136741383, ‘timestamp’: datetime.datetime(2026, 2, 20, 13, 55, 6), ‘last_trade_time’: datetime.datetime(2026, 2, 20, 13, 55, 5), ‘last_price’: 590, ‘last_quantity’: 1, ‘buy_quantity’: 108, ‘sell_quantity’: 127, ‘volume’: 265, ‘average_price’: 550.96, ‘oi’: 261, ‘oi_day_high’: 313, ‘oi_day_low’: 253, ‘net_change’: 0, ‘lower_circuit_limit’: 48, ‘upper_circuit_limit’: 6772, ‘ohlc’: {‘open’: 599, ‘high’: 637.5, ‘low’: 505, ‘close’: 536}, ‘depth’: {‘buy’: [{‘price’: 583, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 582, ‘quantity’: 3, ‘orders’: 2}, {‘price’: 580, ‘quantity’: 2, ‘orders’: 2}, {‘price’: 579.5, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 577.5, ‘quantity’: 2, ‘orders’: 2}], ‘sell’: [{‘price’: 589, ‘quantity’: 2, ‘orders’: 2}, {‘price’: 589.5, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 590, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 591.5, ‘quantity’: 5, ‘orders’: 2}, {‘price’: 592.5, ‘quantity’: 1, ‘orders’: 1}]}}}

Example 2:
Data from websocket:
{“instrument_token”: 136206343, “LTP”: 983.5, “bid_price_1”: 973.0, “bid_quantity_1”: 1, “ask_price_1”: 971.0, “ask_quantity_1”: 1, “bid_price_2”: 962.5, “bid_quantity_2”: 2, “ask_price_2”: 971.5, “ask_quantity_2”: 1, “bid_price_3”: 962.0, “bid_quantity_3”: 1, “ask_price_3”: 972.5, “ask_quantity_3”: 3, “bid_price_4”: 960.5, “bid_quantity_4”: 4, “ask_price_4”: 973.0, “ask_quantity_4”: 3, “bid_price_5”: 960.0, “bid_quantity_5”: 4, “ask_price_5”: 975.0, “ask_quantity_5”: 1, “volume”: 4155, “total_buy_quantity”: 1156, “total_sell_quantity”: 678, “oi”: 5518, “oi_day_high”: 5553, “oi_day_low”: 5440, “exchange_timestamp”: “2026-02-20 13:55:11”, “last_trade_time”: “2026-02-20 13:55:02”, “received_timestamp”: 1771575910370631500}
Data from kite.quotes:
{‘136206343’: {‘instrument_token’: 136206343, ‘timestamp’: datetime.datetime(2026, 2, 20, 13, 55, 11), ‘last_trade_time’: datetime.datetime(2026, 2, 20, 13, 55, 2), ‘last_price’: 983.5, ‘last_quantity’: 1, ‘buy_quantity’: 1156, ‘sell_quantity’: 678, ‘volume’: 4155, ‘average_price’: 928.27, ‘oi’: 5518, ‘oi_day_high’: 5553, ‘oi_day_low’: 5440, ‘net_change’: 0, ‘lower_circuit_limit’: 98, ‘upper_circuit_limit’: 8757, ‘ohlc’: {‘open’: 800.5, ‘high’: 1050, ‘low’: 800.5, ‘close’: 826.5}, ‘depth’: {‘buy’: [{‘price’: 963, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 962.5, ‘quantity’: 2, ‘orders’: 2}, {‘price’: 962, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 960.5, ‘quantity’: 4, ‘orders’: 1}, {‘price’: 960, ‘quantity’: 4, ‘orders’: 4}], ‘sell’: [{‘price’: 971, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 971.5, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 972.5, ‘quantity’: 3, ‘orders’: 1}, {‘price’: 973, ‘quantity’: 3, ‘orders’: 2}, {‘price’: 975, ‘quantity’: 1, ‘orders’: 1}]}}}

Example 3:
Data from websocket:
{“instrument_token”: 134928391, “LTP”: 1675.5, “bid_price_1”: 1671.5, “bid_quantity_1”: 1, “ask_price_1”: 1668.0, “ask_quantity_1”: 1, “bid_price_2”: 1657.0, “bid_quantity_2”: 1, “ask_price_2”: 1668.5, “ask_quantity_2”: 2, “bid_price_3”: 1656.0, “bid_quantity_3”: 2, “ask_price_3”: 1669.0, “ask_quantity_3”: 1, “bid_price_4”: 1655.5, “bid_quantity_4”: 1, “ask_price_4”: 1669.5, “ask_quantity_4”: 2, “bid_price_5”: 1653.0, “bid_quantity_5”: 1, “ask_price_5”: 1670.5, “ask_quantity_5”: 2, “volume”: 4295, “total_buy_quantity”: 130, “total_sell_quantity”: 236, “oi”: 1084, “oi_day_high”: 1146, “oi_day_low”: 1081, “exchange_timestamp”: “2026-02-20 13:55:11”, “last_trade_time”: “2026-02-20 13:55:05”, “received_timestamp”: 1771575910370631500}
Data from kite.quotes:
{‘134928391’: {‘instrument_token’: 134928391, ‘timestamp’: datetime.datetime(2026, 2, 20, 13, 55, 11), ‘last_trade_time’: datetime.datetime(2026, 2, 20, 13, 55, 5), ‘last_price’: 1675.5, ‘last_quantity’: 1, ‘buy_quantity’: 130, ‘sell_quantity’: 236, ‘volume’: 4295, ‘average_price’: 1646.51, ‘oi’: 1084, ‘oi_day_high’: 1146, ‘oi_day_low’: 1081, ‘net_change’: 0, ‘lower_circuit_limit’: 191.5, ‘upper_circuit_limit’: 11013, ‘ohlc’: {‘open’: 1422, ‘high’: 1811.5, ‘low’: 1422, ‘close’: 1460}, ‘depth’: {‘buy’: [{‘price’: 1657.5, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 1657, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 1656, ‘quantity’: 2, ‘orders’: 2}, {‘price’: 1655.5, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 1653, ‘quantity’: 1, ‘orders’: 1}], ‘sell’: [{‘price’: 1668, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 1668.5, ‘quantity’: 2, ‘orders’: 1}, {‘price’: 1669, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 1669.5, ‘quantity’: 2, ‘orders’: 1}, {‘price’: 1670.5, ‘quantity’: 2, ‘orders’: 1}]}}}

@siva Sincerely requesting Zerodha developers to monitor at your end, instead of expecting paying customers to do debugging for you.

1 Like

@nivas_k Can you check the mentioned cases.

I’m checking these cases.

I this fixed yet? @nivas_k @siva

{‘144171271’: {‘instrument_token’: 144171271, ‘timestamp’: datetime.datetime(2026, 4, 9, 9, 4, 13), ‘last_trade_time’: datetime.datetime(2026, 4, 9, 9, 4, 6), ‘last_price’: 76.05, ‘last_quantity’: 1, ‘buy_quantity’: 163, ‘sell_quantity’: 147, ‘volume’: 150, ‘average_price’: 78.37, ‘oi’: 2816, ‘oi_day_high’: 2818, ‘oi_day_low’: 2815, ‘net_change’: 0, ‘lower_circuit_limit’: 7.3, ‘upper_circuit_limit’: 698.35, ‘ohlc’: {‘open’: 46.15, ‘high’: 82.8, ‘low’: 46.15, ‘close’: 108.45}, ‘depth’: {‘buy’: [{‘price’: 77.1, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 76, ‘quantity’: 28, ‘orders’: 2}, {‘price’: 75.6, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 73.65, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 73.6, ‘quantity’: 10, ‘orders’: 1}], ‘sell’: [{‘price’: 77.05, ‘quantity’: 1, ‘orders’: 1}, {‘price’: 77.35, ‘quantity’: 4, ‘orders’: 2}, {‘price’: 0, ‘quantity’: 0, ‘orders’: 0}, {‘price’: 0, ‘quantity’: 0, ‘orders’: 0}, {‘price’: 0, ‘quantity’: 0, ‘orders’: 0}]}}}

hi @siva @nivas_k I am still getting this kind of data in both websocket and quotes with incorrect prices.
It’s been almost 3 months since I’ve been reporting this issue. Why isn’t this being resolved?

We understand this has been under observation for some time. The matter is currently being reviewed in coordination with the relevant vendor. An updated patch has recently been shared by them and is currently under internal validation.

We’ll share further updates once the testing is complete.

@siva @nivas_k i can see this thread is open for around a quarter now and still its not resolved.
look at the attached screenshot. the prices and the bid-ask does not match at all.

and i have attached just one screenshot. its consistently unreliable data feed across various instruments

it is understandable that bid-ask spread can change without changing the LTP(because there may be not trade happening), but in this case LTP updates but bid-ask spread remains frozen for a while.

1 Like

here is another one

and its not happening once or twice which cannot be reproducable. its happening always, across browsers or platforms, not limited to one instrument(futures, stocks, commodities)

i can just switch instrument, observe for 1-2min and generate above behaviour

1 month since your response and almost 4 months since I first highlighted this here and this issue continues as is, unaddressed and with the same scale of thoudands of incorrect ticks across instruments every day

sample from today:
{“instrument_token”: 144067335, “LTP”: 238.0, “bid_price_1”: 237.7 , “bid_quantity_1”: 1, “ask_price_1”: 237.6, “ask_quantity_1”: 1, “bid_price_2”: 236.9, “bid_quantity_2”: 1, “ask_price_2”: 237.7, “ask_quantity_2”: 2, “bid_price_3”: 236.7, “bid_quantity_3”: 2, “ask_price_3”: 237.8, “ask_quantity_3”: 3, “bid_price_4”: 236.5, “bid_quantity_4”: 1, “ask_price_4”: 237.9, “ask_quantity_4”: 1, “bid_price_5”: 236.4, “bid_quantity_5”: 1, “ask_price_5”: 238.0, “ask_quantity_5”: 3, “volume”: 27460, “total_buy_quantity”: 645, “total_sell_quantity”: 1527, “oi”: 9043, “oi_day_high”: 9098, “oi_day_low”: 7243, “exchange_timestamp”: “2026-05-05 18:26:56”, “last_trade_time”: “2026-05-05 18:26:56”, “received_timestamp”: 1777985816307984700}

What’s happening with Zerodha? This is clearly an intent gap at this point, not a capability gap, you don’t want to stop showing erroneous prices to traders?

@siva @nivas_k @nithin

3 Likes

We are following up on this, please give us a few more days for permanent fix.

A patch has already been deployed, and we have verified that the issue is no longer occurring.

Please check at your end as well, and do let us know if you continue to notice any discrepancies or have further concerns.

There is absolutely no change from before

Response from websocket with error:
{“instrument_token”: 143771655, “LTP”: 14.15, “bid_price_1”: 14.1 , “bid_quantity_1”: 4, “ask_price_1”: 14.05 , “ask_quantity_1”: 2, “bid_price_2”: 13.95, “bid_quantity_2”: 22, “ask_price_2”: 14.1, “ask_quantity_2”: 12, “bid_price_3”: 13.9, “bid_quantity_3”: 26, “ask_price_3”: 14.15, “ask_quantity_3”: 17, “bid_price_4”: 13.85, “bid_quantity_4”: 6, “ask_price_4”: 14.2, “ask_quantity_4”: 18, “bid_price_5”: 13.8, “bid_quantity_5”: 6, “ask_price_5”: 14.25, “ask_quantity_5”: 12, “volume”: 18582, “total_buy_quantity”: 11340, “total_sell_quantity”: 727, “oi”: 3620, “oi_day_high”: 3844, “oi_day_low”: 2966, “exchange_timestamp”: “2026-05-14 18:13:03”, “last_trade_time”: “2026-05-14 18:13:02”, “received_timestamp”: 1778762583820224843}
Response from quotes is correct:
{‘143771655’: {‘instrument_token’: 143771655, ‘timestamp’: datetime.datetime(2026, 5, 14, 18, 13, 3), ‘last_trade_time’: datetime.datetime(2026, 5, 14, 18, 13, 2), ‘last_price’: 14.05, ‘last_quantity’: 1, ‘buy_quantity’: 11340, ‘sell_quantity’: 727, ‘volume’: 18582, ‘average_price’: 13.23, ‘oi’: 3620, ‘oi_day_high’: 3844, ‘oi_day_low’: 2966, ‘net_change’: 0, ‘lower_circuit_limit’: 0.1, ‘upper_circuit_limit’: 54.25, ‘ohlc’: {‘open’: 12.9, ‘high’: 15.4, ‘low’: 11.25, ‘close’: 12.75}, ‘depth’: {'buy’: [{‘price’: 14, ‘quantity’: 11, ‘orders’: 7}, {‘price’: 13.95, ‘quantity’: 22, ‘orders’: 9}, {‘price’: 13.9, ‘quantity’: 26, ‘orders’: 9}, {‘price’: 13.85, ‘quantity’: 6, ‘orders’: 3}, {‘price’: 13.8, ‘quantity’: 6, ‘orders’: 3}], 'sell’: [{‘price’: 14.05, ‘quantity’: 2, ‘orders’: 1}, {‘price’: 14.1, ‘quantity’: 12, ‘orders’: 5}, {‘price’: 14.15, ‘quantity’: 17, ‘orders’: 9}, {‘price’: 14.2, ‘quantity’: 18, ‘orders’: 9}, {‘price’: 14.25, ‘quantity’: 12, ‘orders’: 5}]}}}

Another sample from websocket where 1st bid_price is less than 2nd bid_price:
{‘instrument_token’: 146371335, ‘LTP’: 5.08, ‘bid_price_1’: 2.5, ‘bid_quantity_1’: 1, ‘ask_price_1’: 5.66, ‘ask_quantity_1’: 1, ‘bid_price_2’: 2.51, ‘bid_quantity_2’: 2, ‘ask_price_2’: 0.0, ‘ask_quantity_2’: 0, ‘bid_price_3’: 2.15, ‘bid_quantity_3’: 1, ‘ask_price_3’: 0.0, ‘ask_quantity_3’: 0, ‘bid_price_4’: 2.1, ‘bid_quantity_4’: 1, ‘ask_price_4’: 0.0, ‘ask_quantity_4’: 0, ‘bid_price_5’: 0.5, ‘bid_quantity_5’: 1, ‘ask_price_5’: 0.0, ‘ask_quantity_5’: 0, ‘volume’: 2, ‘total_buy_quantity’: 11, ‘total_sell_quantity’: 1, ‘oi’: 2, ‘oi_day_high’: 3, ‘oi_day_low’: 2, ‘exchange_timestamp’: ‘2026-05-14 18:02:59’, ‘last_trade_time’: ‘2026-05-14 13:28:11’, ‘received_timestamp’: 1778761981087103064}

This is the third time you are claiming it has been resolved where in fact absolutely nothing has changed

I literally connected to the feed for 30 seconds and got these errors. Is it too much to expect that Zerodha team check before claiming “issue is no longer occuring” ?

@siva @nivas_k @nithin

1 Like

Orderbook at different points in time gets stuck for several hours showing wrong prices and my own order is not showing. It’s updating correctly on other brokers.

Example from 18-6-26:
It was stuck for at least 3 hours.

Screenshots before and after placing my order on both Zerodha and Fyers

Zerodha @ 7:05:57 PM showing stuck orderbook

Fyers @ 7:06:05 PM showing correct orderbook

Zerodha @ 7:06:18 PM - after placing a new order. No change in orderbook

Fyers @ 7:06:28 PM - correctly reflecting my order

Similar error from 19-6-26:
My own order not showing up because orderbook is stuck with incorrect prices
My order time is 17:09:51, screenshot time is 17:20


Placed orders for the same price don’t get filled because it is incorrect price that you are displaying.

It has been stuck for last 20 minutes and it will remain this way for next few hours

@siva @nivas_k

I can see last traded time is 10.57, so believe no trade happened, but still it should show in order book, I will inform team.

In fact trade has happened even 1 minute ago at 8:16PM but Zerodha is still stuck showing prices from before and last trade time on Zerodha is showing 10:57AM

Correct snapshot

Zerodha still stuck at the same prices since 3 hours

Similarly these 2 are stuck as well. Both have recent last trade time at 8PM, Zerodha showing 10AM and 1PM

Having stuck prices is one thing, but on the websocket you are sending the stale tick as a new tick and there is no way to differentiate if this data is correct or not.

Behaviour should be the same in the Kite web and Kite API websocket, as the source remains the same for both.

Yes both are incorrect as you can see from the screenshots