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 included, no credit card required. One key works across all 49 APIs.
- Currencies
- 30+
- Response Time
- <50ms
- Uptime SLA
- 99.9%
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
Built 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
Try it
Build the request for your data
Edit the parameters below and see the exact curl command and JSON response you will get. No key required to preview.
Parameters
GET /currency/v1/convert?from=USD&to=EUR&amount=100&apikey=YOUR_KEY HTTP/1.1
Host: api.apicodex.io
{
"from": "USD",
"to": "EUR",
"amount": 100,
"rate": 0.86081,
"result": 86.081,
"date": "2026-05-28",
"source": "frankfurter"
}Documentation
Currency API Documentation
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://api.apicodex.ioAuthentication
Authenticate your requests by appending your API key as a query parameter:
https://api.apicodex.io/currency/v1/convert?from=USD&to=EUR&amount=100&apikey=YOUR_KEYRequest and response
Illustrative values. Confirm current endpoint behavior, quotas, and data freshness in the API documentation before production use.
GET /currency/v1/convert?from=USD&to=EUR&amount=100&apikey=YOUR_KEY HTTP/1.1{
"from": "USD",
"to": "EUR",
"amount": 100,
"rate": 0.86081,
"result": 86.081,
"date": "2026-05-28",
"source": "frankfurter"
}Code examples
curl --request GET \
--url 'https://api.apicodex.io/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_KEYGET /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_KEYGET /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_KEYGET /currency/v1/currencies
List all supported currency codes and their names.
/currency/v1/currencies?apikey=YOUR_KEYQuery Parameters
Required parameters
fromSource 3-letter currency code (e.g. USD). Required for /convert and /historical.toTarget 3-letter currency code (e.g. EUR). Required for /convert and /historical.dateHistorical date in YYYY-MM-DD format. Required for /historical.
Optional parameters
amountAmount to convert. Defaults to 1. Used by /convert and /historical.baseBase 3-letter currency code for /rates. Defaults to EUR.symbolsComma-separated list of target currency codes for /rates. Returns all currencies if omitted.apikeyYour API key, passed as a query parameter on every request.
Pricing
Currency API Pricing
One key, one subscription, all 49 APIs. Start free and upgrade when you grow. No minimums, no lock-in.
This API costs 5 credits per request. Credits are shared across every API on your plan.
Estimate your monthly cost
Drag the slider to match your expected request volume. We will recommend the cheapest plan that covers it.
Recommended plan
Starter
$29.99 /month
Free
- All 49 APIs included
- No credit card required
- Full documentation and examples
Starter
Popular- All 49 APIs included
- Email support
- Usage dashboard and analytics
Pro
- All 49 APIs included
- Priority support
- Up to 5 API keys
Need a different plan?
Tell us about your API, volume, or support requirements.
Coming soon · MCP
Use the Currency API from your AI agent
The API Codex MCP server will expose this API, and the other 39, to Claude, Cursor and any MCP client as tools. Same key, same credits, one config entry.
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.
Keep building
Related APIs
Extract transactions, balances, and account details from bank statements for financial applications.
AI-powered invoice parsing for extracting line items, totals, taxes, and vendor details with multi-currency support.
Parse receipts for expense tracking and financial automation with merchant info and multi-currency extraction.