Перейти к содержимому
Разделы: Быстрый старт

Начало

Быстрый старт

За пять минут вы получите ключ, свяжете ID одного фильма во всех каталогах, откроете его карточку и найдёте тайтл по названию. Понадобится терминал с curl или любой язык из примеров.

Получите ключ

Ключ бесплатный, в него входит 500 запросов в сутки. Как получить ключ.

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

macOS и Linux:

export KINODATA_KEY="ваш_ключ"

Windows, PowerShell:

$env:KINODATA_KEY = "ваш_ключ"

Свяжите ID фильма

Передайте ID «Начала» на Кинопоиске — в ответ придут его ID во всех каталогах:

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"
}

Где:

  • kp — каталог, из которого ID. Подходит любой из пяти: imdb, kp, tmdb, tmdb_tv, kinorium.
  • 447301 — ID в этом каталоге.
  • null — ID в этом каталоге нет. «Начало» — фильм, поэтому tmdb_tv_id пуст.

Откройте карточку

Тот же ID открывает карточку тайтла. Параметр fields оставляет нужные блоки, здесь — названия и вид:

curl -G -H "X-API-Key: $KINODATA_KEY" \
  --data-urlencode "fields=title,type" \
  "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"
    }
  },
  "title": {
    "title_ru": "Начало",
    "title_en": "Inception",
    "title_original": "Inception"
  },
  "type": {
    "kind": "movie",
    "is_series": false,
    "status": "released",
    "kind_label_ru": "Фильм",
    "kind_label_en": "Movie",
    "status_label_ru": "Вышел",
    "status_label_en": "Released"
  }
}

Блок ids приходит всегда. Без fields карточка приходит целиком: до 22 блоков, около 26 КБ.

Текстовые поля приходят парами _ru и _en. Чтобы получить один язык, добавьте lang=ru или lang=en.

Найдите тайтл по названию

Если ID нет, ищите по названию на любом языке. Поиск прощает опечатки — запрос «начло» с пропущенной буквой находит «Начало»:

curl -G -H "X-API-Key: $KINODATA_KEY" \
  --data-urlencode "q=начло" \
  --data-urlencode "limit=1" \
  "https://api.kinodata.space/v1.3/titles"
Ответ200
{
  "has_more": true,
  "items": [
    {
      "imdb_id": "tt1375666",
      "kp_id": "447301",
      "tmdb_id": "27205",
      "tmdb_tv_id": null,
      "kinorium_id": "472809",
      "title_ru": "Начало",
      "title_en": "Inception",
      "title_original": "Inception",
      "year": 2010,
      "release_date": "2010-07-15",
      "kind": "movie",
      "poster_url_ru": "https://avatars.mds.yandex.net/get-kinopoisk-image/1629390/8ab9a119-dd74-44f0-baec-0629797483d7/600x900",
      "poster_url_en": "https://image.tmdb.org/t/p/original/xlaY2zyzMfkhk0HSC5VUwzoZPU1.jpg",
      "posters_by_source": {
        "kp": "https://avatars.mds.yandex.net/get-kinopoisk-image/1629390/8ab9a119-dd74-44f0-baec-0629797483d7/600x900",
        "tmdb": "https://image.tmdb.org/t/p/original/piQXcdOGgv1O9HQ07pI0tnjkGJw.jpg",
        "imdb": null,
        "kinorium": "https://images.kinorium.com/movie/poster/472809/w1500_37543056.jpg"
      },
      "rating_kp": 8.7,
      "rating_tmdb": 8.4,
      "rating_imdb": 8.8,
      "rating_kr": 8.6,
      "rating_letterboxd": 8.4,
      "votes_kp": 1132562,
      "votes_tmdb": 40402,
      "votes_imdb": 2877173,
      "countries": [
        {
          "code": "us",
          "name_ru": "США",
          "name_en": "United States"
        },
        {
          "code": "gb",
          "name_ru": "Великобритания",
          "name_en": "United Kingdom"
        }
      ],
      "genres": [
        {
          "slug": "action",
          "name_ru": "Боевик",
          "name_en": "Action"
        },
        {
          "slug": "drama",
          "name_ru": "Драма",
          "name_en": "Drama"
        },
        {
          "slug": "mystery",
          "name_ru": "Детектив",
          "name_en": "Mystery"
        },
        {
          "slug": "speculative_fiction",
          "name_ru": "Фантастика",
          "name_en": "Speculative Fiction"
        },
        {
          "slug": "thriller",
          "name_ru": "Триллер",
          "name_en": "Thriller"
        }
      ]
    }
  ],
  "limit": 1,
  "offset": 0,
  "total": null
}

has_more: true значит, что результатов больше. Следующую страницу отдаёт параметр offset.

Дальше

Esc

Загружаем оглавление…

    ↑ ↓ выбратьEnter открытьEsc закрыть