How to Create Notion Investment Tracker: Stocks, Crypto & More!
Tracking your investments doesn’t have to be complicated. Imagine opening Notion and seeing your entire portfolio—stocks, crypto, and other assets—updated in real-time, without any manual work. No more switching between apps or spreadsheets—just a clean, automated dashboard at your fingertips.
In this guide, you’ll learn how to set up a Notion Investment Tracker that automatically fetches live prices from free finance APIs, helping you stay on top of your investments effortlessly.
By leveraging the power of automation with the Note API Connector and the best free finance APIs, you can create a fully customized Notion Investment Tracker that fits your unique needs. Whether you're tracking stocks, cryptocurrencies, or ETFs, this step-by-step tutorial will walk you through the process—from setup to automation.
In this post we will cover:
Getting started with Note API Connector
You can get started in just a few clicks:
- Web App: Access directly Note API Connector Web App.
- Chrome Extension: Install the Note API Connector Chrome Extension to use Note API Connector in Notion.
Simply authenticate your Notion account, grant the necessary permissions, and start creating API requests effortlessly.
👉 Follow the official setup guide for step-by-step instructions.
Obtain Stocks Data
The key to a powerful Notion Investment Tracker is choosing the right finance API. Some APIs are great for real-time stock tracking, while others excel at batch updates or historical data. It's also important to note that specific finance APIs support specific stock exchanges—so be sure to choose one that covers the markets you're interested in. Let’s explore the best free options:
Not sure which API to use? Explore our Best Free Finance APIs Guide to find the right option for your investment tracker.
Using EODHD Free API
EODHD is a great choice if you want to track stock prices not just from the U.S., but also from global exchanges. It supports ETFs and cryptocurrencies too. What makes it especially useful is that it allows you to request prices for multiple companies at once, which saves time and keeps things simple.
If you need more api calls per day and you need to track only US stocks, check Financial Modeling Prep API
To get started with EODHD, you need to sign up for a free account. After creating an account, you can find your API key in the dashboard.


With that token in hand, you can use Live Price Data API to get real-time stock prices. For example, if you want to get latest prices of Apple, SAP and Airbus you can use this API:
https://eodhd.com/api/real-time/AAPL.US,SAP.XETRA,AIR.PA?api_token=YOUR_TOKEN&fmt=json
Just replace YOUR_TOKEN
with your actual token from the dashboard. You’ll get a response with up-to-date prices for all three companies.
Using Financial Modeling Prep's Free API
If your focus is mainly on U.S. stocks, then Financial Modeling Prep is another excellent option. Its free plan allows up to 250 data requests per day, which is much more generous than most free APIs. Like EODHD, it also supports batch requests—meaning you can ask for prices of Apple, Google, and Microsoft in one single request.
If you need more api calls or global coverage, you can check other free finance APIs Marketstack API or Alpha Vantage API .
To use Financial Modeling Prep's free API , you need to sign up for a free account. Go to site.financialmodelingprep.com/developer/docs/ and click Get my API Key here.

After creating free account, open your dashboard where you should find your API key.

Now, you need to use Company stock batch request to obtain multiple companies prices. For example if we want to get prices of Apple, Google, and Microsoft, we can use this API:
https://financialmodelingprep.com/api/v3/quote/AAPL,META,GOOG?apikey=****************
Take into account you can use the same approach to get prices for other assets such as crypto and ETFs. For example if you want to get prices of Apple, Microsoft, Bitcoin (USD) and SPY etf, you can use this API call:
https://financialmodelingprep.com/api/v3/quote/AAPL,META,BTCUSD,SPY?apikey=****************

Using Marketstack API
If you want to track data for international stocks, consider using the Marketstack API. Financial Modeling Prep’s free tier primarily supports U.S. stocks, while Marketstack offers access to 60+ global exchanges—even on its free plan. You can make up to 100 requests per month and retrieve multiple ticker prices in a single API call.
First, you need to sign up . Then, in your dashboard you can find api access key.

You can get the latest end-of-day (EOD) stock prices, use
/eod/latest
api call. For example, if you want to retrieve prices for Nvidia and Airbus, your request would look like this:
https://api.marketstack.com/v1/eod/latest?access_key=**************&symbols=NVDA,AIR.XPAR
When working with international stocks, make sure to use the format
ticker.exchange
(e.g. AIR.XPAR
for Airbus on the Paris Stock Exchange).
Using Alpha Vantage API
Alpha Vantage is another reliable option for getting stock prices, including those from international markets. However, it has one limitation—you can only get one stock price per request. That means if you want prices for five different stocks, you’d need to make five separate API calls.
If you want to use Alpha Vantage API, you need to claim free API key , which allows 25 requests per day.

