Plus+
Python
How to Retrieve Every BTCUSD Trade Tick From Coinbase Using Python

Although we believe it would take considerable time to do so in practice, we will demonstrate how to pull every historical BTCUSD historical transaction from Coinbase. First, it is important to note that "trade ticks" are different from our typical Open, High, Low, Close (OHLC) timeseries data. These are actual historical transactions between a buyer and a seller at the exchange. So, you can imagine that for a popular exchange like Coinbase, there are going to be millions of transactions! In fact, if we look at the latest entries returned by the API. there are over 330 million BTCUSD transactions that have taken place. So in order to capture the full transaction history, (and only being able to pull 1,000 transactions at a time due to API limits), it would take estimated 330,000 API calls, assuming they all succeed on the first try. Quite the task! *Disclaimer- Be sure to review Coinbase's Terms of Service for API usage - For informational purposes only*
The Coinbase API actually makes the gathering of transaction data fairly easy with their pagination options. We will use python to download the data from Coinbase and then save the data to a database. Our recommendation for storage is definitely a database given the sheer size of the data. In our python script, we will combine the pagination with a loop to retrieve the transaction data. As always, every line of code is commented so that you know exactly what each line of code does.
The Coinbase API actually makes the gathering of transaction data fairly easy with their pagination options. We will use python to download the data from Coinbase and then save the data to a database. Our recommendation for storage is definitely a database given the sheer size of the data. In our python script, we will combine the pagination with a loop to retrieve the transaction data. As always, every line of code is commented so that you know exactly what each line of code does.
Plus+ membership required
Create a Plus+ account to view the live codebase.
This article has a fully working, notebook-ready code block. Sign up for Plus+ to access it and the rest of the 20+ premium articles.
Subscribe to Plus+ Browse Plus+ articles