Free · No API Key Required

Developer Portal

Build currency conversion into your apps with our free JSON API. 150+ fiat currencies and 10 cryptocurrencies. CORS enabled, no authentication needed.

150+
Currencies
10
Crypto
None
Rate Limit
Free
Cost

Quick Start

Get live exchange rates in one line:

cURL
"color:#c084fc">curl -s https://usdconverter.com/api/rates | "color:#c084fc">jq '.rates'

Base URL

https://usdconverter.com
CORS enabled No auth required JSON responses 1hr cache

API Endpoints

GET/api/rates

Returns all exchange rates with USD as the base currency.

Response

JSON Response
{
  "success": true,
  "base": "USD",
  "timestamp": "2026-03-28T12: 00: 00.000Z",
  "rates": {
    "EUR": 0.92,
    "GBP": 0.79,
    "INR": 83.12,
    "BTC": 0.0000145,
    ...
  }
}
GET/api/convert

Convert an amount between two currencies.

Parameters

NameTypeRequiredDescription
fromstringYesSource currency code (e.g., USD)
tostringYesTarget currency code (e.g., INR)
amountnumberNoAmount to convert (default: 1)

Response

JSON Response
{
  "success": true,
  "from": "USD",
  "to": "INR",
  "amount": 100,
  "result": 8312.0,
  "rate": 83.12,
  "timestamp": "2026-03-28T12: 00: 00.000Z"
}
GET/api/currencies

Lists all supported currencies with metadata.

Response

JSON Response
{
  "success": true,
  "count": 53,
  "fiat_count": 43,
  "crypto_count": 10,
  "currencies": [
    { "code": "USD", "name": "US Dollar", "symbol": "$", "flag": "...", "type": "fiat" },
    { "code": "BTC", "name": "Bitcoin", "symbol": "...", "flag": "...", "type": "crypto" },
    ...
  ]
}
GET/api/rates/{from}-to-{to}

Get rate details for a specific currency pair including a conversion table.

Parameters

NameTypeRequiredDescription
pairpathYesCurrency pair slug (e.g., usd-to-inr)

Response

JSON Response
{
  "success": true,
  "from": { "code": "USD", "name": "US Dollar", "symbol": "$" },
  "to": { "code": "INR", "name": "Indian Rupee", "symbol": "..." },
  "rate": 83.12,
  "inverse_rate": 0.012031,
  "table": [
    { "amount": 1, "converted": 83.12 },
    { "amount": 100, "converted": 8312.0 },
    ...
  ],
  "timestamp": "2026-03-28T12: 00: 00.000Z"
}
GET/api/historical

Returns historical rate data for a currency pair (mock data).

Parameters

NameTypeRequiredDescription
fromstringNoSource currency (default: USD)
tostringNoTarget currency (default: INR)
periodstringNoTime period: 7d, 30d, 90d, or 1y (default: 30d)

Response

JSON Response
{
  "success": true,
  "from": "USD",
  "to": "INR",
  "period": "30d",
  "data_points": 31,
  "data": [
    { "date": "2026-02-26", "rate": 82.95 },
    { "date": "2026-02-27", "rate": 83.01 },
    ...
  ]
}

SDK / Code Examples

JavaScript / TypeScript

JavaScript (Fetch)
"color:">var(--text3)">// Convert 100 USD to EUR
"color:#c084fc">const res = "color:#c084fc">await fetch('https:var(--text3)">//usdconverter.com/api/convert?from=USD&to=EUR&amount=100');
"color:#c084fc">const data = "color:#c084fc">await res.json();

console.log(`${data.amount} ${data.from} = ${data.result} ${data.to}`);
"color:">var(--text3)">// Output: 100 USD = 92.0 EUR

"color:">var(--text3)">// Get all rates
"color:#c084fc">const ratesRes = "color:#c084fc">await fetch('https:var(--text3)">//usdconverter.com/api/rates');
"color:#c084fc">const { rates } = "color:#c084fc">await ratesRes.json();

"color:">var(--text3)">// Convert between any two currencies
"color:#c084fc">const eurToGbp = rates['GBP'] / rates['EUR'];
console.log(`1 EUR = ${eurToGbp.toFixed(4)} GBP`);

Python

Python (requests)
"color:#c084fc">import requests

"color:var(--text3)"># Direct conversion
data = requests.get(
    'https://usdconverter.com/api/convert',
    params={'">from': 'USD', 'to': 'INR', 'amount': 500}
).json()

"color:#c084fc">print(f"{data['amount']} {data['"color:#c084fc">from']} = {data['result']} {data['to']}")
"color:var(--text3)"># Output: 500 USD = 41560.0 INR

"color:var(--text3)"># Get all rates
rates = requests.get('https://usdconverter.com/api/rates').json()['rates']

"color:var(--text3)"># Build a conversion table
"color:#c084fc">for currency "color:#c084fc">in ['EUR', 'GBP', 'JPY', 'INR']:
    "color:#c084fc">print(f"1 USD = {rates[currency]:.2f} {currency}")

PHP

PHP
"color:var(--text3)">// Using file_get_contents
"color:var(--cyan)">$url = 'https:">//usdconverter.com/api/convert?from=USD&to=EUR&amount=250';
"color:var(--cyan)">$data = json_decode(file_get_contents("color:var(--cyan)">$url), true);

"color:#c084fc">echo "color:var(--cyan)">$data['amount'] . ' ' . "color:var(--cyan)">$data['from'] . ' = ' . "color:var(--cyan)">$data['result'] . ' ' . "color:var(--cyan)">$data['to'];
"color:var(--text3)">// Output: 250 USD = 230.0 EUR

"color:var(--text3)">// Using cURL
"color:var(--cyan)">$ch = curl_init('https:">//usdconverter.com/api/rates');
curl_setopt("color:var(--cyan)">$ch, CURLOPT_RETURNTRANSFER, true);
"color:var(--cyan)">$response = json_decode(curl_exec("color:var(--cyan)">$ch), true);
curl_close("color:var(--cyan)">$ch);

"color:var(--cyan)">$rates = "color:var(--cyan)">$response['rates'];
"color:#c084fc">echo "1 USD = " . "color:var(--cyan)">$rates['GBP'] . " GBP";

cURL

cURL Examples
"color:var(--text3)"># Get all rates
"color:#c084fc">curl -s https://usdconverter.com/api/rates | "color:#c084fc">jq '.rates'

"color:var(--text3)"># Convert 100 USD to INR
"color:#c084fc">curl -s "https://usdconverter.com/api/convert?from=USD&to=INR&amount=100" | "color:#c084fc">jq

"color:var(--text3)"># Get specific pair details
"color:#c084fc">curl -s https://usdconverter.com/api/rates/usd-to-eur | "color:#c084fc">jq

"color:var(--text3)"># List all currencies
"color:#c084fc">curl -s https://usdconverter.com/api/currencies | "color:#c084fc">jq '.currencies[].code'

"color:var(--text3)"># Get historical data
"color:#c084fc">curl -s "https://usdconverter.com/api/historical?from=USD&to=EUR&period=7d" | "color:#c084fc">jq

Error Handling

All error responses follow a consistent format:

Error Response
{
  "success": false,
  "error": "Missing required parameters: from, to"
}

HTTP Status Codes

200Success
400Bad Request (invalid parameters or unsupported currency)
500Internal Server Error (upstream API failure)