Convert any amount in one REST call
Currency Conversion API
Convert any amount between 166 currencies with a single REST call. Pass an amount, a source currency, and a target — get the converted result back in JSON. No arithmetic on your side.
100 GBP =
— USD
What is the Currency Conversion API?
The Currency Conversion API is a dedicated REST endpoint — /api/v2/convert — that accepts an amount, a source currency code, and a target currency code, then returns the fully converted result in a single JSON (or XML) response.
This is different from a rate-lookup endpoint. With the rates endpoint, you retrieve the exchange rate and compute the conversion yourself. With /convert, the calculation happens server-side: you send the amount, we send back the answer.
Supported: 166 currencies including fiat, major cryptocurrencies (BTC, ETH, XRP, LTC, ADA, BNB, DOGE, DOT, LINK, SOL, USDC, USDT), and precious metals.
166 currencies: fiat, crypto, and metals all supported in a single unified API.
JSON or XML: choose your preferred output format with the output parameter.
Historical conversion: combine with the /history endpoint to convert at a past date's rate.
No rate limits on paid plans: Essential and above include the convert endpoint with no per-minute throttle.
Live demo
Try the /convert endpoint
Change the amount or the currencies on the left — the request and JSON response on the right update the way the real API behaves.
Enter an amount and pick two currencies — the request and response on the right update live.
100 GBP =
— USD
https://currencyapi.net/api/v2/convert?key=YOUR_API_KEY&amount=100&from=GBP&to=USD
{
"valid": true,
"updated": 1768586454,
"conversion": {
"amount": 100,
"from": "GBP",
"to": "USD",
"result": null
}
}Quick Start — Currency Conversion API
Make your first conversion request in under a minute. Replace YOUR_API_KEY with your key from the dashboard.
import requests
url = "https://currencyapi.net/api/v2/convert"
params = {
"key": "YOUR_API_KEY",
"from": "GBP",
"to": "USD",
"amount": 100,
"output": "JSON"
}
response = requests.get(url, params=params)
data = response.json()
print(data)Convert vs. Rate Lookup — When to Use Which
Use /convert when your application needs a ready-to-display converted amount. E-commerce checkout totals, invoicing in a customer's local currency, payment confirmations — any case where you want a single number back without writing conversion logic.
Use /rates when you need to display a rate table, or when you want to apply the same rate to many amounts client-side without making a separate API call per conversion. The Exchange Rate API returns the full rate map for all 166 currencies in one response.
Both endpoints share the same underlying rate data and update on the same schedule (every 60 seconds on StartUp and Professional plans; hourly on Essential).
/api/v2/convert
Pass amount + from + to. Receive the converted result. Ideal for single conversions at checkout, invoicing, or payment confirmation.
/api/v2/rates
Receive all 166 rates in one call. Ideal for rate tables, client-side bulk conversion, or caching a rate snapshot.
/api/v2/history
Historical rates for a specific date. Combine with /convert logic for past-date conversions — useful for reporting and audits.
/api/v2/timeframe
Rate series across a date range. Ideal for trend analysis, backtesting FX strategies, and compliance reporting.
Features — 166 Currencies, Crypto & Metals
The Currency Conversion API covers the full breadth of assets supported across CurrencyAPI — fiat, crypto, and precious metals in one unified endpoint.
WHAT YOU CAN CONVERT — 166 ASSETS
ISO 4217 currencies
First-class cryptocurrencies
Precious metals
How Do I Get Started?
Getting started with the Currency Conversion API takes minutes. Follow these steps to make your first conversion request.
- 1Sign up for a free account and get your API key — no credit card required.
- 2Upgrade to an Essential plan or above to unlock the
/convertendpoint ($9.99/month). - 3Make a GET request to
https://currencyapi.net/api/v2/convertwith yourkey,amount,from, andtoparameters. - 4Parse the
conversion.resultfield from the JSON response — that is your converted amount.
SDKs & Extensions
Use an official SDK to integrate the Currency Conversion API in your language of choice — no manual HTTP wiring required.
Pricing & Availability
The /convert endpoint is available on Essential plans and above. The Free plan provides live rates via /api/v2/rates — you can compute conversion arithmetic yourself at no cost, or upgrade to Essential ($9.99/month) to let the API do it server-side.
Free
$0/month
Free forever.
- 500 monthly requests
- Updated every 60 minutes
- Includes Live Rates
- Secured using HTTPS
- No Historical Rates
- No Slack Notifications
- Fixed base currency
- No team management
- 10 requests per min
- Only 1 API key
- No IP whitelisting/blacklisting
- No technical support
- Personal use only
Essential
$9.99/month
$24 with annual billing.
- 20,000 monthly requests
- Updated every 60 minutes
- Includes Live Rates
- Includes Convert Rates
- Includes Historical Rates
- Change base currency
- Slack Notifications
- No rate limits
- Secured using HTTPS
- Technical email support
- Commercial Use
- No team management
- Only 1 API key
- No IP whitelisting/blacklisting
Bonus Perks
- $20 Railway hosting credit*
StartUp
$34.99/month
$84 with annual billing.
- 125,000 monthly requests
- Updated every 60 seconds
- Includes Live Rates
- Includes Convert Rates
- Includes Historical Rates
- Includes Timeframe Endpoint
- Team management
- 2 API keys
- Change base currency
- Slack Notifications
- No rate limits
- Secured using HTTPS
- Technical email support
- Commercial Use
- No IP whitelisting/blacklisting
Bonus Perks
- $20 Railway hosting credit*
Professional
$74.99/month
$180 with annual billing.
- 10,000,000 monthly requests
- Updated every 60 seconds!
- Includes Live Rates
- Includes Convert Rates
- Includes Historical Rates
- Includes Timeframe Endpoint
- Includes OHLC Endpoint
- Team management
- 5 API keys
- IP whitelisting/blacklisting
- Change base currency
- Slack Notifications
- No rate limits
- Secured using HTTPS
- Technical email support
- Commercial Use
Bonus Perks
- $20 Railway hosting credit*
Use Cases for the Currency Conversion API
E-commerce Checkout
Display and confirm order totals in the customer's local currency at the point of purchase — one API call per transaction.
International Invoicing
Generate invoices with accurate converted amounts for cross-border clients, with no manual rate lookups or spreadsheet calculations.
Payment Processing
Settle multi-currency transactions at the correct rate by calling /convert at the moment of payment authorisation.
Portfolio Valuation
Convert cryptocurrency or foreign asset holdings to a base currency in real time for dashboards and reporting.
Travel & Expense Apps
Let users enter an amount in any currency and instantly see the equivalent in their home currency — without any client-side rate logic.
Admin & Finance Dashboards
Show converted revenue, cost, or budget figures alongside native currency data in internal tools without a separate conversion layer.
Frequently Asked Questions
Common questions about the Currency Conversion API and the /convert endpoint.
What is the Currency Conversion API?
The Currency Conversion API is a REST endpoint (/api/v2/convert) that accepts an amount, a from currency code, and a to currency code, then returns the server-computed converted result in JSON or XML. It covers 166 currencies including fiat, cryptocurrencies, and precious metals.
Example request: GET https://currencyapi.net/api/v2/convert?key=YOUR_API_KEY&amount=100&from=GBP&to=USD
Is the currency conversion API free?
The Free plan provides live exchange rates via the /rates endpoint (500 requests/month) at no cost — you can perform conversion arithmetic client-side for free. The /convert endpoint itself requires an Essential plan or above (from $9.99/month), which adds server-side conversion, historical data, and commercial use rights.
See the Pricing page for a full plan comparison.
What is the difference between /convert and /rates?
/convert — you send an amount and two currency codes; the API returns the converted result. One call, one answer. Best for single-conversion use cases like checkout or invoicing.
/rates — returns the full rate map for all 166 currencies in one call. Best when you want to apply rates to many amounts client-side, display a rate table, or cache a rate snapshot. See the Exchange Rate API page for more detail.
Which currencies and assets does the convert endpoint support?
The /convert endpoint supports all 166 assets available across the API: ISO 4217 fiat currencies, 12 major cryptocurrencies (BTC, ETH, XRP, LTC, ADA, BNB, DOGE, DOT, LINK, SOL, USDC, USDT), and precious metals (XAU, XAG, XPT, XPD). Any valid from/to pair from this set is supported.
How accurate and up to date are the conversion rates?
Rates are sourced from central banks and leading financial institutions and validated automatically. Update frequency depends on your plan:
• Professional & StartUp — updated every 60 seconds
• Essential & Free — updated every 60 minutes
The /convert endpoint uses the same underlying rate data as /rates, so the conversion result is always consistent with the rate you would retrieve separately.
Can I do historical currency conversion?
Yes. Use the /api/v2/history to retrieve the exchange rate for a specific past date, then apply the rate to your amount locally. The /api/v2/timeframe returns a rate series across a date range — useful for bulk historical conversion, backtesting, and compliance reporting.
Historical data is available on Essential plans and above, going back to January 1, 2000.
Does the convert endpoint support cryptocurrency conversion?
Yes. Cryptocurrency codes (e.g. BTC, ETH) are valid from and to values — you can convert fiat-to-crypto, crypto-to-fiat, or crypto-to-crypto. See the Cryptocurrency Exchange Rate API for more on the cryptocurrency coverage.
Example: ?amount=1&from=BTC&to=USD returns the current USD value of 1 Bitcoin.
Is there example code for the conversion API?
Yes — Python, Node.js, PHP, Go, and cURL examples are all shown on this page. Full technical reference including parameters, response schema, and error codes is available in the /documentation/convert/.
Official SDKs for Python, Node.js, PHP, and Go are also available and wrap the convert endpoint natively.
Related API Endpoints
CurrencyAPI offers a full suite of currency data endpoints. Explore the rest of the platform.
Exchange Rate API
Retrieve live exchange rates for all 166 currencies in a single call. Ideal for rate tables, bulk client-side conversion, and caching.
Cryptocurrency Exchange Rate API
BTC, ETH, XRP and 9 more cryptos alongside all fiat currencies. One API for crypto-to-fiat and fiat-to-crypto conversion.
Historical Exchange Rate API
Query daily rates back to January 2000 or pull a date-range series with /timeframe — ideal for reporting, audits, and backtesting.