Import CoinMarketCap API Data to Airtable

In this guide, we'll look at how to import cryptocurrency prices to Airtable using the CoinMarketCap API. CoinMarketCap is an online source of crypto market data, which they make available through their API. We'll use this API and the Data Fetcher app to create a crypto portfolio tracker in Airtable.

Install Data Fetcher

Get CoinMarketCap API Key

  • Go to https://coinmarketcap.com/api/ and click 'Get Your API Key Now'.
  • Fill in your details and create a free CoinMarketCap account.
  • You'll receive an email from CoinMarketCap. Click 'Verify My Account' in the email.
  • In your CoinMarketCap account, click 'Copy Key' and make a note of it somewhere secure.

Create Output Table

  • Create a table in your base called 'Coins'.
  • Add a field called 'Id' with type number (integer) to match CoinMarketCap's numerical ids.
  • Add a field called 'Price' with type 'Currency' and the maximum precision (number of decimal places).
  • Add a field called 'Last Updated' with type 'Date time'.
Screenshot 2021-02-24 at 09.09.57.png

Import CoinMarketCap API Data to Airtable

  • On the home screen of the Data Fetcher app, click 'Create request'.

Screenshot 2021-02-17 at 16.12.14.png

  • On the create request screen, enter the request name 'Fetch Coin Prices'.

Based on the CoinMarketCap API documentation, the base URL for all API requests is 'https://pro-api.coinmarketcap.com/v1/'. We'll use the '/v1/cryptocurrency/listings/latest' endpoint to get price data for every available coin. We'll also include a parameter with the name 'limit' and a value of '5000', so that we fetch every available coin (CoinMarketCap currently tracks 4214 coins). If you don't need this many coins, you can use a lower value than 5000.

  • Enter this URL on the create request screen:

https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?limit=5000

  • Add a header with the name 'X-CMC_PRO_API_KEY' and the value of your CoinMarketCap API key that you made a note of earlier.
  • Set the output table to the 'Coins' table by clicking 'Use current'.
  • Set the output view to 'Grid view' by clicking 'Use current'.
Screenshot 2021-03-02 at 11.58.31.png
  • Click 'Run'. You'll see a loading message while the request runs, then the response field mapping modal will open.
  • Click 'Filter all' to remove all fields, then re-add the following field mappings:
    • 'data.id' -> 'Id'
    • 'data.name' -> 'Name'
    • 'data.quote.USD.price' -> 'Price'. Change the 'Data type' to 'Currency' first.
    • 'data.last_updated' -> 'Last Updated'
  • Click 'Confirm'. The request will now run again and update our 'Coins' table.
  • Click 'Advanced' to open the Advanced settings and under 'Update based on Field', choose the 'Id' field. The app will use this field to ensure the coins in your base match those in CoinMarketCap.
  • Click 'Save'.

Build a Crypto Portfolio Tracker in Airtable

  • Create a table in your base called 'Portfolio'.
  • Change the primary field to 'Id' with type 'Autonumber'.
  • Add a field called 'Coin' that is linked to the 'Coins' table.
  • Add a field called 'Price' that is a lookup of the 'Coin' field's price.
  • Add a single select field called 'Exchange' with some options for the coin exchanges you use, e.g. 'Binance', 'Coinbase' e.t.c.
  • Add a field called 'Balance' with type 'Number'. This is how much of the coin you have in that exchange.
  • Add a formula field called 'Value (USD)' with the formula '{Price}*Balance' and select 'Currency' formatting with the maximum precision.
Screenshot 2021-02-24 at 09.53.15.png

Update Crypto Prices Automatically

At the moment we have to update our coin prices by manually clicking the 'Run' button. Let's configure them to update automatically by using Data Fetcher's scheduled requests feature.

  • In Data Fetcher, scroll to 'Schedule'.
  • You will need a paid account to use this feature, so click the link to upgrade your account if you haven't already. After upgrading, click the 'I've done this' button.
  • Add your Airtable API key if you haven't already.
  • Turn on 'Schedule this API request'.
  • Set how often you want the request to run.
  • Click 'Save'.