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

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

Лучшие фильмы по оценке 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"
Ответ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_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 оставляет только английский. Подробнее — в разделе Языки ответа.

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

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