Перейти к содержимому

API Кинопоиска: ID, рейтинги и данные фильмов

kinodata отдаёт данные о фильмах и сериалах по ID Кинопоиска. По одному ID вы получаете ID того же тайтла в IMDb, TMDB и Кинориуме, рейтинг и голоса Кинопоиска рядом с оценками других каталогов и карточку на русском и английском. Это обычный REST с ответами в JSON и один ключ на все запросы.

kinodata — независимый сервис. Это не официальный API Кинопоиска, и с Кинопоиском и Яндексом он не связан.

ID Кинопоиска в IMDb, TMDB и Кинориум

Один запрос по ID Кинопоиска возвращает ID тайтла во всех каталогах. Здесь это «Начало», 447301:

curl -H "X-API-Key: $KINODATA_KEY" \
  "https://api.kinodata.space/v1.3/ids/kp/447301"
Ответ200
{
  "imdb_id": "tt1375666",
  "kp_id": "447301",
  "tmdb_id": "27205",
  "tmdb_tv_id": null,
  "kinorium_id": "472809"
}

Связка работает в обе стороны: по ID IMDb, TMDB или Кинориума тем же запросом приходит ID Кинопоиска. Подробнее — в разделе ID во всех каталогах.

Рейтинг Кинопоиска и оценки других каталогов

Блок 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"
Ответ200
{
  "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
  }
}

Лучшие фильмы по оценке Кинопоиска

Каталог сортирует и фильтрует по оценке и числу голосов любого источника. Три фильма с лучшей оценкой Кинопоиска среди тех, у кого больше 100 000 голосов:

curl -G -H "X-API-Key: $KINODATA_KEY" \
  --data-urlencode "kind=movie" \
  --data-urlencode "votes_kp.gte=100000" \
  --data-urlencode "sort=-rating_kp" \
  --data-urlencode "limit=3" \
  --data-urlencode "fields=title,year,rating_kp" \
  "https://api.kinodata.space/v1.3/titles"
Ответ200
{
  "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_kp": 9.1
    },
    {
      "imdb_id": "tt0120689",
      "kp_id": "435",
      "tmdb_id": "497",
      "tmdb_tv_id": null,
      "kinorium_id": "109273",
      "title_ru": "Зелёная миля",
      "title_en": "The Green Mile",
      "year": 1999,
      "rating_kp": 9.1
    },
    {
      "imdb_id": "tt0109830",
      "kp_id": "448",
      "tmdb_id": "13",
      "tmdb_tv_id": null,
      "kinorium_id": "99975",
      "title_ru": "Форрест Гамп",
      "title_en": "Forrest Gump",
      "year": 1994,
      "rating_kp": 8.9
    }
  ],
  "limit": 3,
  "offset": 0,
  "total": null
}

Остальные фильтры — жанры, страны, годы, люди, подборки — описаны в разделе Фильтры и сортировка.

Что ещё есть в карточке

Названия на русском и английском, описание и слоган, жанры и страны, возрастной рейтинг, сезоны и серии сериалов, актёры и съёмочная группа, постеры и кадры, факты и цитаты, похожие фильмы и франшизы. Все поля — в справочнике карточки.

Вопросы

Это официальный API Кинопоиска?

Нет. kinodata — независимый сервис, не связанный с Кинопоиском и Яндексом. Мы связываем ID одного тайтла в разных каталогах и собираем данные о нём в одну карточку.

Сколько это стоит?

На тарифе Free — 500 запросов в сутки и 10 в секунду, карта не нужна. Basic и Business дают больше запросов, условия — на странице Тарифы.

Как найти фильм, если ID Кинопоиска неизвестен?

Поиском по названию: /v1.3/titles?q=начало. Поиск прощает опечатки и находит тайтл по названию на другом языке. В ответе — ID Кинопоиска и остальных каталогов.

Есть ли сериалы?

Да. Сериалы ищутся тем же каталогом с kind=series, а их сезоны и серии отдаёт /episodes.

С чего начать?

С быстрого старта: там описано, как получить ключ и сделать первый запрос за пять минут.