Skip to main content

Media Search

Search is powered by the Kinopoisk API and returns results in Russian.

GET /api/v1/search?query=matrix&page=1
{
"success": true,
"data": {
"results": [
{
"id": "kp_326",
"title": "Матрица",
"originalTitle": "The Matrix",
"year": 1999,
"rating": 8.5,
"posterUrl": "/api/v1/images/kp_small/326",
"genres": [{ "id": "фантастика", "name": "фантастика" }],
"description": "...",
"type": "movie",
"externalIds": { "kp": 326, "tmdb": null, "imdb": "tt0133093" }
}
],
"total": 1,
"pages": 1
}
}

Advanced search with multiple filters. Powered by the Kinopoisk v2.2 API.

# By keyword (or use query= instead)
GET /api/v2/search?keyword=matrix
GET /api/v2/search?query=matrix

# By genre (ID or name, comma-separated)
GET /api/v2/search?genres=1&order=RATING
GET /api/v2/search?genres=драма,комедия

# By country (ID or name, comma-separated)
GET /api/v2/search?genres=1&countries=США

# By year range
GET /api/v2/search?yearFrom=2000&yearTo=2010&order=YEAR

# By rating
GET /api/v2/search?ratingFrom=7&ratingTo=10

# By type
GET /api/v2/search?type=FILM
GET /api/v2/search?type=TV_SERIES

# Combined
GET /api/v2/search?query=star&genres=2&countries=США&yearFrom=2010&order=RATING&page=1

Parameters​

ParamTypeDescription
querystringSearch keyword (alias for keyword)
keywordstringSearch keyword
genresstringGenre IDs or names, comma-separated (e.g. 1, 3,5, драма,комедия)
countriesstringCountry IDs or names, comma-separated (e.g. 1, США,Россия)
yearFromintegerStart year
yearTointegerEnd year
ratingFromfloatMinimum rating
ratingTofloatMaximum rating
typestringFILM, TV_SERIES, TV_SHOW, MINI_SERIES, or ALL
orderstringRATING, YEAR, NUM_VOTE, RATING_KO
pageintegerPage number (default: 1)
note

Genre and country names are resolved to IDs automatically via the Kinopoisk filters API. You can pass names in any case (e.g. драма, Драма, DRAMA).

Errors​

An empty or whitespace-only query returns 400 on v1:

GET /api/v1/search?query=
# { "error": "query parameter is required" }

Collections​

# Popular films
GET /api/v1/movies/popular

# Top rated
GET /api/v1/movies/top-rated

# Top rated TV
GET /api/v1/tv/top-rated

# All support ?page=N

Media Details​

# v1 (legacy)
GET /api/v1/movie/kp_326

# v2 (cleaner response — no duplicate fields, genres as strings, all countries)
GET /api/v2/movie/kp_326

Genres​

# List all available genres
GET /api/v1/genres

# Response:
# { "success": true, "data": [
# { "id": 1, "name": "триллер" },
# { "id": 2, "name": "драма" },
# ...
# ]}

Films by Genre​

# All media in genre
GET /api/v1/category/1?order=RATING

# Movies only
GET /api/v1/category/1?films&order=RATING

# TV series only
GET /api/v1/category/1?tv&order=RATING

# Pagination
GET /api/v1/category/1?films&page=2