OHLC Discrepancy Between Zerodha API/WebSocket and Zerodha Charts

MithunMadhukumar
Dear Zerodha API Support Team,

I’m reaching out to report and seek clarity on a recurring issue where the OHLC (Open, High, Low, Close) and volume data retrieved via the Kite API differ from the data shown on the Zerodha charting interface (TradingView charts).

Issue Summary:
I have attempted fetching OHLC data using:

WebSocket streaming with mode=full
The REST endpoint /quote/ohlc
Historical data API /instruments/historical/{token}/{interval}

However, in all methods tested, the Open, High, and Low values are often different from the values shown on the Zerodha chart — not just the Close, which I understand can be based on VWAP or auction adjustments.

This discrepancy is not limited to one or two instruments. For example:

BSE, KALYANKJIL, and INOXWIND — as attached — show different values in the API/WebSocket vs the Zerodha chart.

Request for Clarification:
Why do these discrepancies occur between the API/WebSocket OHLC data and the charting data?
Is this behavior expected or common due to architectural or data feed differences?
Is there any way to retrieve the exact same OHLC values that are shown on Zerodha's TradingView chart via the API or another mechanism?

This inconsistency is creating challenges for ensuring data integrity in my trading systems, and I’d appreciate your help in understanding the root cause and any


possible resolution.
  • salim_chisty
    You may refer to the similar discussion here.
  • MithunMadhukumar
    MithunMadhukumar edited July 14
    @salim_chisty thanks for the reference, but my concern is regarding the daily OHLC Discrepancy , i am not concerned about tick by tick data, at a particular time say at 1520 of the day i run my code to get the days OHLC price, just onces a day i tried in web socket, quote and also historical data fetching, to get the days ohlc, but the values does not match with the zerodha chart data,
  • Nivas
    Nivas edited July 15
    The charting engine's ticker source is different from the Websocket API's source. Quote endpoint would provide only market data snapshots. You might find this thread helpful for understanding the inconsistencies in chart data.

    Additionally, you can use this endpoint to fetch historical data and compare it with the Kite chart; they should align.

    P.S. The closing price on the chart is updated at midnight. Therefore, it's recommended to fetch historical data on the following working day and verify it against the Kite chart data.
Sign In or Register to comment.