Currency Converter API - Convert 970+ Fiat & Crypto Currencies at Live or Historical Rates
The Currency Converter API converts any amount between two currencies in a single GET request, calculated against exchange rates aggregated from top-tier commercial banks and digital asset exchanges. It returns the applied rate, the converted amount, and the rate timestamp - at live rates or for any supported past date - across 170+ fiat currencies and 800+ cryptocurrencies. It is built for developers shipping multi-currency checkouts, crypto portfolio trackers, invoicing systems, and fintech dashboards.
Features
970+ Fiat & Crypto Assets in One Endpoint
Pass any supported pair to the from and to parameters - 170+ fiat currencies and 800+ cryptocurrencies including BTC, ETH, and major altcoins - and the API converts directly between them, including fiat-to-crypto and crypto-to-crypto pairs. No second provider, no separate crypto endpoint.
Use it to replace the multi-vendor setup where one API handles forex and another handles digital assets.
Live and Historical Conversion Endpoints
Two endpoints share one request shape: /latest/prices converts at current market rates, and /historical/prices accepts a date parameter to convert at the validated closing rates of any supported past date. Both return the same response structure, so one parser handles both.
Use it for checkout pricing today and invoice reconciliation, tax reporting, or audit work against past dates.
Caller-Selectable Rate Freshness
The updates parameter sets how fresh the applied rate must be: 1m, 10m, 1h, or 1d. Tighten the interval for trading-adjacent conversions or widen it for display pricing where a daily rate is enough. The credit cost per call is the same at every interval.
Use it to match rate freshness to each workload without maintaining separate providers or refresh schedules.
Auditable Response Structure
Every response includes the applied rate, your original givenAmount, the computed convertedAmount, and a date timestamp identifying exactly when that rate was captured. The conversion is reproducible: amount × rate = result, with the rate's provenance on record.
Use it to store the full conversion context alongside each transaction for reconciliation and compliance.
Failed Requests Are Never Billed
Credits are deducted only for successful queries returning a 2xx status. Requests ending in 4xx or 5xx cost nothing, and any credits already charged are refunded automatically. The API runs on infrastructure engineered for 99.9% uptime over 256-bit HTTPS.
Use it to retry aggressively during integration and error-handling work without burning your credit balance.
Built for These Use Cases
Multi-currency e-commerce checkout
Convert cart totals into the shopper's currency at request time, with the applied rate and its timestamp returned alongside the amount. When the shopper's currency should come from their location rather than an explicit choice, the Geolocalized Currency Converter API detects it from their IP address and converts in a single call.
Crypto portfolio and P&L tracking
Convert wallet balances across 800+ cryptocurrencies into a single reporting currency in one request per asset - fiat-to-crypto and crypto-to-crypto pairs resolve through the same endpoint. Tight rate-freshness settings keep portfolio valuations honest during volatile sessions.
Invoice reconciliation and tax reporting
Convert transaction amounts at the validated rate of the transaction date, not today's rate. Finance teams closing books across currencies get reproducible numbers with the rate and its capture date on record for every line item.
Fintech dashboards and rate displays
Render account balances, transfers, and pricing in each user's preferred currency. For broader rate tables and full market feeds beyond point conversions, the Exchange Rate API returns complete rate sets against any base currency.
Marketplace payouts and settlement previews
Show sellers what a payout is worth in their local currency before settlement, timestamped with a known rate. A daily rate is enough for previews; the settlement itself can re-convert at a tighter freshness window when the money actually moves.
Latest Rates Currency Converter
API Endpoint
$ pip install requestsimport requests
url = "https://api.apifreaks.com/v1.0/currency/converter/latest/prices?from=USD&to=EUR&amount=1&updates=1d"
payload = {}
headers = {
'X-apiKey': 'API-KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
Historical Rates Currency Converter
API Endpoint
$ pip install requestsimport requests
url = "https://api.apifreaks.com/v1.0/currency/converter/historical/prices?from=USD&to=EUR&amount=1&date=YYYY-MM-DD"
payload = {}
headers = {
'X-apiKey': 'API-KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
How-To-Guides
Live Currency Converter API
Pass from, to, and amount to the latest-prices endpoint. The response returns the applied rate, echoes your givenAmount, and computes convertedAmount, with date marking when the rate was captured. Multiply givenAmount by rate to verify any result.
# Convert the amount 500 from usd to EUR# Response { "date": "2026-07-02 09:29:00+00", "from": "USD", "to": "EUR", "rate": "0.87635", "givenAmount": "500.0", "convertedAmount": "438.173" }$ curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/converter/latest/prices?apiKey=API-KEY&from=USD&to=EUR&amount=500'
Live Currency Conversion by Specifying Exchange Rates Update Period
Add the updates parameter to control how recent the applied rate must be. updates=10m guarantees a rate no older than ten minutes; 1m, 1h, and 1d are also accepted. Omit the parameter to use the default refresh interval.
# Get currency conversion with exchange rates updated every 10 minutes.# Response { "date": "2026-07-02 09:40:00+00", "from": "USD", "to": "JPY", "rate": "161.150", "givenAmount": "500.0", "convertedAmount": "80575.000" }$ curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/converter/latest/prices?apiKey=API-KEY&from=USD&to=JPY&amount=500&updates=10m'
Historical Currency Conversion for a Specific Date
Switch to the historical-prices endpoint and add date in YYYY-MM-DD format. The conversion applies the validated market rate of that date - the response shape is identical to a live conversion, so the same parsing code handles both.
# Response { "date": "2022-01-10", "from": "USD", "to": "JPY", "rate": "115.276", "givenAmount": "500.0", "convertedAmount": "57638.125" }$ curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/converter/historical/prices?apiKey=API-KEY&date=2022-01-10&from=USD&to=JPY&amount=500'
Frequently Asked Questions
from, to, the applied rate, your givenAmount, the computed convertedAmount, and a date timestamp showing when the rate was captured. XML output is available via format=xml or the Accept: application/xml header.updates parameter lets you require a rate no older than 1m, 10m, 1h, or 1d per request./historical/prices endpoint accepts a date parameter, and coverage depth varies by currency pair. The Currency Historical Data Limits endpoint returns the exact available date range for any currency before you query it.Pricing
To use the Currency Converter APIs, API credits are required. Charges are applied only for successful queries, indicated by a 2xx status code. If a request results in a 4xx or 5xx status code, no credits will be deducted, and any credits already charged will be promptly refunded.
| Service | Credits |
|---|---|
| Latest Rates Currency Converter | 4 credits |
| Historical Rates Currency Converter | 3 credits |
Utilize the Credits Usage API to efficiently monitor your recent consumption of both one-off and subscription credits. This API provides a streamlined way to track and manage your credit usage, ensuring you stay informed about your remaining balance and can optimize your resource allocation effectively.