Incomplete / inconsistent price data for PancakeSwap v2 transactions

Hello there,

I am getting very inconsistent price data for different tokens on BSC.

As I understand, is using BitQuery as a backend, and I can see full candles at different resolutions there, including 60min for e.g. TIGER (0x8c4b3dea4247f066f3aaff7273dc97e7d4187b04) from at least 21st May, whereas from the BitQuery API I only get 20 60min candles if I filter from 1st Dec 2020 until 24th May 2021.

This is one example of many coins that I cannot get full data for.

Why is this? Is it because I’m on the “developer” free tier? Would I get full access to all data on a paid account?

Here is the query I am sending, which is exactly the same one that uses (copied from the API calls that their frontend makes):


“query”: “query GetCandleData(\n $baseCurrency: String!,\n $since: ISO8601DateTime,\n $till: ISO8601DateTime,\n $quoteCurrency: String!,\n $exchangeAddresses: [String!]\n $minTrade: Float\n $window: Int) {\n ethereum(network: bsc) {\n dexTrades(\n options: {asc: “timeInterval.minute”}\n date: {since: $since, till: $till}\n exchangeAddress: {in: $exchangeAddresses}\n baseCurrency: {is: $baseCurrency}\n quoteCurrency: {is: $quoteCurrency} # WBNB\n tradeAmountUsd: {gt: $minTrade}\n ) {\n timeInterval {\n minute(count: $window, format: “%Y-%m-%dT%H:%M:%SZ”)\n }\n baseCurrency {\n symbol\n address\n }\n quoteCurrency {\n symbol\n address\n }\n\n tradeAmount(in: USD)\n trades: count\n quotePrice\n maximum_price: quotePrice(calculate: maximum)\n minimum_price: quotePrice(calculate: minimum)\n open_price: minimum(of: block, get: quote_price)\n close_price: maximum(of: block, get: quote_price)\n }\n }\n}\n”,
“variables”: {
“baseCurrency”: “0x8c4b3dea4247f066f3aaff7273dc97e7d4187b04”,
“quoteCurrency”: “0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c”,
“since”: “2020-12-01T00:00:00.000Z”,
“till”: “2021-05-24T17:00:00.000Z”,
“window”: 60,
“exchangeAddresses”: [

Can you recreate the above API on our IDE and save it and share the link here, because I can’t read the query which you shared above.

1 Like

Here is the IDE link: GetCandleData

Contrast the 20 or so candles that come out of this query with the data available at (select 1h for equal comparison)

Thank you for your help!

1 Like

Check this and tell me, is this solve your problem?

Fantastic, it works!

Any idea why it doesn’t work with the exchange address but it works when the exchange name is provided?

Thank you so much :slight_smile:

Hi, I am experiencing the same issue with my query for 5-minute candles, there are gaps and missing candles. Can you please review this query and help me identify my error.

Can you point out with candle is missing exactly …

I also encountered this, for example check this example:

It gives:
1 3 5 6 8 9
So missing 2, 4 and 7

Interestingly it works fine again with 3 min candles

Not sure if you get notified when I reply, but guess you will now, see above

It is a bug. I have raised this issue with the technical team. They will come up with a solution asap.

Thank you :pray:, hpoefully it’s not too hard to fix

It has been almost a month, any update on this? Otherwise an alternative service that can provide it?

I am sorry for the inconvenience. This issue had been selected for development 3 weeks ago. I’ll notify you once this has been resolved or some alternate solution to this problem has been put up by the technical team. Once again, we apologize for the inconvenience caused to you.

Doesn’t seem to be resovled, any suggestion for another query service that does have the complete data?