Quickstart
Get your first exchange rate API call working in under 2 minutes.
Get your API key
Sign up at xchangr8.com/signup. The free plan includes 10,000 requests/month — no credit card required. Your key will look like this:
Keep your key secret — treat it like a password. Rotate it anytime from your dashboard.
Make your first request
Pass your API key in the X-API-Key header. Here is the simplest possible request:
curl https://api.xchangr8.com/v1/latest \ -H "X-API-Key: xc8_live_YOUR_KEY"
Parse the response
The API returns a JSON object with the following fields:
{ "base": "USD", "timestamp": 1749340800, "freshness": "1m ago", "source": "fastforex", "rates": { "EUR": 0.9201, "GBP": 0.7823, "JPY": 149.85, "AUD": 1.5412 } }
| Field | Type | Description |
|---|---|---|
| base | string | The base currency all rates are relative to |
| timestamp | integer | Unix timestamp (UTC) of when rates were fetched |
| freshness | string | Human-readable age of the data (e.g. "1m ago") |
| source | string | Data provider used for this response |
| rates | object | Map of currency codes to exchange rates vs. base |
Specify a base currency and symbols
Use the base query parameter to change the base currency, and symbols to return only the currencies you need:
curl "https://api.xchangr8.com/v1/latest?base=JPY&symbols=USD,EUR,AUD,GBP" \ -H "X-API-Key: xc8_live_YOUR_KEY"
This returns only USD, EUR, AUD, and GBP rates denominated in Japanese Yen — reducing payload size and keeping responses fast.
SDK integrations
Use the language that fits your stack. All examples perform the same request.
const res = await fetch( 'https://api.xchangr8.com/v1/latest?base=USD', { headers: { 'X-API-Key': 'xc8_live_YOUR_KEY' } } ) const { rates } = await res.json() console.log(`1 USD = ${rates.EUR} EUR`)
import requests r = requests.get( 'https://api.xchangr8.com/v1/latest', params={'base': 'USD'}, headers={'X-API-Key': 'xc8_live_YOUR_KEY'} ) rates = r.json()['rates'] print(f"1 USD = {rates['EUR']} EUR")
import ( "net/http" ) req, _ := http.NewRequest("GET", "https://api.xchangr8.com/v1/latest?base=USD", nil) req.Header.Set("X-API-Key", "xc8_live_YOUR_KEY") resp, _ := http.DefaultClient.Do(req)