IMDb API: рейтинг IMDb, ID и данные фильмов
kinodata отдаёт данные о фильмах и сериалах по ID IMDb — тому, что начинается с tt. По одному ID вы получаете ID того же тайтла в Кинопоиске, TMDB и Кинориуме, рейтинг и голоса IMDb рядом с оценками других каталогов и карточку на английском и русском. Это обычный REST с ответами в JSON и один ключ на все запросы.
kinodata — независимый сервис. Это не официальный API IMDb, и с IMDb и Amazon он не связан.
ID IMDb в Кинопоиск, TMDB и Кинориум
Один запрос по ID IMDb возвращает ID тайтла во всех каталогах. Здесь это «Начало», tt1375666:
curl -H "X-API-Key: $KINODATA_KEY" \
"https://api.kinodata.space/v1.3/ids/imdb/tt1375666"{
"imdb_id": "tt1375666",
"kp_id": "447301",
"tmdb_id": "27205",
"tmdb_tv_id": null,
"kinorium_id": "472809"
}
Так же работает обратный путь: по ID Кинопоиска, TMDB или Кинориума приходит ID IMDb. Подробнее — в разделе ID во всех каталогах.
Рейтинг IMDb и голоса
В блоке ratings карточки у оценки IMDb есть число голосов и ссылка на страницу тайтла, а рядом — Кинопоиск, TMDB, Кинориум, Letterboxd, Rotten Tomatoes и Metacritic:
curl -G -H "X-API-Key: $KINODATA_KEY" \
--data-urlencode "fields=ratings" \
"https://api.kinodata.space/v1.3/titles/kp/447301"{
"ids": {
"imdb_id": "tt1375666",
"kp_id": "447301",
"tmdb_id": "27205",
"tmdb_tv_id": null,
"kinorium_id": "472809",
"urls": {
"imdb": "https://www.imdb.com/title/tt1375666/",
"kinorium": "https://ru.kinorium.com/472809/",
"kp": "https://www.kinopoisk.ru/film/447301/",
"tmdb": "https://www.themoviedb.org/movie/27205"
}
},
"ratings": {
"sources": {
"cr": {
"value": 92,
"votes": 13,
"scale": 100
},
"critics": {
"value": 8.4,
"votes": 363,
"scale": 10,
"kind": "critics"
},
"imdb": {
"value": 8.8,
"votes": 2877173,
"scale": 10,
"url": "https://www.imdb.com/title/tt1375666/"
},
"kinorium": {
"value": 8.6,
"votes": 27048,
"scale": 10,
"url": "https://ru.kinorium.com/472809/",
"distribution": [
27,
26,
59,
104,
280,
695,
2003,
4409,
5332,
5577
]
},
"kp": {
"value": 8.7,
"votes": 1132562,
"scale": 10,
"url": "https://www.kinopoisk.ru/film/447301/"
},
"letterboxd": {
"value": 8.4,
"votes": 3604328,
"scale": 10
},
"metacritic": {
"value": 74,
"votes": 42,
"scale": 100,
"kind": "critics"
},
"rt": {
"value": 86,
"votes": 364,
"scale": 100,
"kind": "critics"
},
"tmdb": {
"value": 8.4,
"votes": 40402,
"scale": 10,
"url": "https://www.themoviedb.org/movie/27205"
}
},
"votes_total": 4050137,
"divergence_kp_imdb": 0.1,
"popularity": 50.947
}
}
Лучшие фильмы по оценке IMDb
Каталог сортирует и фильтрует по оценке и числу голосов любого источника. Три фильма с лучшей оценкой IMDb среди тех, у кого больше 500 000 голосов:
curl -G -H "X-API-Key: $KINODATA_KEY" \
--data-urlencode "kind=movie" \
--data-urlencode "votes_imdb.gte=500000" \
--data-urlencode "sort=-rating_imdb" \
--data-urlencode "limit=3" \
--data-urlencode "fields=title,year,rating_imdb" \
"https://api.kinodata.space/v1.3/titles"{
"has_more": true,
"items": [
{
"imdb_id": "tt0111161",
"kp_id": "326",
"tmdb_id": "278",
"tmdb_tv_id": null,
"kinorium_id": "101209",
"title_ru": "Побег из Шоушенка",
"title_en": "The Shawshank Redemption",
"year": 1994,
"rating_imdb": 9.3
},
{
"imdb_id": "tt0068646",
"kp_id": "325",
"tmdb_id": "238",
"tmdb_tv_id": null,
"kinorium_id": "63924",
"title_ru": "Крёстный отец",
"title_en": "The Godfather",
"year": 1972,
"rating_imdb": 9.2
},
{
"imdb_id": "tt0468569",
"kp_id": "111543",
"tmdb_id": "155",
"tmdb_tv_id": null,
"kinorium_id": "352641",
"title_ru": "Тёмный рыцарь",
"title_en": "The Dark Knight",
"year": 2008,
"rating_imdb": 9.1
}
],
"limit": 3,
"offset": 0,
"total": null
}
Остальные фильтры — жанры, страны, годы, люди, подборки — описаны в разделе Фильтры и сортировка.
Люди по ID IMDb
Актёры и режиссёры тоже ищутся по ID IMDb, тому, что начинается с nm. Карточка человека и его фильмография — в разделе Люди.
Вопросы
Это официальный API IMDb?
Нет. kinodata — независимый сервис, не связанный с IMDb и Amazon. Мы связываем ID одного тайтла в разных каталогах и собираем данные о нём в одну карточку.
Сколько это стоит?
На тарифе Free — 500 запросов в сутки и 10 в секунду, карта не нужна. Basic и Business дают больше запросов, условия — на странице Тарифы.
Как найти фильм без ID IMDb?
Поиском по названию: /v1.3/titles?q=inception. Поиск прощает опечатки и находит тайтл по названию на другом языке. В ответе — ID IMDb и остальных каталогов.
На каком языке ответы?
На двух сразу: у каждого текстового поля язык указан в имени (title_ru, title_en), а lang=en оставляет только английский. Подробнее — в разделе Языки ответа.
С чего начать?
С быстрого старта: там описано, как получить ключ и сделать первый запрос за пять минут.