Initask API

API пошуку компаній для JavaScript: автодоповнення назви з ЄДР

Оновлено 26.09.2026

Автодоповнення назви компанії на JavaScript будується на одному ендпоінті: `GET https://dani.initask.com/v1/company/search?q=` повертає до 10 компаній з ЄДР за назвою, частиною назви або кодом. У відповіді код ЄДРПОУ, повна і скорочена назва та стан. Нижче приклад з fetch, кодування кирилиці, пауза між запитами і обробка крайніх випадків.

Приклад з fetch

```javascript const r = await fetch("https://dani.initask.com/v1/company/search?q=%D0%BF%D1%80%D0%B8%D0%B2%D0%B0%D1%82%D0%B1%D0%B0%D0%BD%D0%BA", { headers: { Authorization: `Bearer ${process.env.INITASK_KEY}` }, }); const { ok, data, error } = await r.json(); console.log(r.headers.get("X-RateLimit-Remaining"), data); ```

Дивний рядок після `q=` це слово «приватбанк», закодоване для адреси. Кирилицю в параметрі запиту завжди кодують, і стандартні засоби мови роблять це самі. Ключ береться зі змінної середовища, тож запит виконує сервер. У браузері ключ світити не можна: сторінка звертається до вашого сервера, а він до API.

Що приходить у data

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

Для «приватбанк» першим прийде АТ КБ «ПРИВАТБАНК» з кодом 14360570 і станом `active`. У тому самому списку може бути і ТОВ з кодом 46379669 у стані `cancelled`, тож стан варто показувати в підказці.

Пауза між запитами

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

Крайні випадки

СитуаціяВідповідьЩо показати
нічого не знайдено200 з порожнім items«нічого не знайдено»
запит коротший за 2 символи або довший за 120400 bad_requestнічого, просто не відправляти такий запит
ліміт вичерпано429 з Retry-Afterзалишити поле працювати без підказок

Порожній масив і помилка це різні речі. Компонент, який показує «помилка» на кожен порожній результат, лякає користувача без причини.

Код 429 варто обробляти мʼяко: поле вводу продовжує працювати, просто без підказок, а сервер повторить запит після паузи з `Retry-After`. Користувач у гіршому разі введе назву вручну, і форма все одно збережеться.

Доступність компонента

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

Ліміти і кеш

Шлюз кешує відповіді пошуку на 10 хвилин. Власний кеш на сервері, наприклад на кілька хвилин для однакових запитів, ще більше економить ліміт, бо популярні назви вводять багато користувачів.

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

Заголовки `X-RateLimit-Limit`, `X-RateLimit-Remaining` і `X-RateLimit-Reset` приходять у кожній відповіді. Сервер може писати в журнал попередження, коли залишок наближається до нуля.

Після вибору

Пошук повертає лише назву, код і стан. Коли користувач обрав компанію, сервер запитує картку компанії за кодом і заповнює решту форми: форму власності, керівника, дату реєстрації. Для порталів закупівель за тим самим кодом доступні тендери Prozorro.

Що робити

  1. Запустіть приклад на сервері з ключем у змінній середовища.
  2. Додайте в компонент вводу паузу після останнього натискання і мінімум два символи.
  3. Розрізняйте порожній результат і помилку.
  4. Після вибору викликайте картку компанії за кодом.
  5. Деталі у документації пошуку, тарифи на сторінці Ціни і ліміти.

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

Як зробити автодоповнення назви компанії на JavaScript?

Сервер робить fetch до https://dani.initask.com/v1/company/search?q= з назвою від 2 символів і повертає компоненту до 10 збігів з кодом, назвою і станом.

Як передати кирилицю в запиті пошуку?

Кирилицю в параметрі q кодують для адреси, стандартні засоби мови роблять це самі. Регістр літер значення не має.

Що повертає пошук, якщо нічого не знайдено?

Відповідь 200 з порожнім масивом items, щоб клієнт відрізняв порожній результат від помилки.

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

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

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

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

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

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

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

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