Real-time and historical FX conversion for developers

Currency API

The Currency API delivers accurate, key-free foreign-exchange conversion and exchange rates backed by official European Central Bank reference data (via Frankfurter), with an automatic secondary provider fallback so your application keeps working even when an upstream hiccups.

Convert any amount between 30+ major currencies, pull live or historical rates, and list every supported currency from a single clean JSON interface. Built on a global edge network, it answers in milliseconds with intelligently cached responses, making it ideal for e-commerce pricing, expense tracking, fintech dashboards, and back-office reconciliation.

Free tier · no credit card · billed on RapidAPI

30+
Currencies
<50ms
Response Time
99.9%
Uptime SLA

Key features

  • Real-time currency conversion between any two currencies
  • Latest exchange rates for any base currency
  • Historical conversion using rates from a specific date
  • Directory of all supported currency codes and names
  • ECB-backed reference data with automatic provider fallback
  • Edge-cached JSON responses for low latency worldwide
  • No upstream API keys, scraping, or surprise rate limits

Perfect for

  • E-commerce multi-currency pricing and checkout
  • Expense tracking and receipt normalization
  • Fintech and trading dashboards
  • Back-office reconciliation and accounting
  • Travel and booking platforms
  • Invoicing in customers’ local currencies
  • Financial reporting and analytics
  • Cross-border payment estimates
Documentation

Currency API Documentation

Everything you need to integrate — base URL, auth, and copy-paste examples.

The Currency API provides real-time and historical foreign-exchange rates and currency conversion, backed by the European Central Bank (via Frankfurter) with an automatic open.er-api fallback. It exposes four endpoints: convert, latest rates, historical conversion, and a supported-currencies directory.

Base URL

https://edge-apis.e9736.workers.dev

Authentication

Authenticate your requests by appending your API key as a query parameter:

headers
https://edge-apis.e9736.workers.dev/currency/v1/convert?from=USD&to=EUR&amount=100&apikey=YOUR_KEY

Request & response

Request
http
GET /currency/v1/convert?from=USD&to=EUR&amount=100&apikey=YOUR_KEY HTTP/1.1
Response
json
{
"from": "USD",
"to": "EUR",
"amount": 100,
"rate": 0.86081,
"result": 86.081,
"date": "2026-05-28",
"source": "frankfurter"
}

Code examples

cURL
curl --request GET \
  --url 'https://edge-apis.e9736.workers.dev/currency/v1/convert?from=USD&to=EUR&amount=100&apikey=YOUR_KEY'

Endpoints

GET /currency/v1/convert

Convert an amount between two currencies using the latest rates.

/currency/v1/convert?from=USD&to=EUR&amount=100&apikey=YOUR_KEY

GET /currency/v1/rates

Get the latest exchange rates for a base currency, optionally filtered by symbols.

/currency/v1/rates?base=USD&symbols=EUR,GBP,JPY&apikey=YOUR_KEY

GET /currency/v1/historical

Convert an amount using exchange rates from a specific past date.

/currency/v1/historical?date=2024-01-15&from=USD&to=EUR&amount=100&apikey=YOUR_KEY

GET /currency/v1/currencies

List all supported currency codes and their names.

/currency/v1/currencies?apikey=YOUR_KEY

Query Parameters

Required Parameters

  • from - Source 3-letter currency code (e.g. USD). Required for /convert and /historical.
  • to - Target 3-letter currency code (e.g. EUR). Required for /convert and /historical.
  • date - Historical date in YYYY-MM-DD format. Required for /historical.

Optional Parameters

  • amount - Amount to convert. Defaults to 1. Used by /convert and /historical.
  • base - Base 3-letter currency code for /rates. Defaults to EUR.
  • symbols - Comma-separated list of target currency codes for /rates. Returns all currencies if omitted.
  • apikey - Your API key, passed as a query parameter on every request.
Pricing

Currency API Pricing

Choose the right plan for your FX conversion needs with flexible pricing options and no hidden fees

No credit card to start · cancel anytime

Basic

Free
1,000 Requests / Month
  • All four endpoints
  • Latest & historical rates
  • ECB-backed data with fallback
Get Started Free
Most popular

Pro

$9.99/month
100,000 Requests / Month
  • All four endpoints
  • Edge-cached responses
  • $0.20 / 1k overage
Subscribe Now

Ultra

$49.99/month
2,000,000 Requests / Month
  • All four endpoints
  • 20× more than Pro plan
  • $0.10 / 1k overage
Subscribe

Need higher volume or a custom SLA?

Talk to us about enterprise rates, dedicated support, and compliance docs.

Contact sales
FAQ

Frequently asked questions

Exchange rates are sourced from official European Central Bank reference data, delivered via the Frankfurter dataset. If the primary source is temporarily unavailable, the API automatically falls back to a secondary provider (open.er-api) so your application keeps working. Every response includes a 'source' field indicating which provider served the data.

The API supports 30+ major world currencies, including USD, EUR, GBP, JPY, and more. You can retrieve the complete, up-to-date list of supported currency codes and their human-readable names at any time by calling the /currency/v1/currencies endpoint, which also returns a count of available currencies.

Yes. The /currency/v1/historical endpoint lets you convert an amount using the exchange rates that were in effect on a specific past date. Simply pass a date in YYYY-MM-DD format along with the from and to currency codes and an optional amount. This is ideal for reconciling transactions, generating accurate historical reports, and auditing.

The underlying European Central Bank reference rates are published once per business day. Because rates do not change minute-to-minute, you generally only need to refresh a given currency pair once per hour at most. We recommend caching responses on your side and using the 'date' field in the response to decide when a refresh is needed.

Authentication is handled with a single API key passed as a query parameter. Append &apikey=YOUR_KEY to any request, for example /currency/v1/convert?from=USD&to=EUR&amount=100&apikey=YOUR_KEY. There are no upstream API keys to manage and no separate signing process.

The API returns clear, structured error responses. A 400 status indicates invalid or missing input, such as a malformed or unsupported currency code, with a descriptive error message. A 502 status indicates that the upstream FX provider failed even after the automatic fallback. Your application should validate currency codes up front and handle these errors gracefully.

Absolutely. The Currency API runs on a global edge network with intelligently cached responses, delivering typical response times under 50ms from the location nearest your users. Combined with sensible client-side caching, this makes it well-suited for high-traffic e-commerce pricing, checkout flows, and real-time financial dashboards.

Every week you build in-house is a week you don't ship product

2,500+ teams already made the switch. Start with a free tier today, or talk to us about your enterprise needs.

For developers

Free tier, no credit card. Integrate your first API in under 30 minutes.

Get API keys freeRead the docs

For teams and enterprise

Custom volumes, SLA guarantees, dedicated support, and compliance documentation.

Talk to sales

or email sales@apicodex.io