Bug Report: Candle request - data is broken

I’m doing sanity checks on the data that Coinbase sends using the advanced trade candle requests, and I get there are missing bars where no transactions occurred.

But there are whole swathes of data missing at times which you can verify exist by looking on the manual charts for advanced trade.

For example, this date range was missing from Fil-Eur.

13/11/2022 04:00
13/11/2022 03:00
13/11/2022 02:00
13/11/2022 01:00
13/11/2022 00:00
12/11/2022 23:00
12/11/2022 22:00
12/11/2022 21:00
12/11/2022 20:00
12/11/2022 19:00
12/11/2022 18:00
12/11/2022 17:00
12/11/2022 16:00
12/11/2022 15:00
12/11/2022 14:00
12/11/2022 13:00
12/11/2022 12:00
12/11/2022 11:00
12/11/2022 10:00
12/11/2022 09:00
12/11/2022 08:00
12/11/2022 07:00
12/11/2022 06:00

There are plenty more gaps like this in the data.

I have tested this three times and each time different data was missing.

This is really broken and requires fixing urgently.

3 Likes

Hi @dazman! Thank you for taking an interest in our Coinbase APIs. We are happy to help but in order for us to further assist you, we need the following information:

Once you send us the information requested above, we’ll work to quickly address this issue.

We appreciate your patience and understanding. Have a great day! :sunrise_over_mountains:

2 Likes

I made this series of requests to the API. The date times are incremented as so within a for loop:

I’d also like to note that the volume data does not match what can be seen on the charts.

The chart also has volume on candles where the price never appeared to change, so I’m guessing there’s some rounding errors somewhere affecting the API.

The relevant portion:

            if (i > 0) {
                start = end.AddHours(-1);
            }

            end = start.AddHours(-299);

            PrepareEndRequest(end, start, _period);
            await GetCandles();

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1669759200&end=1670835600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1668679200&end=1669755600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1667599200&end=1668675600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1666515600&end=1667595600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1665435600&end=1666512000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1664355600&end=1665432000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1663275600&end=1664352000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1662195600&end=1663272000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1661115600&end=1662192000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1660035600&end=1661112000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1658955600&end=1660032000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1657875600&end=1658952000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1656795600&end=1657872000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1655715600&end=1656792000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1654635600&end=1655712000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1653555600&end=1654632000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1652475600&end=1653552000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1651395600&end=1652472000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1650315600&end=1651392000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1649235600&end=1650312000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1648159200&end=1649232000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1647079200&end=1648155600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1645999200&end=1647075600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1644919200&end=1645995600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1643839200&end=1644915600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1642759200&end=1643835600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1641679200&end=1642755600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1640599200&end=1641675600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1639519200&end=1640595600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1638439200&end=1639515600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1637359200&end=1638435600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1636279200&end=1637355600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1635195600&end=1636275600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1634115600&end=1635192000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1633035600&end=1634112000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1631955600&end=1633032000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1630875600&end=1631952000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1629795600&end=1630872000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1628715600&end=1629792000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1627635600&end=1628712000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1626555600&end=1627632000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1625475600&end=1626552000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1624395600&end=1625472000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1623315600&end=1624392000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1622235600&end=1623312000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1621155600&end=1622232000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1620075600&end=1621152000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1618995600&end=1620072000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1617915600&end=1618992000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1616839200&end=1617912000&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1615759200&end=1616835600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1614679200&end=1615755600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1613599200&end=1614675600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1612519200&end=1613595600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1611439200&end=1612515600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1610359200&end=1611435600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1609279200&end=1610355600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1608199200&end=1609275600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1607119200&end=1608195600&granularity=ONE_HOUR

Get:https://api.coinbase.com/api/v3/brokerage/products/FIL-EUR/candles?start=1606039200&end=1607115600&granularity=ONE_HOUR

1 Like

Hi @dazman! :wave:

The team is aware of this and is working on the missing data bug. In the meantime, we suggest you utilize the Coinbase Pro/Exchange Get Product Candles endpoint not until we resolve this issue.

Thank you so much for your patience and understanding. Hope you have a great day!

1 Like

Any update on the missing data bug?

I’ve found there is a 6 hour gap when using the API to get 2-hour candles for multiple altcoin tickers including sol-usd, ada-usd, atom-usd. But there is no gap on the 2h for btc-usd, so I know my requests are correct.

The timestamp in question starts at 1677945600, which is
2023-03-04 16:00:00 UTC, after which 2 candles are missing.

A cut of the response (ascending time order) for sol-usd TWO_HOUR, showing that after timestamp 1677945600, the next timestamp is 1677967200, 6 hours later.

{"start": "1677924000", "low": "21.07", "high": "21.24", "open": "21.19", "close": "21.16", "volume": "33458.352"}, 
{"start": "1677931200", "low": "21.07", "high": "21.2",  "open": "21.16", "close": "21.11", "volume": "29379.008"}, 
{"start": "1677938400", "low": "20.94", "high": "21.17", "open": "21.12", "close": "20.95", "volume": "84544.965"},
{"start": "1677945600", "low": "20.8",  "high": "21.02", "open": "20.94", "close": "20.86", "volume": "12771.524"}, 
{"start": "1677967200", "low": "20.32", "high": "21.01", "open": "20.86", "close": "20.98", "volume": "24909.293"}, 
{"start": "1677974400", "low": "20.94", "high": "21.71", "open": "20.99", "close": "21.45", "volume": "175525.93"}, 
{"start": "1677981600", "low": "20.97", "high": "21.51", "open": "21.45", "close": "21.34", "volume": "195061.892"}, 
{"start": "1677988800", "low": "21.3",  "high": "21.44", "open": "21.34", "close": "21.32", "volume": "82520.26"}, 
{"start": "1677996000", "low": "21.23", "high": "21.35", "open": "21.33", "close": "21.3", "volume": "64826.97"},