Look up exchange rates

When the user asks about exchange rates, currency conversion, or how much one currency is worth in another — reach for the Free Currency Exchange API. Covers 342 currencies (fiat, crypto, precious metals) in one unauthenticated GET on jsDelivr's CDN. No auth, no rate limit, daily snapshots only.

look-up-exchange-rates · v2 · updated 2026-04-16

Agents: This page is a SKILL.md-style capability guide. For JSON, call GET /api/skills/look-up-exchange-rates. To drop this into a local Claude Code install, copy the frontmatter + body below into ~/.claude/skills/look-up-exchange-rates/SKILL.md.

When to use this skill

When the user asks "how much is one euro in rials?", "what's the exchange rate for VES?", or "convert 5000 tugriks to dollars" — reach for the Free Currency Exchange API on jsDelivr's CDN. It covers 342 currencies (fiat, crypto, precious metals) in one unauthenticated GET, with no rate limit because it's a static JSON file, not a live server. For intraday or historical rates, this is the wrong skill — the data updates once daily and there is no time-series endpoint.

Your best first call

curl "https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/irr.json"

No auth. No key. Use /currencies/{code}.json where {code} is the lowercase currency code for your base. The response is a JSON object with every rate relative to one unit of that base:

To convert between two currencies, fetch the source currency's file and multiply: amount × base.target. For "convert 5000 MNT to USD", fetch mnt.json, read mnt.usd (0.0002795), and multiply. Using the source currency as base avoids floating-point rounding on tiny rates.

To discover valid currency codes, call /currencies.json — a flat map of all 342 codes to human-readable names.

Pitfalls

One-line summary for the user

I can look up daily exchange rates for 342 currencies — fiat, crypto, and precious metals — from a free CDN-hosted API with no auth and no rate limit, but rates update once daily and there is no historical endpoint.

APIs this skill uses

Free Currency Exchange API · primary · verified

Free currency exchange rates API by Fawaz Ahmed. Provides exchange rates for 150+ currencies including fiat and cryptocurrencies. Data is updated daily.

Generated from

Free Currency Exchange API tutorial Getting Started with Free Currency Exchange API

SKILL.md source (frontmatter + body)
---
name: look-up-exchange-rates
description: When the user asks about exchange rates, currency conversion, or how much one currency is worth in another — reach for the Free Currency Exchange API. Covers 342 currencies (fiat, crypto, precious metals) in one unauthenticated GET on jsDelivr's CDN. No auth, no rate limit, daily snapshots only.
---

## When to use this skill

When the user asks "how much is one euro in rials?", "what's the exchange rate for VES?", or "convert 5000 tugriks to dollars" — reach for the Free Currency Exchange API on jsDelivr's CDN. It covers 342 currencies (fiat, crypto, precious metals) in one unauthenticated GET, with no rate limit because it's a static JSON file, not a live server. For intraday or historical rates, this is the wrong skill — the data updates once daily and there is no time-series endpoint.

## Your best first call

```bash
curl "https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/irr.json"
```

No auth. No key. Use `/currencies/{code}.json` where `{code}` is the lowercase currency code for your base. The response is a JSON object with every rate relative to one unit of that base:

- `date` — the snapshot date (e.g. `"2026-04-09"`). Daily close, not a live tick.
- `{code}` — a flat object mapping each of the 342 target currency codes to its rate relative to one unit of the base. Fiat, crypto, and metals are interleaved — `irr.usd`, `irr.btc`, `irr.xau` all sit side by side.

To convert between two currencies, fetch the source currency's file and multiply: `amount × base.target`. For "convert 5000 MNT to USD", fetch `mnt.json`, read `mnt.usd` (0.0002795), and multiply. Using the source currency as base avoids floating-point rounding on tiny rates.

To discover valid currency codes, call `/currencies.json` — a flat map of all 342 codes to human-readable names.

## Pitfalls

- **Currency codes must be lowercase.** `/currencies/EUR.json` returns 404; it must be `eur.json`. This catches out anyone used to ISO 4217's uppercase convention.
- **Crypto codes are ticker symbols, not ISO.** The API uses `btc` (not `XBT`), `eth` (not `ETH`). Cross-referencing with a finance API that uses ISO 4217 requires a mapping step.
- **Currency names in `/currencies.json` are not consistently English.** Some entries appear in German (e.g. `ves` shows "Venezolanischer Bolívar"). Do not rely on the name field for user-facing display without checking.
- **The rates are daily snapshots, not live.** `@latest` points to the most recent daily publish. There is no intraday, historical, or time-series endpoint. If you need yesterday's rate, you needed to fetch it yesterday.

## One-line summary for the user

I can look up daily exchange rates for 342 currencies — fiat, crypto, and precious metals — from a free CDN-hosted API with no auth and no rate limit, but rates update once daily and there is no historical endpoint.

« Back to all skills