[PLUS] SOLVED: Coinbase Candlestick OHLC Data for ANY timeframe with Python

You ask; we deliver! Downloading historical candlestick data from the Coinbase API can be a little tricky and confusing at first; and the documentation they offer does not provide a straight forward solution. We've put together fully commented and executable code below that will enable you to download any cryptocurrency pair from the Coinbase API over any timeframe and for any time granularity (Day, Hour, 15minute, 5minute and 1minute).

We use 3 new helper functions in this Python script to help us convert between date formats necessary. The Coinbase API expects a date to be passed in this format: "YYYY-MM-DDTHH:MM:SS" or what looks like this: "2016-07-01T:00:00:00". However, the Coinbase API only returns dates as a unix (epoch) timestamp. So we need a function to (1) convert unix timestamp to a date string (2)convert date string to a unix timestamp and (3) calculate a new unix date that is 300 periods before the last unix timestamp using the interval we specify. The reason we need to do this is because Coinbase only allows you to return up to 300 candlestick data points at a time. Any requests that ask for more OHLCV candlesticks than 300 are rejected and fail. Ultimately, this Python script will save a CSV file with the results to your computer.

As always, we fully comment every line of code and document all of our thought process - This gives you an advantage to modify, change, or replicate to your given purpose.
This is a premium post. Create Plus+ Account to view the live, working codebase for this article.

Notice: Information contained herein is not and should not be construed as an offer, solicitation, or recommendation to buy or sell securities. The information has been obtained from sources we believe to be reliable; however no guarantee is made or implied with respect to its accuracy, timeliness, or completeness. Author does not own the any crypto currency discussed. The information and content are subject to change without notice. CryptoDataDownload and its affiliates do not provide investment, tax, legal or accounting advice.

This material has been prepared for informational purposes only and is the opinion of the author, and is not intended to provide, and should not be relied on for, investment, tax, legal, accounting advice. You should consult your own investment, tax, legal and accounting advisors before engaging in any transaction. All content published by CryptoDataDownload is not an endorsement whatsoever. CryptoDataDownload was not compensated to submit this article. Please also visit our Privacy policy; disclaimer; and terms and conditions page for further information.

Latest Posts
Follow Us
Notify me of new content