Track Bitcoin Price in Google Sheets (2026 Guide)
TL;DR
The fastest way to track Bitcoin price in Google Sheets is =CT_PRICE("BTC") using the CoinTable add-on. No API key, no code. You also get 24h change, market cap, volume, ATH, and rank — enough to build a complete BTC dashboard in under 5 minutes. Here are all 4 methods ranked by effort.
4 Ways to Get Bitcoin Price in Google Sheets
There are four methods to pull BTC price into a spreadsheet. Here's the quick comparison before we go deep on each one. For the full guide covering all cryptocurrencies, see how to get crypto prices in Google Sheets.
| Method | Formula | Setup Time | Coins | Real-Time | API Key |
|---|---|---|---|---|---|
| CoinTable | =CT_PRICE("BTC") | 30 sec | 10,000+ | Yes | No |
| GOOGLEFINANCE | =GOOGLEFINANCE("BTCUSD") | 0 sec | ~15 | 20-min delay | No |
| CoinGecko API | Custom function | 10 min | 10,000+ | Yes | Yes |
| Apps Script | Custom function | 15-30 min | Varies | Yes | Varies |
CoinTable, a Google Sheets add-on for cryptocurrency prices, is the recommended method. It gives you the most BTC data points with the least setup. If you're evaluating all available add-ons, see the best crypto add-ons for Google Sheets comparison.
Method 1: CoinTable (Recommended)
Install
- Open Google Sheets
- Go to Extensions → Add-ons → Get add-ons
- Search "CoinTable"
- Click Install
- Type
=CT_PRICE("BTC")in any cell
That's it. No API key. No account. No configuration.
Bitcoin Formulas
CoinTable gives you a dedicated formula for every BTC data point:
=CT_PRICE("BTC") → $84,215.00 Current price in USD
=CT_PRICE("BTC", "EUR") → €77,840.00 Current price in euros
=CT_CHANGE("BTC") → -1.82 24h price change (%)
=CT_ATH("BTC") → $108,786.00 All-time high price
=CT_MARKETCAP("BTC") → $1,672,000,000,000 Market cap
=CT_VOLUME("BTC") → $38,200,000,000 24h trading volume
=CT_RANK("BTC") → 1 Market cap rank
=CT_SUPPLY("BTC") → 19,840,000 Circulating supply
Every formula uses the same pattern: function name + ticker. No full coin names, no currency pair suffixes, no exchange identifiers. Just "BTC".
Price in Different Currencies
CoinTable supports 50+ fiat currencies. Add the currency code as a second argument:
=CT_PRICE("BTC", "USD") US Dollar
=CT_PRICE("BTC", "EUR") Euro
=CT_PRICE("BTC", "GBP") British Pound
=CT_PRICE("BTC", "JPY") Japanese Yen
=CT_PRICE("BTC", "CHF") Swiss Franc
=CT_PRICE("BTC", "AUD") Australian Dollar
=CT_PRICE("BTC", "CAD") Canadian Dollar
=CT_PRICE("BTC", "BRL") Brazilian Real
Method 2: GOOGLEFINANCE
=GOOGLEFINANCE("BTCUSD")
Built into Google Sheets — no installation needed. Returns the Bitcoin price in USD with an approximately 20-minute delay.
Limitations: Only returns price. No market cap, no volume, no 24h change, no historical crypto data. Only supports USD. For the full breakdown, read GOOGLEFINANCE crypto limitations.
This method works if you literally only need a single delayed BTC price and nothing else.
Method 3: CoinGecko API
function BTC_PRICE() {
const API_KEY = "YOUR_DEMO_KEY";
const url = `https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd&x_cg_demo_api_key=${API_KEY}`;
const response = UrlFetchApp.fetch(url);
const data = JSON.parse(response.getContentText());
return data.bitcoin.usd;
}Then use =BTC_PRICE() in your sheet.
Requirements: CoinGecko account, API key (free Demo tier available), Apps Script knowledge. Setup takes 5-10 minutes.
When to use: If you need historical BTC price data over time, CoinGecko's API is currently the best free source. For current price tracking, CoinTable is simpler.
Method 4: Direct Apps Script (Any API)
You can write custom Apps Script functions that call any public API — Binance, Coinbase, CryptoCompare, etc.
function BTC_PRICE_BINANCE() {
const url = "https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT";
const response = UrlFetchApp.fetch(url);
const data = JSON.parse(response.getContentText());
return parseFloat(data.price);
}When to use: If you need exchange-specific pricing (e.g., Binance BTC price vs. Coinbase BTC price) or you're already comfortable with Apps Script.
Downsides: You maintain the code. APIs change endpoints, rate limits, and authentication requirements. When they do, your spreadsheet breaks until you fix the script.
Build a BTC Dashboard in 5 Minutes
Here's a complete Bitcoin dashboard layout using CoinTable formulas. Create a new sheet and set it up like this:
Dashboard Layout
| Cell | Label | Formula |
|---|---|---|
| A1 | Bitcoin Dashboard | (header, merge A1:B1) |
| A3 | Price (USD) | =CT_PRICE("BTC") |
| A4 | Price (EUR) | =CT_PRICE("BTC", "EUR") |
| A5 | 24h Change | =CT_CHANGE("BTC") |
| A6 | Market Cap | =CT_MARKETCAP("BTC") |
| A7 | 24h Volume | =CT_VOLUME("BTC") |
| A8 | All-Time High | =CT_ATH("BTC") |
| A9 | ATH Change | =CT_ATHCHANGE("BTC") |
| A10 | Market Rank | =CT_RANK("BTC") |
| A11 | Circulating Supply | =CT_SUPPLY("BTC") |
Formatting Tips
- Column A: Labels, bold, 150px width
- Column B: Formulas/values, right-aligned, 200px width
- Price cells: Format as Currency ($)
- Change cells: Format as Percentage (%) and add conditional formatting — green for positive, red for negative
- Market Cap/Volume: Format as Number with no decimals, or use a custom format like
$#,##0,,"M"to show millions
Add a Holdings Tracker Below
| Cell | Label | Formula |
|---|---|---|
| A13 | My BTC Holdings | (header) |
| A14 | Amount (BTC) | 0.5 (your amount) |
| A15 | Avg Buy Price | $45,000 (your cost basis) |
| A16 | Current Value | =B14 * CT_PRICE("BTC") |
| A17 | Cost Basis | =B14 * B15 |
| A18 | Profit/Loss ($) | =B16 - B17 |
| A19 | Profit/Loss (%) | =(B16 - B17) / B17 |
This gives you a one-page BTC command center: current market data on top, your personal position below.
Auto-Refresh Setup
By default, CoinTable formulas update when you open the spreadsheet or manually recalculate (Ctrl+Shift+F9 on Windows, Cmd+Shift+F9 on Mac).
For automatic background refreshing:
Free Tier — Manual Refresh Trigger
Create a simple Apps Script trigger to force recalculation on a schedule:
- Go to Extensions → Apps Script
- Add this function:
function refreshSheet() {
const sheet = SpreadsheetApp.getActiveSpreadsheet();
const range = sheet.getActiveSheet().getDataRange();
range.setValues(range.getValues());
}- Set a time-driven trigger to run it every hour or every 4 hours
This forces the sheet to re-evaluate all formulas, including CoinTable functions.
Plus Plan — Built-in Auto-Refresh
CoinTable Plus ($5/month) includes native auto-refresh. Prices update automatically without any script setup. If you're checking your BTC dashboard multiple times a day, this pays for itself in convenience.
Beyond Bitcoin
Once your BTC dashboard is working, extending it to other coins is trivial. The same formulas work for every supported cryptocurrency — just change the ticker:
=CT_PRICE("ETH") Ethereum
=CT_PRICE("SOL") Solana
=CT_PRICE("DOGE") Dogecoin
=CT_PRICE("ADA") Cardano
For an Ethereum-specific setup, see track Ethereum price in Google Sheets. For a broader multi-coin tracker, check out track altcoin prices in Google Sheets.
The complete list of formulas and their arguments is in the crypto formulas cheat sheet.
Quick Reference
| Task | Formula |
|---|---|
| BTC price in USD | =CT_PRICE("BTC") |
| BTC price in EUR | =CT_PRICE("BTC", "EUR") |
| BTC 24h change % | =CT_CHANGE("BTC") |
| BTC market cap | =CT_MARKETCAP("BTC") |
| BTC 24h volume | =CT_VOLUME("BTC") |
| BTC all-time high | =CT_ATH("BTC") |
| BTC rank | =CT_RANK("BTC") |
| BTC supply | =CT_SUPPLY("BTC") |
| BTC value of holdings | =CT_PRICE("BTC") * your_amount |
| BTC profit/loss | =CT_PRICE("BTC") * qty - avg_cost * qty |
Install CoinTable from Google Workspace Marketplace, type =CT_PRICE("BTC"), and your Bitcoin dashboard is live.
Frequently Asked Questions
How do I get the Bitcoin price in Google Sheets?
Install the CoinTable add-on and type =CT_PRICE("BTC") in any cell. You can also use =GOOGLEFINANCE("BTCUSD") for a delayed price, but it only works for BTC and a few other major coins.
Is the Bitcoin price in Google Sheets real-time?
CoinTable provides near real-time Bitcoin prices that update on refresh. GOOGLEFINANCE prices are delayed by approximately 20 minutes. For auto-refresh, CoinTable Plus subscribers get automatic updates.
Can I get the Bitcoin price in euros in Google Sheets?
Yes. With CoinTable, use =CT_PRICE("BTC", "EUR") for euros, =CT_PRICE("BTC", "GBP") for pounds, or any of 50+ fiat currencies as the second argument.
How do I track Bitcoin all-time high in Google Sheets?
Use =CT_ATH("BTC") to get the Bitcoin all-time high price. CoinTable also provides =CT_HIGH("BTC") for the 24-hour high and =CT_LOW("BTC") for the 24-hour low.
Can I track Bitcoin market cap in Google Sheets?
Yes. Use =CT_MARKETCAP("BTC") for the current Bitcoin market capitalization and =CT_RANK("BTC") for its market cap rank (currently #1).
Stop copying prices manually
Free covers 300 requests a month. Plus is $5/month for unlimited requests and 10,000+ coins.
Related Articles
View allGOOGLEFINANCE Crypto — Limitations & Better Alternatives (2026)
GOOGLEFINANCE only supports ~10 crypto coins with 20-min delay. Learn its limitations and switch to CoinTable for 10,000+ coins in Google Sheets.
8 min readCrypto Portfolio Tracker in Google Sheets (Free Template, 2026)
Build a free crypto portfolio tracker in Google Sheets with CoinTable. Live prices, P&L, 24h changes. Step-by-step guide with formulas.
10 min readTrack Ethereum Price in Google Sheets (2026)
Get live Ethereum (ETH) price in Google Sheets with =CT_PRICE("ETH"). Track price, market cap, staking context. Free, no API key needed.
7 min read