Track Crypto Prices & FX Rates with CoinGecko & ExchangeRate-API to Notion

Go to Workflow
0 views
Built by David Olusola David Olusola
Created on June 05, 2026

Description

📊 Log BTC/ETH Prices and USD Exchange Rates to Notion (Hourly)

📌 Overview
This workflow automatically logs live crypto prices (Bitcoin & Ethereum) and fiat exchange rates (USD→EUR / USD→NGN) into a Notion database every hour. Each entry becomes a new row in your Notion dashboard, letting you visualize currency and crypto trends side by side.

It’s perfect for traders, analysts, and anyone who wants a single source of truth in Notion without needing multiple apps open. With hourly updates, you’ll have a clean data history for building rollups, trend graphs, or financial dashboards.

⚙️ How it works
Schedule Trigger — runs every hour (adjustable via cron).
HTTP Request (ExchangeRate-API) — fetches USD-base FX rates (no API key required).
HTTP Request (CoinGecko) — fetches BTC & ETH prices + 24h % change (no API key required).
Merge — combines both payloads.
Code (v2) — formats a Notion-ready JSON payload with the correct fields.
Notion Node — creates a new page in your database with mapped properties.

Example Row in Notion:
Title: Crypto+FX — 2025-09-08 09:00
BTC: 112,417 | BTC_24h: +1.22%
ETH: 4,334.57 | ETH_24h: +1.33%
USD→EUR: 0.854 | USD→NGN: ₦1,524.54

đź›  Setup Guide

1) Create the Notion database
In Notion, create a new database (Table view).
Add these columns with matching property types:

| Column | Property Type |
|------------|---------------|
| Title | Title |
| BTC | Number |
| BTC_24h | Number |
| ETH | Number |
| ETH_24h | Number |
| USD_EUR | Number |
| USD_NGN | Number |

2) Connect Notion in n8n
In the Notion “Create Page” node, connect with your Notion OAuth2 credentials.
On first use, you’ll be redirected to authorize n8n with your Notion workspace.
Copy your Database ID (from the Notion URL) and paste it into the node.

3) Map the Code output
The Code node outputs JSON fields: BTC, BTC_24h, ETH, ETH_24h, USD_EUR, USD_NGN.
In the Notion node, map each property:
BTC → {{$json.BTC}}
BTC_24h → {{$json.BTC_24h}}
ETH → {{$json.ETH}}
ETH_24h → {{$json.ETH_24h}}
USD_EUR → {{$json.USD_EUR}}
USD_NGN → {{$json.USD_NGN}}

4) Test
Run the workflow once.
Confirm that a new page is added to your Notion database with all values filled.

🎛 Customization
Cadence:** change the schedule to 10 minutes, 4 hours, or daily depending on your needs.
Extra coins:** add more IDs (e.g., solana, bnb) in the CoinGecko call and update the Code node.
Extra FX pairs:** expand from ExchangeRate-API (e.g., USD→GBP, USD→ZAR).
Notion dashboards:** use rollups, charts, and linked databases for trend visualization.
Formatting:** add emojis, colors, or sections in your Notion view for clarity.

đź§© Troubleshooting
Page not created:** verify Database ID and ensure the Notion API integration has access.
Empty fields:** check that property names in Notion exactly match those used in the Code node.
Wrong data type:* make sure properties are set as *Number**, not Text.
Rate limits:** CoinGecko and ExchangeRate-API are free but may rate-limit if called too often; keep cadence reasonable (hourly recommended).

Nodes Used (3)

Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest
Notion
n8n-nodes-base.notion