---
title: "Free Exchange Rate API Without Code: n8n, Zapier, Make and Sheets"
description: "Use a free exchange rate API without writing code: n8n's community node or HTTP Request, Zapier and Make webhooks, Google Sheets, plus two ready workflows."
canonical: https://allratestoday.com/blog/exchange-rate-api-no-code-n8n-zapier/
source: AllRatesToday (https://allratestoday.com/) — Markdown mirror of the page above; index of all pages at https://allratestoday.com/llms.txt
generated: 2026-11-11T15:35:39.466Z
---

You do not need to write code to put live currency data into a workflow. A free exchange rate API works in any automation tool that can send an HTTP request with a header. This guide covers n8n, Zapier, Make and Google Sheets, then builds two workflows: converting new Stripe or Shopify orders to a reporting currency in a sheet, and a daily rate digest to Slack.

## What you need

- **An API key.** Create one on the [register page](https://allratestoday.com/register). Every request sends it as a header: `Authorization: Bearer YOUR_API_KEY`.
- **One of two endpoints.** For one pair, `GET https://allratestoday.com/api/rate?source=GBP&target=USD` returns a flat object, `{"rate":1.2634,"source":"mid-market"}`, which is easy to map in any tool. For several currencies at once, `GET https://allratestoday.com/api/v1/rates?source=USD&target=EUR,GBP,JPY,CAD` returns an array and costs one request.

Rates are mid-market, refreshed every 60 seconds on every plan. The free plan is meant for personal use, testing and prototypes. A workflow that runs your business's reporting needs a paid plan; the Small plan is €4.99 a month and allows commercial use. Details are on the [pricing page](https://allratestoday.com/pricing/).

## n8n: the community node

n8n has a community node, `n8n-nodes-allratestoday`. In n8n, open **Settings → Community Nodes → Install**, enter `n8n-nodes-allratestoday`, and confirm. Then add an **AllRatesToday API** credential with your key.

The node has two groups of operations:

- **Market Rate → Get Rates**: live mid-market rates from a source currency to one, several or all currencies.
- **Market Rate → Convert**: an amount at the live rate, returning both amounts and the rate. Conversion uses the convert endpoint, which is on the Medium plan and above.
- **Official Rate → Get Pair** and **Get Table**: the official rate of a named central bank or tax authority, with its own rate date.

The node can also be used as a tool by n8n's AI Agent node.

## n8n: the HTTP Request node

If you prefer not to install a community node, the built-in **HTTP Request** node works too:

1. Method **GET**, URL `https://allratestoday.com/api/v1/rates`.
2. **Authentication**: Generic Credential Type → Header Auth. Name `Authorization`, value `Bearer YOUR_API_KEY`.
3. **Send Query Parameters**: `source` = `USD`, `target` = `EUR,GBP,JPY`.

Because the response is an array, n8n outputs one item per currency. Each item has `rate`, `source`, `target` and `time` fields you can drag into the next node.

## Zapier: Webhooks by Zapier

Use **Webhooks by Zapier** as an action step with the **GET** event. Webhooks by Zapier is a premium app on Zapier's paid plans at the time of writing.

- **URL**: `https://allratestoday.com/api/rate`
- **Query String Params**: `source` = the order currency (mapped from the trigger), `target` = `USD`
- **Headers**: `Authorization` = `Bearer YOUR_API_KEY`

The step returns a `rate` field. Add a **Formatter by Zapier → Numbers → Perform Math Operation** step to multiply the order total by it. Use `/api/rate` here rather than the array endpoint, because the flat object maps to a single field without extra steps.

## Make: the HTTP module

In Make, add **HTTP → Make a request**:

- **URL**: `https://allratestoday.com/api/rate`
- **Method**: GET
- **Headers**: `Authorization` = `Bearer YOUR_API_KEY`
- **Query String**: `source` and `target`
- **Parse response**: Yes

Make then exposes `rate` to later modules, where you can use it in a formula such as `total * rate`. If you call `/api/v1/rates` with several targets instead, Make parses the array and an **Iterator** module splits it into bundles, one per currency.

## Google Sheets

For a sheet that refreshes on its own, see the [guide to currency APIs for Google Sheets](https://allratestoday.com/blog/best-currency-api-for-google-sheets-2026/). It covers the add-on and the Apps Script options. For the workflows below, Sheets is just the destination: n8n, Zapier or Make append a row with the values they computed.

## Workflow 1: new orders in a reporting currency

The goal: every new order lands in a sheet with its original amount and its value in your reporting currency, say USD.

**In n8n:**

1. **Trigger.** Shopify Trigger on order created, or Stripe Trigger on a successful payment.
2. **IF node.** If the order currency is already USD, skip the conversion branch.
3. **AllRatesToday node** (Market Rate → Get Rates) or HTTP Request to `/api/v1/rates`, with `source` mapped to the order currency and `target` = `USD`.
4. **Google Sheets → Append Row** with columns: order id, date, currency, amount, rate, rate time, amount in USD.

Two details matter:

- **Stripe amounts are in minor units.** A charge of `1999` in USD is 19.99. Divide by 100 before converting, except for zero-decimal currencies such as JPY. Shopify's `total_price` is already in major units.
- **Store the rate and its time,** not just the result. The `time` field shows which one-minute snapshot you used, so anyone can check the row later.

**In Zapier or Make,** the shape is the same: the Shopify or Stripe trigger, a Filter for orders not in USD, the HTTP step to `/api/rate`, a math step, then Google Sheets **Create Spreadsheet Row** (Zapier) or **Add a Row** (Make).

Each order costs one request. If your accountant asks for a central bank rate for the order date rather than a live rate, swap step 3 for **Official Rate → Get Pair** in n8n, or for an HTTP call to `https://allratestoday.com/api/v1/central-bank/ecb/latest?source=EUR&target=USD`, and store the `rate_date` it returns. The [central bank rates API](https://allratestoday.com/central-bank-rates-api/) lists [123 central banks and 6 tax authorities](https://allratestoday.com/central-bank-rates-api/institutions/).

## Workflow 2: a daily rate digest in Slack

The goal: a message in a Slack channel every weekday at 08:00 with the rates your team watches.

**In n8n:**

1. **Schedule Trigger**, weekdays at 08:00.
2. **HTTP Request** to `/api/v1/rates` with `source` = `USD` and `target` = `EUR,GBP,JPY,CAD`. One request returns all four.
3. **Aggregate** node to collect `target` and `rate` from the four items into one item.
4. **Slack → Send Message** with text built from the aggregated fields, for example one line per currency.

**In Zapier**, use **Schedule by Zapier** as the trigger, then one Webhooks GET step per pair to `/api/rate`, then **Slack → Send Channel Message**. That costs one request per pair per day. **In Make**, use the scheduler on the scenario, one HTTP request to `/api/v1/rates`, an Iterator and a **Text aggregator** to build the message, then **Slack → Create a Message**.

Add yesterday's rate if you want a change column: store each day's values in a sheet and read the previous row before posting.

## Errors to handle

- **401**: the key is missing or wrong. The body says `"A valid API key is required"`. Check the header value starts with `Bearer` and a space.
- **429**: you are over your plan's limit. The response carries `X-Monthly-Limit`, `X-Monthly-Used` and `X-Monthly-Resets` headers. Rejected requests are not charged.

In n8n, turn on **Continue On Fail** for the rate step and send failures to a separate Slack message. In Zapier and Make, use the built-in error handling or a router so a failed rate never writes a blank amount to your sheet.

## Choosing a tool

| Tool | How it connects | Notes |
| --- | --- | --- |
| n8n | Community node or HTTP Request node | Splits arrays into items; self-hosted or cloud |
| Zapier | Webhooks by Zapier (GET) | Easiest with the flat `/api/rate` response |
| Make | HTTP Make a request | Iterator handles multi-currency arrays |
| Google Sheets | Add-on or Apps Script | Best as a live sheet, not a workflow step |

If you are still choosing a data source, the [free currency API comparison](https://allratestoday.com/blog/best-free-currency-exchange-api-2026/) compares the free tiers and their terms.

## FAQ

### How do I connect the API to Zapier or Make?

Use their HTTP modules. In Zapier that is Webhooks by Zapier with a GET request, and in Make the HTTP Make a request module. Both send the Authorization header and return the rate as fields you can map.

### Can I use the free plan for my store's reporting?

The free plan is for personal use, testing and prototypes, and its allowance is one-off. Use it to build and test the workflow. A workflow that runs for a business needs a paid plan, which starts with the Small plan at €4.99 a month and allows commercial use.

### How many requests does a daily rate digest use?

One a day if your tool can read a list. The /api/v1/rates endpoint accepts several targets, for example EUR,GBP,JPY,CAD, and returns them in one array for the cost of one request. Tools that cannot loop over a list can call /api/rate once per pair.

### Why are my Stripe amounts 100 times too big?

Stripe sends amounts in the smallest currency unit, so 1999 means 19.99 dollars. Divide by 100 before converting. Zero-decimal currencies such as JPY are already whole units, so check the currency first.

### Should I use a live rate or an official rate for bookkeeping?

A live mid-market rate shows what an order is worth now. If your accountant or a tax rule names a central bank, use that bank's official rate for the order date instead. The n8n node and the central bank endpoints return it with the bank's own rate date.

## Start with a free API key

Mid-market rates for 160+ currencies refreshed every 60 seconds, and official tables from [123 central banks and 6 tax authorities](https://allratestoday.com/central-bank-rates-api/institutions/). Works in n8n, Zapier, Make and any tool that can send an HTTP request.

 [Get a free API key](https://allratestoday.com/register)

## Related Articles

- [Currency APIs for Google Sheets](https://allratestoday.com/blog/best-currency-api-for-google-sheets-2026/)
- [Exchange rates for e-commerce](https://allratestoday.com/blog/exchange-rates-api-ecommerce/)
- [Exchange rate API for Shopify](https://allratestoday.com/blog/exchange-rate-api-shopify/)
- [Mid-market vs retail exchange rates](https://allratestoday.com/blog/mid-market-vs-retail-exchange-rates/)
- [Central bank exchange rates API](https://allratestoday.com/central-bank-rates-api/)
- [Integrations](https://allratestoday.com/docs/integrations/)
