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"Link a movie's IDs
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"{
"imdb_id": "tt1375666",
"kp_id": "447301",
"tmdb_id": "27205",
"tmdb_tv_id": null,
"kinorium_id": "472809"
}
Where:
kpis the catalog the ID comes from. Any of the five works:imdb,kp,tmdb,tmdb_tv,kinorium.447301is the ID in that catalog.nullmeans the title has no ID in that catalog. Inception is a movie, sotmdb_tv_idis 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"{
"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"{
"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
- Keys and limits: plan limits and how to watch your balance.
- Title card: every block of the card.
- Filters and sorting: how to pick titles from the catalog.