Initask API

API курсу НБУ: офіційний курс гривні на будь-яку дату

Оновлено 26.09.2026

Initask API віддає офіційний курс гривні НБУ на задану дату для всіх валют або лише для потрібних кодів. Адреса `GET https://dani.initask.com/v1/rates`, параметри `date` і `cur` необовʼязкові. Курс подається за одну одиницю валюти, дата у відповіді це дата встановлення курсу. Архів доступний з 1996-01-06.

Для чого

Три найчастіші сценарії: перерахунок інвойсу у гривню на дату операції, курсові різниці в обліку і ціни в інтернет-магазині. Усім трьом потрібен саме офіційний курс на конкретну дату, а не комерційний курс банку.

Параметри

ПараметрДеОбовʼязковийОпис
dateу запитінідата у форматі YYYY-MM-DD, від 1996-01-06 до завтра; без параметра береться сьогодні за Києвом
curу запитінікоди валют ISO 4217 через кому, до 20 кодів; без параметра повертаються всі валюти

Приклад запиту курсу долара і євро на 2026-09-25:

``` curl -H "Authorization: Bearer $INITASK_KEY" "https://dani.initask.com/v1/rates?date=2026-09-25&cur=USD,EUR" ```

Відповідь

ПолеЗначення
dateдата курсу
baseбазова валюта, завжди UAH
ratesкурси
rates[].ccкод валюти
rates[].nameназва валюти
rates[].rateгривень за одну одиницю
rates[].r030цифровий код валюти

У прикладі на 2026-09-25 курс євро 51.122, долара США 44.9729 гривні за одиницю. Цифрові коди 978 і 840 зручні, коли облікова система зберігає валюти числами.

Поле `rate` завжди гривень за одну одиницю, навіть для єни і форинта. Додатково ділити нічого не треба: те, що НБУ для деяких валют публікує курс за кілька одиниць, шлюз уже врахував.

Курсові різниці: на яку дату брати курс

Для обліку важлива саме дата операції. Інвойс від іноземного постачальника перераховується за курсом на дату оприбуткування, оплата за курсом на дату платежу, а різниця між ними і є курсовою різницею. Тому в обліковій системі курс запитують для кожної дати окремо, а не беруть сьогоднішній. Параметр `date` приймає будь-яку дату в межах архіву, і відповідь на минулу дату завжди однакова, тож її можна зберігати і не запитувати повторно. Для звіту за місяць зручно один раз завантажити курси на кожен день і тримати їх у своїй таблиці.

Коли зʼявляється курс на завтра

НБУ встановлює курс на наступний робочий день близько 15:30 за Києвом. Після цього запит із завтрашньою датою повертає новий курс. До цього часу такий запит дасть 404, і це нормальна відповідь по суті: курсу ще немає.

Помилки

КодПомилкаКоли
400bad_requestдата у форматі, відмінному від YYYY-MM-DD, або поза межами
404not_foundна дату немає курсів або серед них немає запитаних валют

Друга причина 404 трапляється, коли в `cur` передано код валюти, яку НБУ не публікує. Перевірте код за ISO 4217.

Кеш, джерело і ліміти

Курс на минулу дату тримається в кеші добу, на сьогодні і завтра 10 хвилин. Джерело: Національний банк України, архів kurs.initask.com з 2020 року, раніші дати напряму з bank.gov.ua.

ПланЗапитівЦіна, грн на місяць
Безкоштовний100 на добу0
Старт10000 на місяць990
Про100000 на місяць2990

Ключ передається заголовком `Authorization: Bearer КЛЮЧ` або параметром `key`. Без ключа 100 запитів на добу з однієї IP-адреси. Залишок ліміту видно в заголовку `X-RateLimit-Remaining`, після вичерпання приходить 429 і `Retry-After`.

Для більшості задач безкоштовного ліміту вистачає: курс на день достатньо запитати раз і зберегти у себе. Кешування на вашому боці ще й робить систему незалежною від зовнішнього запиту в момент оформлення документа.

Що робити

  1. Відкрийте документацію курсу НБУ і зробіть запит без параметрів, щоб побачити всі валюти на сьогодні.
  2. Додайте `cur` з потрібними кодами, щоб відповідь була коротшою.
  3. Запитуйте курс на дату операції, а не на сьогодні, коли рахуєте курсові різниці.
  4. Зберігайте отриманий курс у своїй базі разом з датою, щоб не запитувати його повторно.
  5. Для перевірки рахунків у платежах подивіться перевірку IBAN, для реквізитів контрагента картку компанії за ЄДРПОУ.

Питання і відповіді

Як отримати курс НБУ через API?

Зробіть запит GET https://dani.initask.com/v1/rates з параметром date у форматі YYYY-MM-DD і за потреби cur з кодами валют. Без параметрів прийдуть усі валюти на сьогодні за Києвом.

Коли зʼявляється курс НБУ на завтра?

НБУ встановлює курс на наступний робочий день близько 15:30 за Києвом. Після цього запит із завтрашньою датою повертає новий курс.

Курс вказано за одну одиницю валюти?

Так, для всіх валют, включно з єною і форинтом: поле rate це гривень за одну одиницю.

Джерела даних

Корисні сторінки

Читайте також

Отримати ключ API

Ключ прийде листом, 100 запитів на добу безкоштовно.

Потрібен AI-агент під вашу задачу?

Агент, що збирає дані з відкритих реєстрів у ваші системи і готує звіти без ручного копіювання.

Описати задачу