Введение
kinodata связывает ID фильмов и сериалов в IMDb, Кинопоиске, TMDB и Кинориуме. По этой связке API отдаёт данные тайтла: названия на русском и английском, рейтинги каждого источника, состав, кадры и трейлеры, связи между тайтлами, фильмографии и подборки.
Один фильм — пять ID
У «Начала» в каждом каталоге свой ID, и сами числа не говорят, что это один фильм:
| каталог | тип в пути | ID |
|---|---|---|
| IMDb | imdb | tt1375666 |
| Кинопоиск | kp | 447301 |
| TMDB, фильмы | tmdb | 27205 |
| TMDB, сериалы | tmdb_tv | — |
| Кинориум | kinorium | 472809 |
Любой ID открывает тот же тайтл: /titles/imdb/tt1375666, /titles/kp/447301 и /titles/tmdb/27205 возвращают одинаковую карточку. Берите тот ID, который уже есть в вашей базе.
Базовый адрес
https://api.kinodata.space/v1.3Пути в справочнике указаны от него: /ids/kp/447301 — это https://api.kinodata.space/v1.3/ids/kp/447301. Все запросы — GET по HTTPS, ключ передаётся в заголовке X-API-Key.
Формат ответа
JSON в UTF-8. Успешный ответ — сами данные, без обёртки. Ошибка — объект error и статус 4xx или 5xx:
{
"error": {
"code": "not_found",
"message": "title not found: kp 999999999"
}
}
Успех от ошибки отличайте по статусу HTTP, а не по форме тела. Подробно — на странице Ошибки.
Языки
Текстовые поля приходят парами: title_ru и title_en, name_ru и name_en. Язык всегда виден из имени поля.
Параметр lang=ru или lang=en оставляет в ответе один язык, имена полей при этом не меняются. Если перевода нет, поле равно null: подставить другой язык или оригинальное название решаете вы.
Ключ — только на сервере
Ключ даёт доступ к API от вашего имени. Держите его на сервере или в переменной окружения. В коде сайта и мобильного приложения его увидит любой, кто откроет инструменты разработчика.
Дальше
- Быстрый старт — первый запрос за пять минут.
- Языки ответа — как устроены поля
_ruи_en. - ID во всех каталогах — самый простой эндпоинт.