AutomationFlowsWeb Scraping › Create a Btc/eth Price & Usd Exchange Rate API with Coingecko & Exchangerate-api

Create a Btc/eth Price & Usd Exchange Rate API with Coingecko & Exchangerate-api

ByDavid Olusola @dae221 on n8n.io

Spin up a tiny, serverless-style API from n8n that returns BTC/ETH prices & 24h changes plus USD→EUR and USD→NGN from public, no-key data sources. Ideal for dashboards, low-code apps, or internal tools that just need a simple JSON feed. Webhook (GET /crypto-fx) — entrypoint for…

Webhook trigger★★★★☆ complexity7 nodesHTTP Request
Web Scraping Trigger: Webhook Nodes: 7 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #8389 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "f43de1da-85c9-4e07-87b2-e3d54aba8cfd",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -704,
        -16
      ],
      "parameters": {
        "path": "crypto-fx",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 1
    },
    {
      "id": "53645dd6-4117-4e41-b958-5d3bfc022f6a",
      "name": "Get Fiat Exchange Rates",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -496,
        -80
      ],
      "parameters": {
        "url": "https://api.exchangerate-api.com/v4/latest/USD",
        "options": {}
      },
      "typeVersion": 4.1
    },
    {
      "id": "9d0c77d1-67bc-4030-93d2-75ca981bb504",
      "name": "Get Crypto Prices",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -496,
        80
      ],
      "parameters": {
        "url": "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum&vs_currencies=usd&include_24hr_change=true",
        "options": {}
      },
      "typeVersion": 4.1
    },
    {
      "id": "9bd74632-a79c-4076-b75d-2a7550325356",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        -304,
        0
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "89163b24-4f91-4a12-b260-d00b47849a73",
      "name": "Build JSON",
      "type": "n8n-nodes-base.code",
      "position": [
        -96,
        0
      ],
      "parameters": {
        "jsCode": "let fx,cg;for(const it of $input.all()){ if(it.json?.rates) fx=it.json; if(it.json?.bitcoin) cg=it.json; }\nconst payload={\n  btc:{ price: cg?.bitcoin?.usd ?? null, change_24h: cg?.bitcoin?.usd_24h_change ?? null },\n  eth:{ price: cg?.ethereum?.usd ?? null, change_24h: cg?.ethereum?.usd_24h_change ?? null },\n  usd_eur: fx?.rates?.EUR ?? null,\n  usd_ngn: fx?.rates?.NGN ?? null,\n  ts: new Date().toISOString()\n};\nreturn [{json: payload}];"
      },
      "typeVersion": 2
    },
    {
      "id": "70a8ddb0-b644-4344-a17f-1cadbb8074e6",
      "name": "Respond",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        128,
        0
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "28ab2e99-d2cc-420c-9e5f-c73fd14639c0",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        -208
      ],
      "parameters": {
        "width": 544,
        "height": 640,
        "content": "## \ud83c\udf10 Crypto + FX Micro-API (Webhook JSON)\n\n**What it does:**  \nExposes a lightweight **GET** endpoint that returns **BTC/ETH price + 24h %** and **USD\u2192EUR / USD\u2192NGN** in clean JSON.\n\n**Route:**  \n`/webhook/crypto-fx` (use n8n\u2019s Test or Production URL)\n\n**Flow:**  \n**Webhook (GET)** \u2192 ExchangeRate-API \u2192 CoinGecko \u2192 **Merge** \u2192 **Code (build JSON)** \u2192 **Respond**\n\n**Example Response:**  \n```json\n{\n  \"btc\": { \"price\": 112417, \"change_24h\": 1.22 },\n  \"eth\": { \"price\": 4334.57, \"change_24h\": 1.33 },\n  \"usd_eur\": 0.854,\n  \"usd_ngn\": 1524.54,\n  \"ts\": \"2025-09-08T08:00:00.000Z\"\n}\n"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Build JSON",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Get Fiat Exchange Rates",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get Crypto Prices",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build JSON": {
      "main": [
        [
          {
            "node": "Respond",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Crypto Prices": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Fiat Exchange Rates": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Spin up a tiny, serverless-style API from n8n that returns BTC/ETH prices & 24h changes plus USD→EUR and USD→NGN from public, no-key data sources. Ideal for dashboards, low-code apps, or internal tools that just need a simple JSON feed. Webhook (GET /crypto-fx) — entrypoint for…

Source: https://n8n.io/workflows/8389/ — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Web Scraping

This n8n workflow automatically tracks hotel room prices, detects price drops, and sends real-time email alerts with savings calculations. It continuously monitors multiple hotels and room types to he

HTTP Request, Email Send
Web Scraping

YST Price Tracker. Uses httpRequest. Scheduled trigger; 10 nodes.

HTTP Request
Web Scraping

This workflow template, "Gold Price Alert," is designed to monitor gold prices at regular intervals and send real-time notifications via LINE when the price exceeds a specified threshold. By leveragin

HTTP Request
Web Scraping

This workflow automatically fetches the Nikkei 225 closing price every weekday and sends a formatted message to a list of users on LINE.

HTTP Request
Web Scraping

This n8n template provides enterprise-level version control for your workflows using GitHub integration. Stop losing hours to broken workflows and manual exports – get proper commit history, visual di

n8n, Execute Workflow Trigger, HTTP Request +1