Авто за номером на Python: історія номерного знака скриптом
Оновлено 26.09.2026
Страхова компанія звіряє дані авто в полісах, лізингова компанія перевіряє автопарк клієнта, аналітик вивчає вторинний ринок у регіоні. У всіх випадках на вході список номерних знаків, а на виході потрібні марка, модель, рік і історія реєстраційних операцій. Initask API повертає операції з відкритих даних МВС за номерним знаком запитом `GET https://dani.initask.com/v1/vehicle/{plate}`, і скрипт на Python проходить список без ручної роботи.
Базовий запит
```python import os, requests
r = requests.get( "https://dani.initask.com/v1/vehicle/AA0005KX", headers={"Authorization": f"Bearer {os.environ['INITASK_KEY']}"}, timeout=10, ) body = r.json() print(r.headers["X-RateLimit-Remaining"], body["data"]) ```
Ключ береться зі змінної середовища `INITASK_KEY`. Без ключа доступно 100 запитів на добу з однієї IP-адреси.
Структура відповіді
Відповідь містить номер латиницею, кількість знайдених операцій у полі `total` і перелік операцій за датою. Для AA0005KX операцій 7. Кожна операція має такі поля:
| Поле | Що означає |
|---|---|
| date | місяць операції, YYYY-MM |
| operation | вид операції |
| brand | марка |
| model | модель |
| year | рік випуску |
| color | колір |
| fuel | вид пального |
| region | регіон реєстрації |
У прикладі є операція 2013-10 «інша операція (номер, документи, зміна даних)» з MERCEDES-BENZ S 350 на дизельному паливі і операція 2025-04 «перереєстрація на нового власника» з TOYOTA CAMRY 2021 року на бензині. Обидві в Києві.
Один номер, різні авто
Головне, що має враховувати скрипт: номерний знак переходить між автомобілями. Після зняття з обліку його видають іншому власнику, тому в історії одного номера можуть бути різні машини. Для звірки поліса чи договору лізингу потрібне авто, яке носило номер у конкретний період. Скрипт відбирає операції з датою до потрібного місяця і бере найсвіжішу з них.
Дата подана з точністю до місяця. Для більшості звірок цього досить. Точні дати, повний VIN, сервісний центр і тип власника є у платному звіті на avto.initask.com.
Нормалізація номерів
Номери в списках записані по-різному: латиницею, кирилицею, з пробілами. Шлюз приймає всі варіанти, від 4 до 10 літер і цифр: кирилицю передає як є, а джерело зводить її до латиниці. У відповіді номер завжди латиницею, і саме його зручно використовувати як ключ для обʼєднання з вашими даними.
Обробка відповідей
| Код відповіді | Помилка | Що робити у скрипті |
|---|---|---|
| успіх | обробити операції | |
| 400 | bad_request | рядок не схожий на номерний знак: записати в журнал |
| 404 | not_found | номера у відкритих даних немає: позначити для ручної перевірки |
| 503 | upstream_loading | джерело перезавантажує архів МВС: зачекати Retry-After і повторити |
| 429 | ліміт вичерпано | зачекати Retry-After і повторити |
Відповідь 503 особлива: вона тимчасова і не означає проблему з номером. Скрипт, який записав би такий номер як відсутній, дав би хибний результат. Правильна реакція: пауза на вказаний час і повтор.
Аналіз вторинного ринку
Для аналітика історія номерів дає цікавий зріз ринку. Операції «перереєстрація на нового власника» показують продажі вживаних авто, а поля марки, моделі, року і регіону дозволяють рахувати, які машини і якого віку продаються найчастіше в кожному регіоні. Вид пального показує, як змінюється частка дизельних, бензинових і інших авто на вторинному ринку.
Персональні дані
Імен, адрес і кодів фізичних осіб у відкритому наборі МВС немає. Скрипт працює лише з характеристиками авто і операціями, тож результати можна обробляти без спеціального режиму для персональних даних. Поєднувати ці результати з вашими даними про власників варто лише в межах ваших законних підстав.
Кеш і ліміти
Відповідь кешується на 1440 хвилин. Історія номера змінюється рідко, тому результати можна зберігати у себе і оновлювати раз на кілька місяців.
| План | Запитів | Ціна, грн на місяць |
|---|---|---|
| Безкоштовний | 100 на добу | 0 |
| Старт | 10000 на місяць | 990 |
| Про | 100000 на місяць | 2990 |
Що робити
- Запустіть приклад з номером AA0005KX і подивіться всі 7 операцій.
- Для свого списку номерів оберіть правило: найсвіжіша операція або операція до потрібної дати.
- Обробіть 404, 503 і 429 окремо, без плутанини між відсутнім номером і тимчасовою недоступністю.
- Для корпоративних власників автопарку підтягуйте дані з картки за ЄДРПОУ.
- Опис полів у документації авто за номером, тарифи на сторінці Ціни і ліміти.
Питання і відповіді
Як отримати історію номерного знака в Python?
Запит requests.get до https://dani.initask.com/v1/vehicle/{plate} з ключем у заголовку Authorization повертає total і операції з місяцем, видом операції, маркою, моделлю, роком, кольором, пальним і регіоном.
Чому в одного номера різні авто?
Номерний знак переходить між автомобілями: після зняття з обліку його видають іншому власнику. Операції йдуть за датою, тож видно, яке авто носило номер у кожен період.
Що робити з кодом 503?
Джерело перезавантажує архів МВС. Зачекайте час із заголовка Retry-After і повторіть запит.