How To Get Bitcoin and Other Cryptocurrency Prices in Your Spreadsheet for Free

One penny saved is one penny earned.

The Backstory

CRYPTOFINANCE started as a community tool, linking your spreadsheet to dozens of different public APIs.

While the CRYPTOFINANCE started free, and kept providing all of its data for free for over a year, drastic changes on the API providers side called for a reality check.

2 API providers in particular.

CoinMarketcap

CoinMarkcap shut down their free public API and launched a Pro version in Dec 4, 2018. Along with this update they also changed their (data and API) terms of usage. This made CRYPTOFINANCE unable to keep providing data as before.

The solution was to purchase a subscription to their new Pro API with a commercial license. Still allowing users to access CoinMarketcap data for free for a modest usage, but asking for a small fee for unlimited data, hoping to cover the API cost.

CryptoCompare

CryptoCompare was used to provide historical data. But worked at best 50% of the time due to their free API quota limit. They then also updated their API terms and rolled up a new Pro API.

The solution was the same as for CoinMarketcap. CRYPTOFINANCE had to purchase a commercial license to keep distributing their data (reliably this time). With a quota for free for a hobbyist usage, and asking for a fee for unlimited data, in order to cover the upfront API subscription cost.

How to Use CRYPTOFINANCE for Free

By default calls like =CRYPTOFINANCE("BTC/USD") pull data from the CoinMarketcap API and have a quota (see above for why).

You can avoid that quota by connecting directly to each exchange API. For this you just need to prefix the call with the exchange name, with the EXCHANGE: syntax. You just need to check the market pair actually exist on the exchange.

  • Getting Bitcoin and other main coins price in USD, EUR, JPY, CAD, GBP

Kraken is recommended as they have a good volume to match CoinMarketcap prices, and have a lot of FIAT markets. Examples below.

=CRYPTOFINANCE("KRAKEN:BTC/USD")
=CRYPTOFINANCE("KRAKEN:BTC/EUR")
=CRYPTOFINANCE("KRAKEN:DASH/EUR")
=CRYPTOFINANCE("KRAKEN:LTC/JPY")
=CRYPTOFINANCE("KRAKEN:ADA/CAD")
=CRYPTOFINANCE("KRAKEN:BTC/GBP")
...
  • Main Altcoins data can be retrieved from Binance

Binance also has a good enough volume for most alts, so the prices are very close to CoinMarketcap’s. Here are some examples:

=CRYPTOFINANCE("BINANCE:ETH/BTC")
=CRYPTOFINANCE("BINANCE:BNB/BTC")
=CRYPTOFINANCE("BINANCE:XRP/BTC")
=CRYPTOFINANCE("BINANCE:GNO/ETH")
...
  • For very low cap coins, you can pull data from Cryptopia

They list thousands of low cap coins, and while volume might be low, the price will still matter to you if you buy/sell on their exchange.

=CRYPTOFINANCE("CRYPTOPIA:XXX/BTC")
=CRYPTOFINANCE("CRYPTOPIA:ARK/BTC")
=CRYPTOFINANCE("CRYPTOPIA:WC/BTC")
=CRYPTOFINANCE("CRYPTOPIA:DOGE/BTC")
...

You can check the list of all supported exchanges in the documentation (see menu on the left): https://cryptofinance.ai/docs/getting-started-with-cryptofinance/

Some exchanges even support a full listing, where you can pull all of the exchange market data with a single call. The syntax is as simple as this:

  • For Bittrex: =CRYPTOFINANCE("BITTREX")
  • For Kucoin: =CRYPTOFINANCE("KUCOIN")

The documentation provides details for when an exchange supports a full listing call.

If all this still happens to not be enough for you use case, please consider subscribing to the Data Availability Service for unlimited CoinMarketcap data and more function calls. I made it as low as$8.30/month when paid annually, and Bitcoin payment is accepted.