Get exchange rates in n8n with the HTTP Request node
Build a small n8n workflow that fetches current FX rates, exposes each rate as an expression, and runs on a schedule. No community node is required.
The useful n8n setup is only three nodes: a Schedule Trigger, an HTTP Request, and whatever should receive the rates next. Start with an anonymous request so you can see the payload, then add a free API key as a header credential before you activate the workflow. The example below fetches EUR, GBP, and JPY against USD.
/v1/latest/USD?symbols=EUR,GBP,JPY request returns all three rates.{{$json.rates.EUR}} and keep the freshness fields beside them.Create the three-node workflow
Add Schedule Trigger → HTTP Request → Edit Fields. During setup, Manual Trigger is handy because you can run the flow on demand. Edit Fields is optional, but it gives the next node a tidy set of names instead of the full API payload.
Configure the HTTP Request node
Choose GET, paste the URL below, and set the response format to JSON. The symbols query asks for three currencies in one call. Click Execute step and inspect the output before wiring up the destination.
Turn the response into named fields
In Edit Fields, switch each value to Expression and add the fields below. Keep source and data_updated_at; they are what explain a weekend value or a daily-reference currency later.
Add the API key as a credential
Create a free key at exchangerate.dev/signup, then add a Header Auth credential in n8n. Use Authorization as the name and Bearer exr_live_your_key_here as the value. Select that credential in the HTTP Request node.
Choose a schedule that matches the job
For a daily finance sheet, run once a day. For an operational dashboard, hourly is often enough and uses about 720 calls in a 30-day month. Put every needed currency in one symbols list instead of creating one HTTP Request node per currency.