Search API Connector Documentation
Import Coinbase Data to Google Sheets
In this guide, we’ll walk through how to pull cryptocurrency market data from the Coinbase Digital Currency API directly into Google Sheets, using the API Connector add-on for Sheets.
Coinbase doesn’t provide that much data via these endpoints (other crypto APIs are generally better in that respect), but it is easy to use and useful for getting a comprehensive list of exchange rates in one go.
This article also includes a template to access private account data.
- Before You Begin
- Part 1: Create your API Request URL
- Part 2: Pull Coinbase API Data into Sheets
- Part 3: More Example Coinbase API URLs
- Part 4: Get Private Coinbase Account Data
- Part 5: API Documentation
Before You Begin
Click here to install the API Connector add-on from the Google Marketplace.
Part 1: Create Your Coinbase API Request URL
We’ll first access the latest exchange rate data for Bitcoin.
- API root: https://api.coinbase.com
- Endpoint: /v2/exchange-rates
- Query String: ?symbol=BTC
Putting it together, we get the full API Request URL:
https://api.coinbase.com/v2/exchange-rates?currency=BTC
Part 2: Pull Coinbase API Data into Sheets
Now let’s get that data into Sheets.
- Open up Google Sheets and click Extensions > API Connector > Open.
- In the Create tab, enter the API URL we just created.
- Leave the OAuth and Headers sections empty. The market data part of the Coinbase API is public, so we don’t need any headers or other authentication.
- Create a new tab, and click Set current to use that tab as your data destination.
- Name your request, and click Run. A moment later you’ll see the latest exchange rate data for Bitcoin appear in your Google Sheet:
- If you’d like to see the data in columns instead of rows, create a second sheet and include the Sheets function
=transpose(BTC!1:2)
- If you only need some of those exchange rates, hit Edit Fields before running your request, and select just the fields you want to see in your sheet.
Part 3: More Example API URLs
Experiment with endpoints and query strings as described in the documentation to see other types of currency and crypto data from the API. For example, you can try the following URLs, one at a time (substitute in other currency symbols or dates, if you like).
- list of all currencies and corresponding symbols
https://api.coinbase.com/v2/currencies
- current spot price of any currency pair (the spot price is usually between the buy and sell price)
https://api.coinbase.com/v2/prices/BTC-USD/spot
- historical price snapshot of currency pair at a specified date
https://api.coinbase.com/v2/prices/BTC-USD/spot?date=2020-01-01
Part 4: Get Private Coinbase Account Data
The above endpoints deal with public market data from the Coinbase API.
If you are instead a Coinbase customer looking to get API data from your own account, they require a more complex authentication process that includes generating a “signature”.
To access your private account data, please copy this sheet and follow the instructions within.
Part 5: API Documentation
Official API documentation: https://developers.coinbase.com/v2
Im going to try this. I need to see how good or badly I’ve done this year. De-fi……
haha, good luck!
It would be nice to get additional information on syntax for Coinbase Pro.
Thanks for the suggestion. I don’t have a Coinbase Pro account myself to test with, but after checking the docs I think the biggest challenge will be with adding in the signature they describe here: https://docs.pro.coinbase.com/#signing-a-message. You’d need some custom code for that.
Update: You can use this sheet to connect to your private Coinbase account data: https://docs.google.com/spreadsheets/d/1mA31i-4E9yKQJ9rWBaICQBPesGfaGpazX6rZBz9JHqs/copy#gid=1147903952
I’m not able to generate a spot price between two cryptocurrencies, like the current price from BTC to DOT for example.
Is this possible?
Yeah, their documentation isn’t that clear on this point, but it seems the spot price endpoint only supports conversions to USD. But you could get this data by running
https://api.coinbase.com/v2/exchange-rates?currency=BTC
and finding the price of DOT within the response.can i also get my wallet balances using api?
Yes, you can use this sheet to connect to your private Coinbase account data: https://docs.google.com/spreadsheets/d/1mA31i-4E9yKQJ9rWBaICQBPesGfaGpazX6rZBz9JHqs/copy#gid=1147903952
Hello! I was wondering if it’s possible to get 2 different currencies (let’s say BTC and ETH) in one API GET request.
I’ve tried setting 2 API URLs on the same connector but it doesn’t work. I’ve tried setting 2 different connectors but the first one deletes de second one when it gets refreshed =/
Hi Nelson, you can see Coinbase’s documentation on this here: https://developers.coinbase.com/api/v2#get-spot-price
Based on that, they don’t enable 2 different currencies at once, so you’d either need to use API Connector’s multi-query functionality to make 2+ requests in a row, or you could just switch to a different crypto API that does let you get multiple currencies at once. For example, with Cryptocompare you’d make a request like
https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH&tsyms=USD
Thank you so much for this very useful tool. I’ve been following some crypto. Is there a way to display in a box the evolution of a crypto in percent for the last month? Always the evolution from a month from now to now.
Thank you!!
Max in Indonesia.
Sure, but Coinbase doesn’t provide a lot of info so I’d use a different API for this. For example this API call would give you 24h, 7d, 30d, 60d, and 90d percent changes for whatever coins you want:
https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=BTC
Hi, thanks for the info.
Do you know how connect to coinbase without addons. I mean, do you know how connect to coinbase from google sheet and get my wallet ?
I try to figure out….
If you Google “Coinbase apps script” or similar, you can find people who have written scripts to connect Sheets to Coinbase without add-ons. Or if you just want to get your private data, you can use this sheet.
Hello, really nice sheet it worked for me and I was able to get e. g. my user_id intro google sheets.
But is there an endpoint from coinbase with which I could import the total account balance, shown to me when I open the app, into google sheets?
Thanks a lot.
Sure, you can check their documentation for a list of all the data points they provide. I think this is what you’re looking for:
https://api.coinbase.com/v2/accounts