Initask API

API перевірки IBAN для Python: валідація рахунків у скрипті

Оновлено 26.09.2026

Перевірка українського IBAN у Python це один запит `requests.get` до `https://dani.initask.com/v1/iban/{iban}`. Шлюз перевіряє довжину 29 знаків, контрольне число mod-97 і код банку за ISO 13616, а потім знаходить банк за МФО в довіднику НБУ. Скрипту лишається прочитати `valid` і, за потреби, текст помилок українською.

Приклад

```python import os, requests

r = requests.get( "https://dani.initask.com/v1/iban/UA213223130000026007233566001", headers={"Authorization": f"Bearer {os.environ['INITASK_KEY']}"}, timeout=10, ) body = r.json() print(r.headers["X-RateLimit-Remaining"], body["data"]) ```

Ключ у змінній середовища, таймаут обовʼязковий. Без ключа працює анонімний доступ на 100 запитів на добу з однієї IP-адреси.

Що повертається

Для прикладу відповідь каже, що рахунок коректний, МФО 322313, номер рахунку в банку 26007233566001, банк АТ «Укрексімбанк». Також приходить запис рахунку без пробілів і запис групами по чотири знаки.

Головне для скрипта поле `valid`: правда чи ні. Якщо ні, у `errors` лежить список причин українською. Поле `bank` містить обʼєкт банку з довідника НБУ або null, якщо МФО там не знайдено. Код обробки має враховувати обидва варіанти, інакше звернення до назви банку впаде на першому ж невідомому МФО.

Три види відповідей

СитуаціяКодЩо в тіліЩо робить скрипт
рахунок коректний200valid: trueзаписує банк і МФО
рахунок з помилкою200valid: false і errorsзаписує причину
рядок довший за 34 знаки або зі сторонніми символами400errorпозначає рядок як сміття

Зверніть увагу: неправильний IBAN приходить як успішна відповідь. Скрипт, який вважає успіхом лише статус 200 і далі нічого не перевіряє, запише помилкові рахунки як правильні. Завжди читайте `valid`.

Після вичерпання ліміту приходить 429 із заголовком `Retry-After`: почекайте вказаний час і повторіть той самий рахунок.

Пакетна перевірка таблиці рахунків

Типова задача: є вивантаження довідника контрагентів з колонкою IBAN, треба знайти помилкові. Схема така. Читаєте рядки, прибираєте пробіли і дублікати рахунків, для кожного унікального IBAN робите запит, результат пишете в нову колонку: «коректний», «помилка: причина» або «не схоже на IBAN». Наприкінці зведення: скільки рахунків перевірено і скільки з помилками.

Дублікати прибирати варто: один рахунок часто стоїть у кількох рядках, а кожен запит рахується в ліміт. Відповіді на нашому боці кешуються на 1440 хвилин, проте ліміт від цього не змінюється.

Якщо в таблиці є колонка з назвою банку, яку вносили вручну, порівняйте її з назвою з відповіді: розбіжність часто означає, що рахунок переписали з іншого документа. Для великого довідника стежте за заголовком `X-RateLimit-Remaining`. Коли залишок закінчується, збережіть позицію і продовжіть після скидання ліміту, момент якого показує `X-RateLimit-Reset`.

Як оформити результат для людей

Бухгалтер чи фінансист, якому скрипт віддає результат, хоче бачити зрозумілу таблицю замість сирих відповідей. Корисні колонки: вихідний рахунок, рахунок без пробілів, висновок, причина помилки, назва банку і МФО. Рядки з помилками зручно винести на окремий аркуш, щоб їх можна було розібрати і виправити в довіднику. Підсумок нагорі аркуша відповідає на головне питання: скільки рахунків перевірено і скільки треба виправити.

Межі перевірки

Перевірка математична: вона ловить помилку в одній цифрі і майже всі перестановки сусідніх цифр. Стан рахунку знає лише банк. Скрипт може сказати, що рахунок записано правильно, і нічого не скаже про те, чи він відкритий.

Ліміти

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

Суміжні ендпоінти

Для власника рахунку з кодом ЄДРПОУ скрипт може одразу взяти картку компанії і перевірити, що вона працює. Для валютних сум у тому самому довіднику знадобиться курс НБУ на дату. Структура відповіді однакова в усіх ендпоінтах, тож функція запиту пишеться один раз.

Що робити

  1. Запустіть приклад з рахунком з документації.
  2. Змініть одну цифру і подивіться на `valid: false` і `errors`.
  3. Обробіть випадок, коли `bank` дорівнює null.
  4. Для таблиці приберіть дублікати і стежте за залишком ліміту.
  5. Повний опис у документації перевірки IBAN, тарифи на сторінці Ціни і ліміти.

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

Як перевірити IBAN на Python?

Зробіть requests.get до https://dani.initask.com/v1/iban/{iban} з заголовком Authorization: Bearer КЛЮЧ і прочитайте поле valid. Для помилкового рахунку причини лежать у errors.

Чому неправильний IBAN повертає код 200?

Відповідь 200 з valid: false означає, що запит оброблено і рахунок перевірено. Код 400 приходить лише для рядка довшого за 34 знаки або зі сторонніми символами.

Що означає bank: null?

Банк з таким МФО не знайдено в довіднику НБУ. Скрипт має обробляти цей випадок окремо.

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

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

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

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

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

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

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

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