Skip to content
Sections: Quickstart

Getting started

Quickstart

In five minutes you will get an API key, link one movie's IDs across every catalog, open its title card and find a title by name. You need a terminal with curl, or any of the languages in the examples.

Get an API key

The key is free and comes with 500 requests a day. How to get a key.

Save the key to an environment variable. Every example in these docs reads it from there, so it never ends up in your code.

macOS and Linux:

export KINODATA_KEY="your_key"

Windows, PowerShell:

$env:KINODATA_KEY = "your_key"

Send the Kinopoisk ID of Inception and get its IDs in every catalog back:

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

Where:

  • kp is the catalog the ID comes from. Any of the five works: imdb, kp, tmdb, tmdb_tv, kinorium.
  • 447301 is the ID in that catalog.
  • null means the title has no ID in that catalog. Inception is a movie, so tmdb_tv_id is empty.

Open the title card

The same ID opens the title card. The fields parameter keeps only the blocks you ask for, here the titles and the kind:

curl -G -H "X-API-Key: $KINODATA_KEY" \
  --data-urlencode "fields=title,type" \
  --data-urlencode "lang=en" \
  "https://api.kinodata.space/v1.3/titles/kp/447301"
Response200
{
  "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://en.kinorium.com/472809/",
      "kp": "https://www.kinopoisk.ru/film/447301/",
      "tmdb": "https://www.themoviedb.org/movie/27205"
    }
  },
  "title": {
    "title_en": "Inception",
    "title_original": "Inception"
  },
  "type": {
    "kind": "movie",
    "is_series": false,
    "status": "released",
    "kind_label_en": "Movie",
    "status_label_en": "Released"
  }
}

The ids block always comes back. Without fields you get the whole card: up to 22 blocks, about 26 KB.

Without lang, text fields come in _ru and _en pairs. lang=en keeps only the English half.

Find a title by name

No ID at hand? Search by title in either language. Search forgives typos: “incepton”, with a letter missing, finds Inception:

curl -G -H "X-API-Key: $KINODATA_KEY" \
  --data-urlencode "q=incepton" \
  --data-urlencode "limit=1" \
  --data-urlencode "lang=en" \
  "https://api.kinodata.space/v1.3/titles"
Response200
{
  "has_more": true,
  "items": [
    {
      "imdb_id": "tt1375666",
      "kp_id": "447301",
      "tmdb_id": "27205",
      "tmdb_tv_id": null,
      "kinorium_id": "472809",
      "title_en": "Inception",
      "title_original": "Inception",
      "year": 2010,
      "release_date": "2010-07-15",
      "kind": "movie",
      "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_en": "United States"
        },
        {
          "code": "gb",
          "name_en": "United Kingdom"
        }
      ],
      "genres": [
        {
          "slug": "action",
          "name_en": "Action"
        },
        {
          "slug": "drama",
          "name_en": "Drama"
        },
        {
          "slug": "mystery",
          "name_en": "Mystery"
        },
        {
          "slug": "speculative_fiction",
          "name_en": "Speculative Fiction"
        },
        {
          "slug": "thriller",
          "name_en": "Thriller"
        }
      ]
    }
  ],
  "limit": 1,
  "offset": 0,
  "total": null
}

has_more: true means there are more results. The offset parameter returns the next page.

Next

Esc

Loading the index…

    ↑ ↓ to selectEnter to openEsc to close