Currency-api API

⭐ Beginner's Pick Currency Exchange / No Auth Required Beginner HTTPS CORS
Free to Use Varies (check documentation)

Overview

Currency-api is a free, open-source currency exchange rates API hosted on GitHub with no rate limits, no authentication, and support for 150+ currencies. Data is provided as static JSON files updated daily, making it extremely reliable and fast for read-only use cases. It is an excellent choice for hobby projects, student projects, or any application that does not need sub-daily rate updates.

💡

Beginner Tip

No API key or sign-up is needed. Fetch rates by calling the jsDelivr CDN URL, for example: https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/usd.json. Replace usd with any three-letter currency code in lowercase.

Available Data

exchange rate between currencies
conversion result
supported currency list
historical rates

Example Response

JSON Response
{
  "base": "USD",
  "date": "2025-01-15",
  "rates": {
    "EUR": 0.92,
    "GBP": 0.79,
    "JPY": 149.5,
    "CAD": 1.35
  }
}

Field Reference

date The date the exchange rates were collected.
usd Key-value pairs where each key is a target currency code (lowercase) and the value is the exchange rate relative to USD.
usd.eur Example: the number of EUR equal to 1 USD at the time of the last update.

Implementation Example

const url = "https://github.com/fawazahmed0/currency-api";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

404 Not Found for a currency Using uppercase currency codes instead of lowercase
Currency codes must be lowercase in the URL path: usd not USD. The base currency folder names are all lowercase.
Rates are outdated The static files are updated once per day, not in real time
This is expected behavior. If you need real-time rates, use a live API. For daily-updated rates this API is sufficient.
High latency from CDN CDN cache miss or geographic distance from the CDN edge node
Use the jsDelivr CDN URL which has global edge nodes. Alternatively cache the JSON file on your own server and refresh daily.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 20/20
🔒 Security 15/15
🛠 Developer XP 20/20
✓ Reliability 7/15
Response Time 45ms

Fully tested on Apr 5, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS YES
Difficulty Beginner
Verified: 2026-04-04

Alternatives to Currency-api

Technical alternatives for different use cases.

Open-source currency API with daily updates

Better For

Real-time rate updates for trading platforms

Trade-off

Open-source projects needing free currency data

Similar APIs

View All →