I have fetched the equity data for HDFCBANK using your Upstox API. Additionally, I have the same equity data from GlobalDataFeeds. To verify the accuracy, I compared the total volume between GlobalDataFeeds, Bhavcopy, and Upstox.
Upon comparison, I found that the volume data from Upstox does not match with Bhavcopy and GlobalDataFeeds:
Upstox HDFCBANK Volume = 9,812,920
Bhavcopy / GlobalDataFeeds Volume = 9,949,215
Since the volume from Bhavcopy and GlobalDataFeeds is matching, but differs from Upstox, I wanted to bring this to your attention. Kindly look into this discrepancy and let me know if there is any clarification or correction required.
Hi @VIJAY_33844444
Could you please share a list of instruments where you are observing inconsistent data? Additionally, if there is a specific time when this occurs or if it happens randomly, kindly let us know. Once we have these details, we will escalate the issue to the relevant team for further investigation.
I fetched 1-minute data for all equity instruments using the Upstox API and compared the total daily volume with NSE Bhavcopy and data from GlobalDataFeeds (a data vendor).
In most cases, the total volume from Upstox does not match with NSE Bhavcopy or GlobalDataFeeds. Below are a few examples from 1st April 2025 for some commonly traded stocks:
Stock
Bhavcopy / GDF Volume
Upstox Volume
HDFCBANK
14,255,503
13,556,454
TCS
2,618,493
2,551,026
RELIANCE
12,099,648
11,828,186
SUZLON
40,810,312
39,966,884
Not only does the total daily volume differ, but the 1-minute candle volumes also do not align when compared with GlobalDataFeeds.
For reference, please check the screenshot â the left side shows GlobalDataFeeds and the right side shows Upstox data.
Let me know if youâd like to add any other details or visual comparisons.
The difference youâre seeing arises due to the type of market close price being considered. The NSE Bhavcopy include the post-market close data, which is captured around 3:59 PM. On the other hand, our Upstox API reflects the normal market close, which is at 3:30 PM.
We update our API with the normal close price to ensure the dayâs price movement (change from previous close) is accurately reflected in the app and platform. If we used the post-market close price, it would lead to inconsistency in how day-on-day changes are displayed. So, the data youâre seeing from Upstox isnât incorrect, itâs just based on the normal market session, while others may be using the post-market session values. Hope this clears it up! Let us know if you have more questions, thanks.
Thank you for the clarification.
However, maâam, we are only considering data within the normal market hours (9:15 AM to 3:30 PM). Even within this time range, the volume figures from the Upstox API are not matching with those in the NSE Bhavcopy or with Global Datafeeds.
For your reference, Iâve attached a screenshot highlighting the discrepancy. Kindly have a look.
The screenshots you provided arenât clear. Can you raise a ticket here https://upstox.com/contact-us/raise-a-ticket/ and attach clear screenshots so that we can take a look at this? Thanks.
Our team had tried to reach out to you but the call was disconnected.
This is to inform you that the data that you have fetched from NSE bhavcopy reflects the snapshot data and the data that is depicted in the Upstox chart is the TBT chart which captures price movements in real time, specifically updating whenever there is a 0.5% change in price, hence reflecting a price difference.
Let us know if you still require more help, thanks.
hi @Ushnota Thanks for the response but My question was about volume mismatch, which isnât answered yet. As far as I know TBT stands for Tick by Tick data hence it should reflect every tick otherwise it is not TBT data.