Search API Connector Documentation

Print

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

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.

  1. Open up Google Sheets and click Extensions > API Connector > Open.
  2. In the Create tab, enter the API URL we just created.
    coinbase-img1
  3. 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.
  4. Create a new tab, and click Set current to use that tab as your data destination.
  5. Name your request, and click Run. A moment later you’ll see the latest exchange rate data for Bitcoin appear in your Google Sheet:
    coinbase-results
  6. 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)
  7. 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

Previous Import CoinAPI Data to Google Sheets
Next Import CoinGecko Data to Google Sheets

16 thoughts on “Import Coinbase Data to Google Sheets”

  1. 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?

    Reply
    • 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.

      Reply
  2. 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 =/

    Reply
    • 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

      Reply
  3. 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.

    Reply
    • 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

      Reply
  4. 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….

    Reply
    • 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.

      Reply
  5. 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.

    Reply

Leave a Comment

Table of Contents