When you get the API key, you can use Quote Endpoint to obtain ticker price. For example, if you want to get price of Airbus, you use the API:
https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=AIR.PA&apikey=************
Using Yahoo Finance
Yahoo Finance doesn’t offer a public API directly, but there are third-party services on RapidAPI that let you use Yahoo Finance data through a simple interface. Some of these services offer generous free tiers—typically 500 API calls per month.
To start, create a free RapidAPI account, search for “Yahoo Finance,” and select one of the providers. You’ll get an API key and documentation on how to make requests. This is a nice option if you specifically want Yahoo Finance’s data layout or prefer working within that ecosystem.
For example, you can use Yahu Financials. It's get quotes API endpoint supports batched requests, allowing you to retrieve multiple stock prices in a single call.
Keep in mind that in case you use Yahu Financials, you’ll need to specify the region
parameter, and handling international stocks can be slightly more complex due to region-specific symbols and formatting requirements.
Another thing to keep in mind is that APIs on RapidAPI often return responses in different formats, so you may need to use the Data Selector to access nested fields.
Import Stocks and Crypto Data
Now when we know which finance or crypto API we want to use, we are ready to import data into Notion. You can create our own custom template, or you can just grab and reuse my template. For the rest of this tutorial, I will be building the template and import data into it.
Clone my free Automated Investment Portfolio Tracker.
Create Assets Database
Create a new database called Assets. We will import stocks or crypto data with current prices into this database.
Add database properties
Symbol
,
Name
as text
,
Exchange
as text
, and
Current Price
as a number
, you can also set your preferred currency. If we are interested in other stock ticker data such as day low
, day high
, year low
, year high
,
you can add those as well.

Example: View a sample Assets Database
Import Stock and Crypto data into Notion
Return to Note API Connector and and create a new request by clicking Create request. Select the page where you want to import data. In this case, select Assets.

Paste the URL
https://financialmodelingprep.com/api/v3/quote/AAPL,META,GOOG?apikey=****************
from previous step into the URL field and click the Run button.

Now, you should see the API response with stocks data. As you can see, there are three rows. Each row represents data for each ticker. Before importing data, you need to map API fields to Notion database properties.

Then, click Save & Import and data are imported into Assets database.

Create Trades Database
Now we need to create a database where we track our individual trades. In this part we will be building Trades database.
Example: View a sample Trades Database
We link this database to Assets database. Create a new database property
Asset
and edit the property to link it to
Assets
database.

Next, we will create properties
Buy Price
as a number
,
Shares
as a number
and
Date of Purchase
as a date
.

Then, we will create a property
Current Price
as a
Rollup
property to reference the
Current Price
in Assets database.

After that, we will create a
Buy Value
property using the formula:
prop("Buy Price") * prop("Shares")

Following that, we will create a
Current Value
property using the formula:
toNumber(join(map(prop("Current Price"), format(current)), ",")) * prop("Shares")

Next, we will create a
$ up/down
property using the formula:
subtract(prop("Current Value"), prop("Buy Value"))

Additionally, we will create a
% up/down
property using the formula:
prop("Current Value") * 100 / prop("Buy Value") - 100

Lastly, we will create an
up/down
property using the formula:
if(prop("$ up/down") > 0, "📈", "📉")

Linking trades to current prices
Now when Trades database is ready to use, we can track individual trades, where we link each asset to Assets database.

For each trade, we just need to add the Buy Price, number of shares and Date of Purchase. The other data is linked from Assets database and calculated by formulas we created.


Expanding Assets Database
If you need to expand Assets Database, you just need to update your request to add/remove tickers. You can also expand your investments tracker to add crypto coins data, but in this case you will perhaps need to create a new request and import data from crypto api. For more info check the following tutorial.

You can also create custom charts and dashboards by using Notion charts.

You can easily visualize the current value of your portfolio if you create a donut chart for each asset, where each slice represents the current value.

Automate Your Portfolio Updates with Scheduled Runs
With scheduled runs in the Note API Connector, you can automate portfolio updates effortlessly. Instead of manually refreshing stock and crypto prices, simply set up a schedule once, and let the system handle the rest. This ensures that your Notion Investment Tracker stays accurate with live financial data, allowing you to focus on making informed investment decisions.

Conclusion
You now have a fully automated Notion Investment Tracker that fetches real-time stock and crypto prices with zero manual effort. By following this tutorial, you've gained the tools to create a robust Notion Investment Tracker tailored to your preferences.
Feel free to share your thoughts by leaving a comment or reaching out directly at [email protected] . Let's make managing your investments in Notion even better—together. 🚀
Frequently asked questions
You can use the Note API Connector to import live stock and crypto prices from free finance APIs into Notion. This allows you to sync stock data with Investment Portfolio Tracker template or your own custom template.
Yes, you can schedule API requests in Note API Connector to automatically update stock and crypto prices in your Notion database. Alternatively, you can manually refresh data anytime using the Refresh function.
No, you can simply update the parameters in your existing API requests. However, if you need to track assets that your current API provider does not support, you may need to create a new request with a different API provider.
The number of assets you can track for free depends on the API provider and how frequently you need to refresh stock and crypto data.
- Daily Updates: You can track more than 300 assets if you only update data once per day.
- Note API Connector Free Plan: Allows 3 requests and up to 10,000 response records per month.
- Batch API Support: To track a large portfolio efficiently, use an API provider that supports batch requests (most providers offer this feature).