Free Exchange Rate API Without Code: n8n, Zapier, Make and Sheets

Reviewed by Madhushan, Fintech Developer — November 2026

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

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.

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:

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.

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:

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. 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:

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 lists 123 central banks and 6 tax authorities.

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

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

ToolHow it connectsNotes
n8nCommunity node or HTTP Request nodeSplits arrays into items; self-hosted or cloud
ZapierWebhooks by Zapier (GET)Easiest with the flat /api/rate response
MakeHTTP Make a requestIterator handles multi-currency arrays
Google SheetsAdd-on or Apps ScriptBest as a live sheet, not a workflow step

If you are still choosing a data source, the free currency API comparison 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. Works in n8n, Zapier, Make and any tool that can send an HTTP request.

Get a free API key

Related Articles