KenDB3
KenDB3

Reputation: 141

Coinbase API v2 Getting Historic Price for Multiple Days

I'm having some trouble with a Coinbase.com API call for historical data.

Previously, I was getting a variable length of days that would match the amount of space available on a terminal screen with a request URL that looked like this:

https://api.coinbase.com/v2/prices/historic?currency=USD&days=76

This would pull the previous 76 days of price history. An example of the old output is here: https://gist.github.com/KenDB3/f071a06ab3ef1a899d3cd8df8b40a049#file-coinbase-historic-days-example-2017-12-23-json

This stopped working a few days ago. The closest I can get to this is with this request URL (though I don't get the data I want):

https://api.coinbase.com/v2/prices/BTC-USD/historic?days=76

The output from this can be seen here: https://gist.github.com/KenDB3/f071a06ab3ef1a899d3cd8df8b40a049#file-coinbase-historic-days-example-2018-07-19-json

In the second example, it is just displaying prices from the day of the query at different times of that day. What I really want is the first example output where it gives a single price per day going back as many days as the request is for.

The project this is connected to is here: https://github.com/KenDB3/SyncBTC

Links that do not work: https://api.coinbase.com/v2/prices/historic?currency=BTC-USD&days=76 (No Results) https://api.coinbase.com/v2/prices/BTC-USD/historic?2018-07-15T00:00:00-04:00 (Does not pull data from 7/15/2018)

Upvotes: 12

Views: 20181

Answers (2)

Phil_T
Phil_T

Reputation: 1002

Any reason you aren't using Coinbase Pro?

The new API is very easy to use. Simply add the get command you want followed by the parameters separated with a question mark. Here is the new historic rates api documentation: https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproductcandles

The get command with the new API most similar to prices is "candles". It requires three parameters to be identified, start and stop time in ISO format and granularity which is in seconds. Here is an example:

https://api.pro.coinbase.com/products/BTC-USD/candles?start=2018-07-10T12:00:00&end=2018-07-15T12:00:00&granularity=900

Also, note the time zone is not for your time zone, I believe it's GMT.


NOTE 2024

Coinbase Pro API is now deprecated:

2024-SEP-11

The Pro API (https://api.pro.coinbase.com) has been deprecated. For REST API access, leverage the Exchange API.

Upvotes: 26

DJW001
DJW001

Reputation: 153

Here is a wrapper for the CoinBase API for the export of Historical Data: https://pypi.org/project/Historic-Crypto/

It should provide the required outcome through invoking:

pip install Historic-Crypto
from Historic_Crypto import HistoricalData
new = HistoricalData('ETH-USD',300,'2020-06-01-00-00').retrieve_data()

for a full list of cryptocurrencies available:

pip install Historic-Crypto
from Historic_Crypto import Cryptocurrencies

data = Cryptocurrencies(extended_output=False).find_crypto_pairs()

Upvotes: 3

Related Questions