API обміну валют для розробників
CurrencyRateAPI забезпечує блискавично швидкий доступ до актуальних та історичних курсів обміну валют, отриманих безпосередньо від надійних центральних банків, включаючи Європейський центральний банк.
Створений для розробників, наш RESTful API надає чисті JSON-відповіді та підтримує легку інтеграцію з веб-сайтами, додатками або внутрішніми системами за лічені хвилини — без зайвих складнощів.
GET https://currencyrateapi.com/api/latest?
base=USD HTTP/1.1
{
"success": true,
"base": "usd",
"date": "2026-01-18",
"rates": {
"GBP": 0.8820,
"JPY": 132.36,
"EUR": 0.8133
},
"last_update_unix": 1737214206
}
Використання API
Використайте цей запит, щоб отримати повний список підтримуваних валют з відповідними 3-літерними кодами
GET https://currencyrateapi.com/api/codes HTTP/1.1
Скористайтеся цим запитом, щоб отримати найновіші обмінні курси фунтів стерлінгів та японських єн відносно долара США.
GET https://currencyrateapi.com/api/latest?base=USD&codes=GBP,JPY HTTP/1.1
Скористайтеся цим запитом, щоб отримати історичні курси обміну доларів США, євро та канадських доларів відносно фунта стерлінгів станом на 25 травня 2020 року
GET https://currencyrateapi.com/api/2020-05-25?base=GBP&codes=USD,EUR,CAD HTTP/1.1
Мови програмування
$baseCurrency = 'USD';
$codes = 'EUR,CAD,JPY';
$url = 'https://currencyrateapi.com/api/latest?codes=' . $codes .
'&base=' . $baseCurrency;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$jsonResponse = curl_exec($ch);
curl_close($ch);
$objResponse = json_decode($jsonResponse);
echo "1 " . $baseCurrency . " is " . $objResponse->rates->EUR . " Euros";
/* Outputs 1 USD is 0.8133 Euros */
base = 'USD'
codes = 'EUR,CAD,JPY'
url = (
f'https://currencyrateapi.com/api/latest?codes={codes}'
f'&base={base}'
)
response = requests.get(url)
data = response.json()
print(f"1 {base} is {data['rates']['EUR']} Euros")
const base = 'USD';
const codes = 'EUR,CAD,JPY';
const url = `https://currencyrateapi.com/api/latest?codes=${codes}` +
`&base=${base}`;
(async () => {
try {
const res = await fetch(url);
const data = await res.json();
console.log(
`1 ${base} is ${data.rates.EUR} Euros`
);
} catch (err) {
console.error('Error:', err);
}
})();
base = 'USD'
codes = 'EUR,CAD,JPY'
url = URI(
"https://currencyrateapi.com/api/latest?codes=#{codes}" \
"&base=#{base}"
)
response = Net::HTTP.get(url)
data = JSON.parse(response)
puts "1 #{base} is #{data['rates']['EUR']} Euros"
String base = "USD";
String codes = "EUR,CAD,JPY";
String url = "https://currencyrateapi.com/api/latest?codes=" +
codes + "&base=" + base;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.build();
HttpResponse<String> response =
client.send(request, HttpResponse.BodyHandlers.ofString());
JSONObject data = new JSONObject(response.body());
System.out.println(
"1 " + base + " is " +
data.getJSONObject("rates").getDouble("EUR") + " Euros"
);
base := "USD"
codes := "EUR,CAD,JPY"
url := "https://currencyrateapi.com/api/latest?codes=" +
codes + "&base=" + base
resp, err := http.Get(url)
if err != nil {
panic(err)
}
defer resp.Body.Close()
var data struct {
Rates map[string]float64 `json:"rates"`
}
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
panic(err)
}
fmt.Printf(
"1 %s is %.6f Euros\n",
base, data.Rates["EUR"],
)
string base = "USD";
string codes = "EUR,CAD,JPY";
string url =
$"https://currencyrateapi.com/api/latest?codes={codes}" +
$"&base={base}";
using HttpClient client = new HttpClient();
string response = await client.GetStringAsync(url);
using JsonDocument doc = JsonDocument.Parse(response);
double eur = doc.RootElement
.GetProperty("rates")
.GetProperty("EUR")
.GetDouble();
Console.WriteLine($"1 {base} is {eur} Euros");