Overview

ExchangeRate-API delivers accurate foreign exchange rates for 160+ currencies, sourced from major financial data providers and updated hourly. The free tier (no credit card required) allows up to 1,500 requests per month and returns rates relative to any base currency. It also offers historical data and currency conversion endpoints on paid plans.

Beginner Tip

Sign up for a free API key at exchangerate-api.com — no credit card needed for the free tier (1,500 requests/month). The standard endpoint is `https://v6.exchangerate-api.com/v6/YOUR_KEY/latest/USD`. Replace `USD` with any ISO 4217 currency code to set the base currency.

Available Data

The kind of data this API exposes, based on its documentation. We could not call the endpoint to confirm the exact field names.

exchange rate between currencies
conversion result
supported currency list
historical rates
Use case: Integrate free currency conversion data into web and mobile applications

Example Response

Illustrative shape only — we were not able to call this endpoint (it requires credentials or exposes no public sample URL), so the fields below show the kind of data this API returns rather than a recorded response.

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

Field Reference

result Status of the request — `success` if everything worked, or an error code if not.
base_code The base currency code you requested rates relative to (e.g., `USD`).
conversion_rates Map of currency codes to their exchange rate relative to the base currency.
time_last_update_unix Unix timestamp of when the exchange rates were last updated.
time_next_update_unix Unix timestamp of the next scheduled rates update.

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://v6.exchangerate-api.com/v6/YOUR_API_KEY/latest/USD";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
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

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

403 Forbidden / invalid-key error Using an incorrect, expired, or unactivated API key.
Confirm the key in your dashboard at exchangerate-api.com. New keys may take a few minutes to activate after registration.
quota-reached in response Exceeded the free plan's 1,500 monthly request limit.
Upgrade to a paid plan or wait until the next billing cycle. Cache responses locally to reduce API calls.
Currency code not found Using a non-standard or lowercase currency code (e.g., `usd` instead of `USD`).
Always use uppercase ISO 4217 codes (e.g., `USD`, `EUR`, `JPY`). Check `/v6/YOUR_KEY/codes` for the full supported list.

Metadata Score Breakdown

Estimated from metadata — endpoint not independently tested

This score is estimated from observable metadata — HTTPS support, authentication model, declared CORS, and documentation reachability — because the API requires authentication or exposes no publicly testable endpoint. The five-signal breakdown is only shown for live-tested APIs.

Metadata estimate · endpoint not independently tested

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS YES
Difficulty Intermediate
Listing details not endpoint-verified

Similar APIs

View All →