Loading
Loading
The Exchange Rate API returns live foreign-exchange and cryptocurrency rates for 171+ fiat currencies and 830+ digital assets — plus precious metals — from a single REST endpoint. Rates refresh as often as every 60 seconds, with historical pricing available as far back as 1984 for the longest-running pairs, all delivered at 99.9% uptime. It's built for fintech developers pricing transactions, e-commerce engineers localising checkout, and trading and analytics teams that need both spot and historical figures in one feed. Start with 10,000 free credits — no credit card required.
symbols list to pull only the assets you track, or omit it to receive the full rates map in a single response. Use it for any product that has to price both traditional FX and digital assets without stitching together two providers.updates parameter sets how fresh your data is — 1m (default), 10m, 1h, or 1d — so you can match refresh frequency to your workload instead of accepting a fixed cadence. One-minute updates suit live trading dashboards and crypto wallets; daily updates keep batch jobs cheap. Use it to balance precision against call volume on high-traffic pricing screens.date parameter (YYYY-MM-DD) and returns the closing rates for that day, with coverage reaching back to 1984 for major fiat pairs and metals. Use it for financial auditing, tax compliance, invoice reconciliation, and backtesting — any workflow that needs a verifiable rate for a specific past date rather than a live quote.base (USD by default; fiat, crypto, or metals all valid) and the entire rates map is recalculated against it — no client-side cross-rate math. Combine base with a filtered symbolslist to cut payload size and latency on every call. Use it to serve cross-border price calculations in a customer's home currency directly from the response.date, base, and a rates map keyed by currency code — returned as JSON by default or XML via the format parameter. The flat structure parses in one step with no nested unwrapping. Use it to drop live rates straight into pricing widgets, accounting software, or data pipelines without a transformation layer.$ pip install requestsimport requests
url = "https://api.apifreaks.com/v1.0/currency/rates/latest?base=USD&symbols=PKR%2CEUR&updates=1d"
payload = {}
headers = {
'X-apiKey': 'API-KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
$ pip install requestsimport requests
url = "https://api.apifreaks.com/v1.0/currency/rates/historical?base=USD&symbols=INR%2CEUR%2CGBP&date=2024-09-01"
payload = {}
headers = {
'X-apiKey': 'API-KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
Request live rates for a short list of currencies against USD.
# Response { "date": "2026-06-26 12:15:00+00", "base": "USD", "rates": { "EUR": "0.877078", "GBP": "0.756544", "PKR": "278.163" } }curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/rates/latest?apiKey=API-KEY&base=USD&symbols=EUR,GBP,PKR'
Set any base and request only the pairs you need to reduce payload size.
# Response { "date": "2026-06-26 12:16:00+00", "base": "EUR", "rates": { "JPY": "184.30857492053502", "USD": "1.1401000551808427" } }curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/rates/latest?apiKey=API-KEY&base=EUR&symbols=USD,JPY'
Use updates to control refresh frequency (1m, 10m, 1h, 1d).
# Response { "date": "2026-06-26 12:17:00+00", "base": "USD", "rates": { "BTC": "0.0000168114327157", "ETH": "0.0006465210701217" } }curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/rates/latest?apiKey=API-KEY&base=USD&symbols=BTC,ETH&updates=1m'
Pass date (YYYY-MM-DD) to the historical endpoint to retrieve the recorded rates for a single past day. For a continuous series across a date range, use the Currency Time Series API — it returns the whole range in one call, which is more efficient than looping this endpoint date by date.
# Response { "date": "2024-09-01", "base": "USD", "rates": { "EUR": "0.9053850174642575", "GBP": "0.7616086740135972", "INR": "83.862584" } }curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/rates/historical?apiKey=API-KEY&base=USD&symbols=INR,EUR,GBP&date=2024-09-01'
Add format=xml for systems that consume XML.
# Response <LatestRatesResponse> <date>2026-06-26 12:18:00+00</date> <base>USD</base> <rates> <EUR>0.877001</EUR> </rates> </LatestRatesResponse>curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/rates/latest?apiKey=API-KEY&base=USD&symbols=EUR&format=xml'
updates parameter: 1m (the default — every 60 seconds), 10m, 1h, or 1d. The service runs at 99.9% uptime.date parameter (YYYY-MM-DD) and returns the recorded rates for that day. Coverage reaches back to 1984 for major fiat pairs and precious metals; newer assets begin from their launch (for example, most cryptocurrencies from 2013 onward).base or include it in symbols.base (USD is the default) and every value in the rates map is calculated against it.date, base, and a rates map keyed by currency code (for example "EUR": "0.859476"). Add format=xml to receive the same structure as XML.To use the Currency Rates 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 Currency rates | 4 credits |
| Historical Currency Rates | 2 credits |
| Non-USD Base Currency | 2 additional credit |
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.