API курсу НБУ: офіційний курс гривні на будь-яку дату
Офіційний курс гривні НБУ на задану дату: для всіх валют або лише для потрібних кодів. Курс подається за одну одиницю валюти, дата у відповіді це дата встановлення курсу.
Де застосовують: Перерахунок інвойсу у гривню на дату операції, курсові різниці в обліку, ціни в інтернет-магазині.
Запит
GEThttps://dani.initask.com/v1/rates
| Параметр | Де | Опис |
|---|---|---|
date | запит | Дата у форматі YYYY-MM-DD, від 1996-01-06 до завтра. Без параметра береться сьогодні за Києвом. |
cur | запит | Коди валют ISO 4217 через кому, до 20 кодів. Без параметра повертаються всі валюти. |
Приклади
curl
curl -H "Authorization: Bearer $INITASK_KEY" "https://dani.initask.com/v1/rates?date=2026-09-25&cur=USD,EUR"
JavaScript
const r = await fetch("https://dani.initask.com/v1/rates?date=2026-09-25&cur=USD,EUR", {
headers: { Authorization: `Bearer ${process.env.INITASK_KEY}` },
});
const { ok, data, error } = await r.json();
console.log(r.headers.get("X-RateLimit-Remaining"), data);
Python
import os, requests
r = requests.get(
"https://dani.initask.com/v1/rates?date=2026-09-25&cur=USD,EUR",
headers={"Authorization": f"Bearer {os.environ['INITASK_KEY']}"},
timeout=10,
)
body = r.json()
print(r.headers["X-RateLimit-Remaining"], body["data"])
Змінна INITASK_KEY містить ваш ключ. Без ключа запит теж пройде в межах 100 запитів на добу.
Відповідь
Справжня відповідь на запит /v1/rates?date=2026-09-25&cur=USD,EUR.
{
"ok": true,
"data": {
"date": "2026-09-25",
"base": "UAH",
"rates": [
{
"cc": "EUR",
"name": "Євро",
"rate": 51.122,
"r030": 978
},
{
"cc": "USD",
"name": "Долар США",
"rate": 44.9729,
"r030": 840
}
]
},
"meta": {
"source": "kurs.initask.com",
"cached": false
}
}
date | дата курсу |
|---|---|
base | базова валюта, завжди UAH |
rates | курси |
rates[].cc | код валюти |
rates[].name | назва валюти |
rates[].rate | гривень за одну одиницю |
rates[].r030 | цифровий код валюти |
Помилки
| HTTP | error | Коли |
|---|---|---|
| 400 | bad_request | дата у форматі, відмінному від YYYY-MM-DD, або поза межами |
| 404 | not_found | на дату немає курсів або серед них немає запитаних валют |
| 429 | rate_limited | ліміт вичерпано, дивіться Retry-After |
| 502, 504 | upstream_* | джерело даних недоступне, ліміт не витрачається |
Джерело і свіжість
Дані: Національний банк України, архів kurs.initask.com з 2020 року, раніші дати напряму з bank.gov.ua. Шлюз тримає відповідь у кеші 10 хв, поле meta.cached показує, звідки вона.
Питання і відповіді
Коли зʼявляється курс на завтра?
НБУ встановлює курс на наступний робочий день близько 15:30 за Києвом, після цього запит з завтрашньою датою повертає новий курс.
Курс вказано за одну одиницю?
Так, для всіх валют, включно з єною і форинтом: поле rate це гривень за одну одиницю.
Як часто оновлюється відповідь?
Курс на минулу дату тримається в кеші добу, на сьогодні і завтра 10 хвилин.
Повʼязані ендпоінти
Отримати ключ API
Ключ прийде листом з каси Initask. Безкоштовний ключ дає 100 запитів на добу, платний тариф додається до того самого ключа.