Пошук торговельних марок на JavaScript: перевірка назви в інтерфейсі
Оновлено 26.09.2026
Сервіс для запуску бізнесу, генератор назв, конструктор сайтів чи кабінет юридичної фірми виграють від простої функції: людина вводить назву майбутнього бренду і одразу бачить, чи немає вже схожих марок у реєстрі. Initask API шукає в реєстрі торговельних марок Укрпатенту (УКРНОІВІ) запитом `GET https://dani.initask.com/v1/trademarks/search` і повертає до 20 марок, найближчі першими. Нижче приклад на JavaScript і поради, як зробити з цього зручний інтерфейс.
Приклад
```javascript const r = await fetch("https://dani.initask.com/v1/trademarks/search?q=eldorado", { headers: { Authorization: `Bearer ${process.env.INITASK_KEY}` }, }); const { ok, data, error } = await r.json(); console.log(r.headers.get("X-RateLimit-Remaining"), data); ```
Код виконується на сервері, ключ читається зі змінної середовища. Інтерфейс у браузері звертається до вашого сервера, а той до Initask API. Назву, введену людиною, кодуйте для адреси запиту: кирилиця, пробіли і лапки без кодування зламають запит.
Що показати людині
Для запиту eldorado реєстр повертає марку зі свідоцтвом 28532, власником, класами МКТП 36 і 41, станом `ended` і датою заявки 2000-01-10. Для інтерфейсу кожну знайдену марку зручно показувати карткою: назва великими літерами, власник, класи, стан і посилання на сторінку марки на marky.initask.com.
Стани марок
| Стан | Як показати |
|---|---|
| active | «Чинне свідоцтво», найважливіший сигнал |
| pending | «Заявка на розгляді», теж важливо |
| ended | «Строк дії скінчився» |
| stopped | «Заявку або свідоцтво припинено» |
Марки зі станом `active` і `pending` варто показувати першими і яскравіше: саме вони можуть завадити реєстрації нової назви. Марки з двома іншими станами корисні як інформація, але ризик від них менший.
Класи МКТП
Класи показують, для яких товарів і послуг зареєстровано марку. Якщо людина вказала, чим займатиметься, інтерфейс може підсвітити збіги класів: та сама назва в тому самому класі це серйозний сигнал, в іншому класі менш важливий. Номери класів приходять переліком чисел, і порівняти їх з класами людини просто.
Коли надсилати запит
Запит коротший за 2 символи або довший за 120 отримує відповідь 400, тому перевірку варто запускати лише для назв потрібної довжини. Надсилати запит на кожне натискання клавіші марнотратно: зачекайте, поки людина перестане друкувати на пів секунди, і лише тоді питайте сервер. Так один пошук витрачає один запит замість десятка.
Порожній результат
Якщо схожих марок немає, API повертає порожній перелік. Інтерфейс має показати це як результат: «У реєстрі схожих назв не знайдено». Разом з цим корисно нагадати, що реєстр оновлюється, і свіжа заявка могла ще не потрапити в дані, тому перед реєстрацією назву варто перевірити ще раз.
Точний збіг
Номер свідоцтва, номер заявки або код ЄДРПОУ власника дають точний збіг. Якщо інтерфейс має поле «Перевірити марку за номером», той самий ендпоінт обробить і цей випадок. За кодом ЄДРПОУ приходять марки компанії, до 20 штук.
Ліміти і 429
Кожна відповідь містить заголовки лімітів із залишком і моментом скидання. Після вичерпання ліміту приходить 429 і заголовок `Retry-After`. Для інтерфейсу правильна реакція: показати, що перевірка тимчасово недоступна, і запропонувати спробувати пізніше. Шлюз кешує відповідь на 60 хвилин, і популярні назви, які перевіряють різні люди, не витрачають ліміт повторно.
| План | Запитів | Ціна, грн на місяць |
|---|---|---|
| Безкоштовний | 100 на добу | 0 |
| Старт | 10000 на місяць | 990 |
| Про | 100000 на місяць | 2990 |
Для публічного сервісу перевірки назв безкоштовного ліміту швидко забракне, тож закладіть стартовий план і власний кеш на сервері.
Чесне застереження
Під результатами варто написати, що перевірка показує схожі за написанням назви з реєстру Укрпатенту, а остаточну оцінку ризику реєстрації дає патентний повірений. Таке застереження захищає і користувача від зайвої впевненості, і сервіс від претензій.
Що робити
- Перенесіть запит на сервер і кодуйте назву для адреси.
- Показуйте марки картками, виділяючи стани `active` і `pending`.
- Запускайте пошук після паузи в друкуванні і лише для назв від 2 до 120 символів.
- Власників знайдених марок показуйте з картки компанії за ЄДРПОУ.
- Опис полів у документації торговельних марок, тарифи на сторінці Ціни і ліміти.
Питання і відповіді
Як зробити перевірку назви бренду на сайті?
Запит fetch з сервера до https://dani.initask.com/v1/trademarks/search?q=назва повертає до 20 схожих марок з реєстру Укрпатенту зі станом і класами МКТП.
Яка довжина запиту допустима?
Від 2 до 120 символів. Коротший чи довший запит отримує відповідь 400.
Які марки показувати першими?
Зі станом active і pending: чинні свідоцтва і заявки на розгляді найімовірніше завадять реєстрації нової назви.