Перевірка контрагента за кодом ЄДРПОУ через API

Від коду ЄДРПОУ до перевіреного запису компанії за секунди: назва, організаційно-правова форма, статус, дати реєстрації й припинення та статутний капітал із ЄДР. Без ручного пошуку, з результатом, який можна зберегти в досьє клієнта.

Навіщо перевіряти контрагента за реєстром

Перед угодою треба переконатися, що юридична особа існує, що її назва й форма збігаються з документами, що вона не перебуває в стані припинення і щодо неї не порушено справу про банкрутство. Для банків, платіжних установ, бухгалтерів, юристів та інших суб’єктів первинного фінансового моніторингу перевірка клієнта — вимога закону про запобігання та протидію легалізації (відмиванню) доходів, одержаних злочинним шляхом; її обсяг визначає оцінка ризиків самого суб’єкта. Іншим компаніям вона потрібна, щоб не підписати договір із юридичною особою, якої вже немає. Підтвердженням має бути запис із ЄДР, а не роздруківка чи знімок екрана, які надіслав контрагент.

Вручну (відкрити реєстр, зробити знімок екрана, переписати дані) це не працює, коли контрагентів сотні на місяць. Тому перевірку вбудовують в онбординг: код введено, запис повернуто, результат збережено як підтвердження.

Як це працює з Prometiam API

Українську компанію знаходять за кодом ЄДРПОУ з 8 цифр (company_number) або за назвою (name). Для перевірки достатньо двох запитів:

  • GET /companies/search?country=UA&company_number=21673832 знаходить компанію й повертає стандартний об’єкт компанії;
  • GET /companies/{id} повертає повний запис (використайте id з відповіді пошуку).
curl 'https://api.prometiam.com/functions/v1/risk-api/companies/search?country=UA&company_number=21673832' \
  -H 'Authorization: Bearer rk_live_...'

Скорочена відповідь на цей запит. Значення наведені для ілюстрації (дату замінено шаблоном), склад полів залежить від запису в реєстрі:

{
  "data": [
    {
      "company_name": "ПРИВАТНЕ АКЦІОНЕРНЕ ТОВАРИСТВО \"КИЇВСТАР\"",
      "company_number": "21673832",
      "legal_form": "ПрАТ",
      "local_legal_form": "ПРИВАТНЕ АКЦІОНЕРНЕ ТОВАРИСТВО",
      "status": "active",
      "local_status": "зареєстровано",
      "founding_date": "РРРР-ММ-ДД"
    }
  ]
}

Назва в реєстрі записана великими літерами й українською, форма — скороченням, а local_status зберігає формулювання самого реєстру. Для автоматичного рішення читайте status: стандартний статус однаковий для всіх країн. Те саме на Python:

import requests

BASE = "https://api.prometiam.com/functions/v1/risk-api"
H = {"Authorization": "Bearer rk_live_..."}

def counterparty(code):
    r = requests.get(f"{BASE}/companies/search", headers=H, timeout=30,
                     params={"country": "UA", "company_number": code})
    r.raise_for_status()
    data = r.json().get("data", [])
    if not data:
        return None            # немає запису: перевірте код і тип особи
    c = data[0]
    return c["company_name"], c["status"], c.get("local_status")

print(counterparty("21673832"))

Нулі на початку коду ЄДРПОУ є частиною коду. Номер ПДВ — окремий номер, який присвоює податкова служба; у реєстрі його немає, тож пошук за vat для України не працює, а запит відхиляється.

Що ви отримуєте

ПолеЩо це означає
company_nameНазва юридичної особи в реєстрі, великими літерами
company_number, identifiersКод ЄДРПОУ та інші ідентифікатори, які публікує реєстр
legal_form, local_legal_formОрганізаційно-правова форма: скорочення (ТОВ, ПрАТ, АТ, ДП) і формулювання реєстру
status, local_statusСтандартний статус і формулювання реєстру; охоплює стан припинення та банкрутство
founding_date, dissolution_dateДата державної реєстрації та, якщо юридичну особу припинено, дата припинення
capital_amount, capital_currencyСтатутний капітал у гривнях (UAH), якщо реєстр його наводить

Припинені юридичні особи теж є в даних, тож за кодом можна довести, що компанії вже немає; дату припинення наведено, якщо її називає реєстр. Дані оновлюються щотижня, тому свіжа зміна в реєстрі може з’явитися із запізненням.

Як читати результат

  • Статус не `active`. Стан припинення або банкрутство: не підтверджуйте нових угод, доки не зрозуміло, який процес триває.
  • Є `dissolution_date`. Юридичну особу припинено; з’ясуйте, чи є правонаступник, перш ніж укладати угоду чи сплачувати кошти.
  • Назва або форма відрізняються від документів клієнта. Попросіть пояснення: можливо, змінилася назва чи форма, а можливо, це інша особа.
  • Порожній список `data`. За кодом нічого не знайдено: перевірте 8 цифр. Це не доводить, що компанії не існує: ФОП та інші особи, яких ми не надаємо, а також деякі державні й пов’язані з обороною суб’єкти у відкритих даних відсутні.

Пакетна перевірка

Список контрагентів перевіряють одним викликом POST /companies/lookup (до 100 позицій). Країну задають для кожної позиції окремо, тож у списку можуть бути й іноземні компанії:

