Having access to real-time price data is crucial for making informed decisions. Unsurprisingly, many financial analysts and traders use Microsoft Excel to stay on top of their portfolio, track stock and crypto performance, asset details, profit and loss, return on investment (ROI), among other metrics. In order to fetch live price data conveniently, we’ll be utilizing Excel’s native Stocks integration feature and CoinGecko’s crypto API.
This step-by-step guide will walk through:
- How to import real-time stocks data into Excel
- How to import live crypto data into Excel (including coins in trending categories)
- Bonus: Setting up a P&L tracker for your investment portfolio
Let’s jump in!
Disclaimer: This guide is prepared for Microsoft Excel users operating on Windows, and Microsoft’s Stocks data is an Office 365 subscription-only feature.
Fetching Real-time Stocks Data in Excel
First, create a new spreadsheet on Microsoft Excel, labeling it ‘Stocks’. On cell A1, make a list of stocks you’re currently holding or that’s on your watchlist. This is the tab where you’ll import all stocks-related data using Excel’s native Data integration.
Once you’re done, select ‘Data’ in the top navigation bar. Highlight the row of stock tickers, and click on ‘Stocks’, which will activate the integration with Microsoft Bing’s database.
Next, click on the top right icon (‘Insert Data’), and a drop-down menu will appear:
Select all fields you’d like information on – for each selection, a new column will appear and populate accordingly. In this guide, we’ve kept it simple and included just four columns: Ticker, Price, Change, Price Change % and Market Cap.
Importing Live Crypto Data into Excel with CoinGecko API
Moving on to the more exciting part of pulling in live crypto data into Excel – head over to CoinGecko’s API documentation to retrieve the /coins/markets endpoint URL.
‘/coins/markets‘ is one of the most commonly used crypto API endpoints that traders, developers, projects and analysts rely on to fetch real-time crypto price data. With only two API calls on this endpoint, you can retrieve data of the top 500 cryptocurrencies listed on CoinGecko, which is typically enough for most. To import data for coins beyond the top 500 or smaller market cap cryptocurrencies, simply adjust the ‘Page’ parameters accordingly (each page displays 250 coins data).
Expanding the toggle on /coins/markets, click on ‘Try it out’ and fill in the parameters following the API playground prompts.
Leave the ‘ids’ parameter blank, and add the following inputs:
- Per_page: 250
- Page: 1
Customize the other fields according to your preferences. In this example, we’ve included:
- Vs_currency: usd
- Order: market_cap_desc (sorts market cap in descending order)
- Sparkline: true
- Price_change_percentage: 1h,24h
- Locale: en
- Precision: 3
Tip: If you’d like to import coins data for specific crypto categories rather than pulling in a whole list of top 250 or 500 cryptocurrencies, input the respective category id in the ‘category’ parameter field.
In the example below, we’ll look at pulling data for the ‘telegram-bots’ category.
Click on the ‘Execute’ button to generate the Request URL.
In our example, the Request URL for the top 250 cryptocurrencies is:
The Request URL for the next 250 cryptocurrencies (top 251 to 500) is:
As highlighted in yellow above, the key difference between the two Request URLs generated is the page number.
Finally, the Request URL for the Telegram Bots category is:
If ‘From Web’ is not available in your navigation bar, you can find it under Data > From Other Sources > From Web. If you’re a Mac OS user on Excel, you can instead rely on CryptoSheets, as this feature is applicable for Windows OS users only.
Upon clicking ‘From Web’, a pop-up window appears. Ensure the toggle is set to ‘Basic’, copy and paste the first Request URL into the input field and select ‘OK’.
It may take a while to establish a connection to API servers on the Public API plan.
Paid API users may tweak the Request URL to call from the root URL ‘https://pro-api.coingecko.com/api/v3/coins/markets’ and append in their Pro API key at the end of the URL. The URL structure will appear as:
Click on ‘To Table’ at the top right corner and select ‘OK’. You won’t need to select or enter a delimiter.
Select the expand icon beside Column1 and a drop-down menu will appear. As a default, all columns will be selected. You may also uncheck the box below that states ‘Use original column name as prefix’ so that columns will be cleanly labeled.
Select ‘OK’ and the data will be expanded into various columns. Next, click on ‘Close & Load’ and the data will populate into a new worksheet, which we’ll label as ‘Top 500 Crypto + Categories’ (we’ll be adding in more cryptocurrencies in subsequent steps).
Repeat this process, but this time using the second Request URL with the ‘Page’ parameter set to ‘2’. Instead of closing and loading this query immediately, we’ll import specific crypto categories data in the same manner as well. Given their recent rally, we’ve imported cryptocurrencies from Telegram Bots, Real World Assets and Animal Racing categories.
Now toggle back to the first query ‘/coins/markets1-250’ in the Power Query Editor and select ‘Append Queries’.
A dialogue box appears and you can toggle to ‘Three or more tables’ and select the tables to append accordingly. This essentially combines the top 500 crypto data with specific categories (Telegram Bots, Real World Assets and Animal Racing) from the /coins/markets/ API endpoint. Click on ‘OK’ and ‘Close & Load’.
In just a few clicks and under 5 minutes, you now have a real-time, functional Excel workbook importing stocks and crypto price data! Specifically for crypto, you have a consolidated list of top 500 cryptocurrencies data and coins from trending categories you’re watching.
Refreshing the Data
On Excel, you can toggle your preferred refresh frequency by navigating to Data > Refresh All > Connection Properties. Deselect ‘Enable background refresh’ and ‘Refresh every 30 minutes’ if you’d like to manually refresh and conserve the number of API calls made, or opt for a 10-min auto-refresh like in the screenshot below.
Finally, we’ll move on to how you can customize your stocks and crypto portfolio dashboard.
Bonus: Profit & Loss Tracker for Your Investment Portfolio
With real-time stocks and crypto price data being pulled into your Excel spreadsheet, you can easily customize your portfolio tracker based on trading preferences.
The example below shows a simple and straightforward tracker using the VLOOKUP formula, to extract data from the raw databases Stocks and Top 500 + Categories.
Tip: Use the =IMAGE(“url”) formula to bring the crypto coins images to life!
Add formulas in the gray columns accordingly:
- Holdings Value – Multiply Holdings # by Current Price. This depicts how much value your stocks and crypto holdings are worth, in fiat currency.
- P&L – The difference between Holdings Value and Total Invested, essentially your unrealized profit or loss, if the position was closed at that time.
- ROI % – Divide P&L by Total Invested to derive your Return on Investment, which determines how profitable your investment is. The higher your ROI, the more profitable your investment.
Finally, set up chart visualizations by selecting the relevant cells and navigating to Insert > Recommended Charts. You’re set!
For Day Traders: Recommended Analyst API Endpoints
Advanced traders who want access to more API endpoints, historical prices and avoid getting rate limited, may consider subscribing to our Analyst API plan. The CoinGecko API currently has 50+ endpoints, tracks 10,000+ coins across 700+ exchanges and 3,000+ NFT collections serving billions of API calls each month.
Advanced tracers might also find these useful API endpoints particularly useful:
- /coins/top_gainers_losers – get the top 30 coins with the largest price gains and losses based on specific time frames
- /global/market_cap_chart – get historical global market cap and volume data, by no. of days away from now
- /nfts/markets – track NFT floor prices, market cap and volume
If you require a custom solution, fill in the form below to get in touch with our API sales team: