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. For this example we’ll only access Coinbase’s open, unauthenticated endpoints, so we don’t need to get an API key. Coinbase doesn’t provide that much data via these endpoints (CoinGecko is generally better in that respect), but it is easy to use and useful for getting a comprehensive list of exchange rates in one go.

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 follow the Coinbase API documentation to access the latest exchange rate data for Bitcoin.

  • API root: https://api.coinbase.com
  • Endpoint: /v2/exchange-rates
  • Query String: ?symbol={{currency}}
    Query String Example: ?currency=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

We can now enter all our values into API Connector and import Coinbase API data into Google Sheets.

  1. Open up Google Sheets and click Add-ons > API Connector > Open.
  2. In the Create tab, enter the API URL we just created.
    coinbase-img1
  3. Leave the Headers section empty. The market data part of the Coinbase API is public, so we don’t need any headers or other authentication. We don’t need extra authentication either, so just leave that set to None.
  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-img2
  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)

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

P.S. For dozens of other step-by-step guides for connecting crypto (and other) APIs to Google Sheets, click here: Knowledge Base

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

12 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

Leave a Comment

Table of Contents