curl -X POST 'https://api.prometiam.com/functions/v1/risk-api/companies/lookup' \
  -H 'Authorization: Bearer rk_live_...' \
  -H 'Content-Type: application/json' \
  -d '{"items": [{"country": "UA", "company_number": "21673832"}, {"country": "ES", "company_number": "A46103834"}]}'

Кожна позиція рахується як окремий запит і коштує 1 кредит. Для кожної позиції відповідь містить status (found, not_found, error або timeout) та об’єкт company. Пакет, що не вміщується в ліміти тарифу, відхиляється одразу з помилкою 429 batch_exceeds_quota.

Після онбордингу: події та моніторинг

Реєстр змінюється й після перевірки. GET /company-events/search?country=UA&company_number=... (2 кредити) повертає події змін у реєстрі: назву, статус, організаційно-правову форму та статутний капітал. Подію датовано днем, коли зміну вперше побачено в даних реєстру (дані читаються щотижня). Адрес у подіях немає, бо реєстр їх не публікує, а подій раніше за запуск України в жовтні 2026 року немає. Без company_number той самий виклик повертає стрічку недавніх подій усієї країни: за замовчуванням за 7 днів, не далі ніж на 31 день назад.

Щоб не опитувати стрічку, додайте клієнта до моніторингу: POST /monitor з полями country (значення UA) і company_id (з відповіді пошуку). Вебхук повідомить про зміну статусу, припинення, збіг із санкційними списками (бета) та події змін у реєстрі; повний приклад — на сторінці перевірки постачальника. Моніторинг є в усіх охоплених країнах, крім Франції та Аргентини.

Чого API не надає для України

  • Керівників, засновників і кінцевих бенефіціарних власників: для України є лише запис компанії. Сигналу відповідності реєстру теж немає.
  • Адреси, коду КВЕД і контактів: Міністерство юстиції не публікує їх у відкритих даних з початку воєнного стану.
  • Номера ПДВ, фінансової звітності та повідомлень про неплатоспроможність: Україна не входить до п’ятнадцяти ринків, для яких такі повідомлення є; стан припинення й банкрутство видно в статусі компанії.
  • Подій про зміну адреси та подій до запуску: події змін у реєстрі охоплюють лише назву, статус, організаційно-правову форму й статутний капітал, адреси реєстр не публікує; подій раніше за запуск України в жовтні 2026 року немає.
  • ФОП та інших фізичних осіб: вони не надаються ніколи. Так само не надаються фермерські господарства, асоціації та громадські об’єднання, партії, профспілки, релігійні й благодійні організації, органи публічної влади та філії.
  • Деяких державних і пов’язаних з обороною суб’єктів: їх немає у відкритих даних.

Prometiam автоматизує крок «перевірити в реєстрі наявність і статус юридичної особи», але не всю належну перевірку: оцінка ризиків, встановлення кінцевого бенефіціарного власника й рішення залишаються за вами. Дані адаптовані Prometiam і не є офіційним витягом з ЄДР; офіційний витяг видає реєстр (Міністерство юстиції України).

Contains data from the Unified State Register of Legal Entities, Individual Entrepreneurs and Public Organisations (EDR), Ministry of Justice of Ukraine, published as open data on data.gov.ua under the Creative Commons Attribution licence (CC BY 4.0). Adapted by Prometiam.

Який тариф підходить

Для перевірки за реєстром вистачає Starter (9,99 € на місяць, 1 000 кредитів): один запис коштує 1 кредит, відповіді з помилками безкоштовні. Пробний період триває 14 днів і містить 500 кредитів: потрібна банківська картка, під час пробного періоду кошти не списуються, далі діє Starter, якщо ви не скасуєте підписку. Той самий об’єкт компанії працює для 31 країни, тож для іноземного контрагента нова інтеграція не потрібна. Докладніше: ціни.

Пов’язані сторінки

Розпочати безкоштовний 14-денний пробний період · Документація API

Пробний період триває 14 днів і містить 500 кредитів. Потрібна банківська картка, під час пробного періоду кошти не списуються; далі діє тариф Starter (9,99 € на місяць), якщо ви не скасуєте підписку.

Frequently asked questions

Чи достатньо цього API для вимог законодавства про фінансовий моніторинг?
API дає запис юридичної особи з ЄДР і її статус, і це частина підтверджень у досьє клієнта. Встановлення кінцевого бенефіціарного власника, оцінка ризиків та остаточне рішення залишаються за вами.
Чи можна знайти компанію лише за назвою?
Так: GET /companies/search?country=UA&name=..., назву пишіть українською. Збіг за назвою не гарантує одного результату, тож коли код ЄДРПОУ відомий, шукайте за ним.
Що означає порожня відповідь?
За цим кодом немає запису в наших даних. Код могли ввести неправильно (в ЄДРПОУ 8 цифр), компанії може не бути у відкритих даних (деяких державних і пов’язаних з обороною суб’єктів там немає) або вона належить до тих, яких ми не надаємо (ФОП, громадські об’єднання тощо). Порожня відповідь не доводить, що компанії не існує.
Чи можна перевірити ФОП?
Ні. ФОП та інші фізичні особи не надаються ніколи; ми віддаємо лише комерційні юридичні особи, зокрема вже припинені.
Як часто оновлюються дані?
Щотижня, разом з оновленням відкритих даних ЄДР. Свіжа зміна статусу в реєстрі може з’явитися в API із запізненням.
Чи є адреса юридичної особи та код КВЕД?
Ні. Міністерство юстиції не публікує адреси, коди КВЕД і контакти у відкритих даних з початку воєнного стану, тому ми їх не надаємо.