BYTETOOLS

Currency API (fawazahmed0)

Free currency API with no key and no rate limit: 200+ fiat and crypto exchange rates served from a CDN, updated daily, with historical data. Tested.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-20

What is the Currency API (fawazahmed0)?

The fawazahmed0 Currency API is a free, key-free exchange rate API covering more than 200 fiat currencies and thousands of cryptocurrencies, served as static JSON from a CDN with no rate limit and daily updates.

Because it is served from a CDN as static files rather than a live API, there is no rate limit, no key and effectively no downtime. That combination is rare enough to make it worth knowing about even though it looks unconventional.

Coverage is unusually broad: alongside every fiat currency it includes thousands of cryptocurrencies in the same response, so a single request gives you rates from USD into essentially anything.

Quick facts

Base URL
https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1
Authentication
No API key required.
Rate limit
None — it is served as static files from jsDelivr's CDN.
Pricing
Free and open source.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Currency API (fawazahmed0)

Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.

1. Fetch exchange rates from USD

GET https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/usd.json

curl
curl 'https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/usd.json'
JavaScript (fetch)
const res = await fetch("https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/usd.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/usd.json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "date": "2026-08-19",
  "usd": {
    "1inch": 12.04055854,
    "aave": 0.011440131,
    "ada": 5.7448811,
    "aed": 3.6725,
    "afn": 65.96354249,
    "agix": 19.09810473,
    "akt": 2.08256938,
    "algo": 12.84110497,
    "all": 80.10600129,
    "amd": 364.805104,
    "amp": 2685.93124062,
    "ang": 1.80234645,
    "aoa": 917.69789583,
    "ape": 8.1656385,
    "apt": 1.88980303,
    "ar": 0.5677253,
    "arb": 13.25742066,
    "ars": 1495.0159263,
    "atom": 0.70073166,
    "ats": 11.88730898,
    "aud": 1.4135699,
    "avax": 0.15755347,
    "awg": 1.79,
    "axs": 1.18542226,
    "azm": 8499.99850374,
    "azn": 1.6999997,
    "bake": 1481.23930509,
    "bam": 1.68961109,
    "bat": 16.87157694,
    "bbd": 2,
    "bch": 0.004918701,
    "bdt": 122.01329016,
    "bef": 34.84901167,
    "bgn": 1.68961109,
    "bhd": 0.376,
    "bif": 2989.50622364,
    "bmd": 1,
    "bnb": 0.0016571185,
    "bnd": 1.27872121,
    "bob": 11.57497744,
    "brl": 5.21555744,
    "bsd": 1,
    "bsv": 0.069282599,
    "bsw": 2868.04841272,
    "btc": 1.5521355e-05,
    "btcb": 18.1127163,
    "btg": 2.50018375,
    "btn": 95.74115112,
    "btt": 3828113.71917055,
    "busd": 1.00000246,
    "bwp": 13.50766177,
    "byn": 3.04186754,
    "byr": 19598.51805309,
    "bzd": 2.01284138,
    "cad": 1.3902849,
    "cake": 0.65906178,
    "cdf": 2292.48401731,
    "celo": 17.14339558,
    "cfx": 24.32086469,
    "chf": 0.8123996,
    "chz": 84.02525161,
    "clp": 925.14518852,
    "cnh": 6.74645365,
    "cny": 6.74309192,
    "comp": 0.056775866,
    "cop": 3102.97274818,
    "crc": 449.0041

Parameters

ParameterTypeRequiredDescription
currencies/<base>.jsonpathRequiredBase currency, lowercase. currencies/usd.json
currencies/<base>/<target>.jsonpathOptionalOne specific pair. currencies/usd/eur.json
<date>pathOptionalReplace `latest` with a date for historical rates. 2026-01-15
currencies.jsonpathOptionalList every supported currency code. currencies.json

Response fields

datestring
The date these rates apply to.
<base>object
Object keyed by target currency code, with the rate as the value.
<base>.<target>number
How many units of the target one unit of the base buys.

What you can build with the Currency API (fawazahmed0)

  • Add currency conversion with no key, quota or signup
  • Convert between fiat and crypto in one request
  • Fetch historical rates for a specific date
  • Build client-side converters with no backend at all

Common errors and how to fix them

404

Currency codes must be lowercase.

Fix: Use usd not USD, and check /currencies.json for supported codes.

Large response

One base currency returns rates into 200+ fiat and thousands of crypto.

Fix: Request a specific pair with /currencies/usd/eur.json when you only need one.

Rates a day behind

Updates are daily, not real-time.

Fix: Fine for display and accounting; not suitable for trading.

Currency API (fawazahmed0) — frequently asked questions

Is this currency API really free with no rate limit?

Yes. It is served as static JSON from jsDelivr's CDN rather than a live API, so there is no key, no quota and effectively no downtime.

How many currencies does it cover?

More than 200 fiat currencies plus thousands of cryptocurrencies, all in the same response.

How current are the rates?

Updated daily. That suits display, invoicing and accounting, but it is not appropriate for trading, which needs real-time rates.

Can I get historical rates?

Yes, replace `latest` in the URL with a date such as 2026-01-15 to get rates as of that day.

Tools that pair with this API

Currency API (fawazahmed0) is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.