Skip to content

Observed reference data only. UTC dates; the current day is incomplete. Highs and lows refer to sampled observations, not every market trade. Historical metal futures prices are not used as spot quotes.

For developers

Free currency API

Live and historical exchange rates as clean JSON — no key, no sign-up, CORS enabled. Use it in a script, a site or an app. Attribution keeps it free.

✓ Free ✓ No API key ✓ CORS enabled ✓ Clean JSON

Endpoints

EndpointExampleDescription
GET /api/v1/rates base All live mid-market rates for a base currency.
GET /api/v1/convert from, to, amount Convert an amount at the live mid-market rate.
GET /api/v1/timeseries from, to, days Available archived reference observations for a currency pair; UTC dates, with gaps retained.
GET /api/v1/cross base, symbols Selected rates for a base currency.

Try it now

Code examples

cURL

curl "https://currency-converter.live/api/v1/convert?from=USD&to=EUR&amount=100"

JavaScript (fetch)

const r = await fetch('https://currency-converter.live/api/v1/rates?base=USD');
const { data } = await r.json();
console.log(data.rates.EUR);

PHP

$j = json_decode(file_get_contents(
  'https://currency-converter.live/api/v1/convert?from=GBP&to=PLN&amount=50'
), true);
echo $j['data']['result'];

Python

import requests
d = requests.get('https://currency-converter.live/api/v1/timeseries',
    params={'from':'EUR','to':'USD','days':30}).json()
print(d['data']['rates'])

Response format

{
  "success": true,
  "data": { "from": "USD", "to": "EUR", "amount": 100,
            "rate": 0.857, "result": 85.7, "quote": { "as_of": "...", "status": "delayed" }, "generated_at": "..." },
  "error": null,
  "source": "currency-converter.live"
}

Fair use & terms

Free for personal and commercial use. Please cache responses (rates update about once a second) and credit currency-converter.live with a link. Data is mid-market reference only — not investment advice, and no uptime guarantee. Abuse or excessive load may be rate-limited.