{ "openapi": "3.0.0", "info": { "title": "Kinopoisk Unofficial API", "description": "Kinopoisk Unofficial API предеставляет доступ к данным сайта https://www.kinopoisk.ru. Для доступа вы должны получить токен, который будет доступен после регистрации на https://kinopoiskapiunofficial.tech
Ограничения: лимитов на общее кол-во запросов нет. Но есть на кол-во запросов в секунду.
Каждый пользователь имеет ограничение в 20 req/sec.
Некоторые эндпоинты имеют свои собственные ограничения, они указаны в описании для статуса 429.
", "contact": { "name": "Support", "email": "support@kinopoiskapiunofficial.tech" }, "version": "2.0.1" }, "servers": [ { "url": "https://kinopoiskapiunofficial.tech", "description": "Main (production) server" } ], "security": [ { "ApiKeyAuth": [] } ], "tags": [ { "name": "films", "description": "Набор методов для работы с данными о фильмах" }, { "name": "reviews", "description": "Набор методов для работы с ревью о фильмах" }, { "name": "staff", "description": "Набор методов для работы с данными об актерах, режиссерах и т.д." } ], "paths": { "/api/v2.2/films/{id}": { "get": { "tags": [ "films" ], "summary": "получить данные о фильме по kinopoisk id", "description": "Данный эндпоинт возвращает базовые данные о фильме. Поле lastSync показывает дату последнего обновления данных.", "parameters": [ { "name": "id", "in": "path", "description": "kinopoisk film id", "required": true, "style": "simple", "explode": false, "schema": { "maximum": 5000000, "minimum": 1, "type": "integer" } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Film" } } } }, "401": { "description": "Пустой или неправильный токен" }, "404": { "description": "Фильм не найден" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v2.2/films/{id}/seasons": { "get": { "tags": [ "films" ], "summary": "получить данные о сезонах для сериала по kinopoisk film id", "description": "Данный эндпоинт возвращает данные о сезонах для сериала.", "parameters": [ { "name": "id", "in": "path", "description": "kinopoisk film id", "required": true, "style": "simple", "explode": false, "schema": { "maximum": 5000000, "minimum": 1, "type": "integer" } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SeasonResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v2.2/films/{id}/facts": { "get": { "tags": [ "films" ], "summary": "получить данные о фактах и ошибках в фильме по kinopoisk film id", "description": "Данный эндпоинт возвращает список фактов и ошибок в фильме.
type - FACT, обозначает интересный факт о фильме.
type - BLOOPER, обозначает ошибку в фильме.", "parameters": [ { "name": "id", "in": "path", "description": "kinopoisk film id", "required": true, "style": "simple", "explode": false, "schema": { "maximum": 5000000, "minimum": 1, "type": "integer" } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FactResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v2.2/films/{id}/distributions": { "get": { "tags": [ "films" ], "summary": "получить данные о прокате фильма по kinopoisk film id", "description": "Данный эндпоинт возвращает данные о прокате в разных странах.", "parameters": [ { "name": "id", "in": "path", "description": "kinopoisk film id", "required": true, "style": "simple", "explode": false, "schema": { "maximum": 5000000, "minimum": 1, "type": "integer" } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DistributionResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v2.2/films/{id}/box_office": { "get": { "tags": [ "films" ], "summary": "получить данные о бюджете и сборах фильма по kinopoisk film id", "description": "Данный эндпоинт возвращает данные о бюджете и сборах.", "parameters": [ { "name": "id", "in": "path", "description": "kinopoisk film id", "required": true, "style": "simple", "explode": false, "schema": { "maximum": 5000000, "minimum": 1, "type": "integer" } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BoxOfficeResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v2.2/films/{id}/videos": { "get": { "tags": [ "films" ], "summary": "получить трейлеры,тизеры,видео для фильма по kinopoisk film id", "description": "Данный эндпоинт возвращает трейлеры,тизеры,видео для фильма по kinopoisk film id. В данный момент доступно два site:
", "parameters": [ { "name": "id", "in": "path", "description": "kinopoisk film id", "required": true, "style": "simple", "explode": false, "schema": { "maximum": 5000000, "minimum": 1, "type": "integer" } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VideoResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v2.2/films/top": { "get": { "tags": [ "films" ], "summary": "получить список фильмов из различных топов или коллекций. Например https://www.kinopoisk.ru/top/lists/58/", "description": "Возвращает список фильмов с пагинацией. Каждая страница содержит не более чем 20 фильмов.", "parameters": [ { "name": "type", "in": "query", "description": "тип топа или коллекции", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "default": "TOP_250_BEST_FILMS", "enum": [ "TOP_250_BEST_FILMS", "TOP_100_POPULAR_FILMS", "TOP_AWAIT_FILMS" ] } }, { "name": "page", "in": "query", "description": "номер страницы", "required": false, "style": "form", "explode": true, "schema": { "maximum": 20, "minimum": 1, "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FilmTopResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Лимит 5 запроса в секунду" } } } }, "/api/v2.2/films/{id}/similars": { "get": { "tags": [ "films" ], "summary": "получить список похожих фильмов по kinopoisk film id", "parameters": [ { "name": "id", "in": "path", "description": "kinopoisk film id", "required": true, "style": "simple", "explode": false, "schema": { "maximum": 5000000, "minimum": 1, "type": "integer" } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RelatedFilmResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v2.2/films/premieres": { "get": { "tags": [ "films" ], "summary": "получить список кинопремьер", "description": "Данный эндпоинт возвращает список кинопремьер. Например https://www.kinopoisk.ru/premiere/", "parameters": [ { "name": "year", "in": "query", "description": "год релиза", "required": true, "style": "form", "explode": true, "schema": { "type": "integer" } }, { "name": "month", "in": "query", "description": "месяц релиза", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "enum": [ "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER" ] } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PremiereResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Лимит 5 запросов в секунду" } } } }, "/api/v2.2/films/{id}/images": { "get": { "tags": [ "films" ], "summary": "получить изображения(кадры, постеры, фан-арты, обои и т.д.) связанные с фильмом по kinopoisk film id", "description": "Данный эндпоинт возвращает изображения связанные с фильмом с пагинацией. Каждая страница содержит не более чем 20 фильмов.
Доступные изображения:
", "parameters": [ { "name": "id", "in": "path", "description": "kinopoisk film id", "required": true, "style": "simple", "explode": false, "schema": { "maximum": 5000000, "minimum": 1, "type": "integer" } }, { "name": "type", "in": "query", "description": "тип изображения", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "default": "STILL", "enum": [ "STILL", "SHOOTING", "POSTER", "FAN_ART", "PROMO", "CONCEPT", "WALLPAPER", "COVER", "SCREENSHOT" ] } }, { "name": "page", "in": "query", "description": "номер страницы", "required": false, "style": "form", "explode": true, "schema": { "maximum": 20, "minimum": 1, "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v2.2/films/filters": { "get": { "tags": [ "films" ], "summary": "получить id стран и жанров для использования в /api/v2.2/films", "description": "Возвращает список id стран и жанров, которые могут быть использованы в /api/v2.2/films", "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiltersResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v2.2/films": { "get": { "tags": [ "films" ], "summary": "получить список фильмов по различным фильтрам", "description": "Возвращает список фильмов с пагинацией. Каждая страница содержит не более чем 20 фильмов. Данный эндпоинт не возращает более 400 фильмов. Используй /api/v2.2/films/filters чтобы получить id стран и жанров.", "parameters": [ { "name": "countries", "in": "query", "description": "список id стран разделенные запятой. Например countries=1,2,3. На данный момент можно указать не более одной страны.", "required": false, "style": "form", "explode": true, "schema": { "type": "array", "items": { "type": "integer" } } }, { "name": "genres", "in": "query", "description": "список id жанров разделенные запятой. Например genres=1,2,3. На данный момент можно указать не более одного жанра.", "required": false, "style": "form", "explode": true, "schema": { "type": "array", "items": { "type": "integer" } } }, { "name": "order", "in": "query", "description": "сортировка", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "default": "RATING", "enum": [ "RATING", "NUM_VOTE", "YEAR" ] } }, { "name": "type", "in": "query", "description": "тип фильма", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "default": "ALL", "enum": [ "FILM", "VIDEO", "TV_SERIES", "MINI_SERIES", "TV_SHOW", "ALL" ] } }, { "name": "ratingFrom", "in": "query", "description": "минимальный рейтинг", "required": false, "style": "form", "explode": true, "schema": { "type": "integer", "default": 0 } }, { "name": "ratingTo", "in": "query", "description": "максимальный рейтинг", "required": false, "style": "form", "explode": true, "schema": { "type": "integer", "default": 10 } }, { "name": "yearFrom", "in": "query", "description": "минимальный год", "required": false, "style": "form", "explode": true, "schema": { "type": "integer", "default": 1000 } }, { "name": "yearTo", "in": "query", "description": "максимальный год", "required": false, "style": "form", "explode": true, "schema": { "type": "integer", "default": 3000 } }, { "name": "imdbId", "in": "query", "description": "imdb id", "required": false, "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "keyword", "in": "query", "description": "ключевое слово, которое встречается в названии фильма", "required": false, "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "номер страницы", "required": false, "style": "form", "explode": true, "schema": { "maximum": 20, "minimum": 1, "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FilmSearchByFiltersResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Лимит 5 запросов в секунду" } } } }, "/api/v2.1/films/{id}/sequels_and_prequels": { "get": { "tags": [ "films" ], "summary": "получить сиквелы и приквелы для фильма по kinopoisk film id", "description": "tbd", "parameters": [ { "name": "id", "in": "path", "description": "kinopoisk film id", "required": true, "style": "simple", "explode": false, "schema": { "maximum": 5000000, "minimum": 1, "type": "integer" } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FilmSequelsAndPrequelsResponse" } } } } }, "401": { "description": "Пустой или неправильный токен" }, "404": { "description": "Фильм не найден" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v2.1/films/search-by-keyword": { "get": { "tags": [ "films" ], "summary": "получить список фильмов по ключевым словам", "description": "Возвращает список фильмов с пагинацией. Каждая страница содержит не более чем 20 фильмов.", "parameters": [ { "name": "keyword", "in": "query", "description": "ключивые слова для поиска", "required": true, "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "номер страницы", "required": false, "style": "form", "explode": true, "schema": { "maximum": 20, "minimum": 1, "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FilmSearchResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "404": { "description": "Фильмы не найдены" }, "429": { "description": "Слишком много запросов. Лимит 5 запросов в секунду" } } } }, "/api/v2.1/films/releases": { "get": { "tags": [ "films" ], "summary": "получить список цифровых релизов", "description": "Данный эндпоинт возвращает список цифровых релизов. Например https://www.kinopoisk.ru/comingsoon/digital/", "parameters": [ { "name": "year", "in": "query", "description": "год релиза", "required": true, "style": "form", "explode": true, "schema": { "type": "integer" } }, { "name": "month", "in": "query", "description": "месяц релиза", "required": true, "style": "form", "explode": true, "schema": { "type": "string", "enum": [ "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER" ] } }, { "name": "page", "in": "query", "description": "номер страницы", "required": false, "style": "form", "explode": true, "schema": { "maximum": 20, "minimum": 1, "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DigitalReleaseResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "404": { "description": "Фильмы не найдены" }, "429": { "description": "Слишком много запросов. Лимит 5 запросов в секунду" } } } }, "/api/v1/reviews": { "get": { "tags": [ "reviews" ], "summary": "получить рецензии зрителей", "description": "Возвращает список рецензий с пагинацией. Каждая страница содержит не более чем 20 рецензий. Поле description содержит не полный текст рецензии. Полный текст может быть получен из /api/v1/reviews/details", "parameters": [ { "name": "filmId", "in": "query", "description": "kinopoisk film id", "required": true, "style": "form", "explode": true, "schema": { "maximum": 5000000, "minimum": 1, "type": "integer" } }, { "name": "page", "in": "query", "description": "номер страницы", "required": false, "style": "form", "explode": true, "schema": { "maximum": 50, "minimum": 1, "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReviewsResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "404": { "description": "Рецензии не найдены" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v1/reviews/details": { "get": { "tags": [ "reviews" ], "summary": "получить полную рецензию по kinopoisk review id", "description": "Возвращает полную информацию о рецензии.", "parameters": [ { "name": "reviewId", "in": "query", "description": "kinopoisk review id", "required": true, "style": "form", "explode": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReviewDetailsResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "404": { "description": "Рецензия не найдена" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v1/staff": { "get": { "tags": [ "staff" ], "summary": "получить данные об актерах, режисерах и т.д. по kinopoisk film id", "parameters": [ { "name": "filmId", "in": "query", "description": "kinopoisk film id", "required": true, "style": "form", "explode": true, "schema": { "maximum": 5000000, "minimum": 1, "type": "integer" } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/StaffResponse" } } } } }, "401": { "description": "Пустой или неправильный токен" }, "404": { "description": "Данные не найдены" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v1/staff/{id}": { "get": { "tags": [ "staff" ], "summary": "получить данные о конкретном человеке по kinopoisk person id", "parameters": [ { "name": "id", "in": "path", "description": "kinopoisk person id", "required": true, "style": "simple", "explode": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "404": { "description": "Данные не найдены" }, "429": { "description": "Слишком много запросов. Общий лимит - 20 запросов в секунду" } } } }, "/api/v1/persons": { "get": { "tags": [ "persons" ], "summary": "поиск актеров, режиссеров и т.д. по имени", "description": "Одна страница может содержать до 50 элементов в items.", "parameters": [ { "name": "name", "in": "query", "description": "имя человека", "required": true, "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "номер страницы", "required": false, "style": "form", "explode": true, "schema": { "maximum": 2, "minimum": 1, "type": "integer", "default": 1 } } ], "responses": { "200": { "description": "Запрос выполнен успешно", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonByNameResponse" } } } }, "401": { "description": "Пустой или неправильный токен" }, "429": { "description": "Слишком много запросов. Общий лимит - 5 запросов в секунду" } } } } }, "components": { "schemas": { "Film": { "required": [ "boxOffice", "countries", "description", "distributions", "editorAnnotation", "endYear", "facts", "filmLength", "genres", "has3D", "hasImax", "imdbId", "isTicketsAvailable", "kinopoiskId", "lastSync", "nameEn", "nameOriginal", "nameRu", "posterUrl", "posterUrlPreview", "productionStatus", "ratingAgeLimits", "ratingAwait", "ratingAwaitCount", "ratingFilmCritics", "ratingFilmCriticsVoteCount", "ratingGoodReview", "ratingGoodReviewVoteCount", "ratingImdb", "ratingImdbVoteCount", "ratingKinopoisk", "ratingKinopoiskVoteCount", "ratingMpaa", "ratingRfCritics", "ratingRfCriticsVoteCount", "reviewsCount", "seasons", "shortDescription", "slogan", "startYear", "type", "webUrl", "year" ], "type": "object", "properties": { "kinopoiskId": { "type": "integer", "example": 301 }, "imdbId": { "type": "string", "nullable": true, "example": "tt0133093" }, "nameRu": { "type": "string", "nullable": true, "example": "Матрица" }, "nameEn": { "type": "string", "nullable": true, "example": "The Matrix" }, "nameOriginal": { "type": "string", "nullable": true, "example": "The Matrix" }, "posterUrl": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/posters/kp/301.jpg" }, "posterUrlPreview": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg" }, "reviewsCount": { "type": "integer", "example": 293 }, "ratingGoodReview": { "type": "number", "nullable": true, "example": 88.9 }, "ratingGoodReviewVoteCount": { "type": "integer", "nullable": true, "example": 257 }, "ratingKinopoisk": { "type": "number", "nullable": true, "example": 8.5 }, "ratingKinopoiskVoteCount": { "type": "integer", "nullable": true, "example": 524108 }, "ratingImdb": { "type": "number", "nullable": true, "example": 8.7 }, "ratingImdbVoteCount": { "type": "integer", "nullable": true, "example": 1729087 }, "ratingFilmCritics": { "type": "number", "nullable": true, "example": 7.8 }, "ratingFilmCriticsVoteCount": { "type": "integer", "nullable": true, "example": 155 }, "ratingAwait": { "type": "number", "nullable": true, "example": 7.8 }, "ratingAwaitCount": { "type": "integer", "nullable": true, "example": 2 }, "ratingRfCritics": { "type": "number", "nullable": true, "example": 7.8 }, "ratingRfCriticsVoteCount": { "type": "integer", "nullable": true, "example": 31 }, "webUrl": { "type": "string", "example": "https://www.kinopoisk.ru/film/301/" }, "year": { "type": "integer", "nullable": true, "example": 1999 }, "filmLength": { "type": "integer", "nullable": true, "example": 136 }, "slogan": { "type": "string", "nullable": true, "example": "Добро пожаловать в реальный мир" }, "description": { "type": "string", "nullable": true, "example": "Жизнь Томаса Андерсона разделена на две части:" }, "shortDescription": { "type": "string", "nullable": true, "example": "Хакер Нео узнает, что его мир — виртуальный. Выдающийся экшен, доказавший, что зрелищное кино может быть умным" }, "editorAnnotation": { "type": "string", "nullable": true, "example": "Фильм доступен только на языке оригинала с русскими субтитрами" }, "isTicketsAvailable": { "type": "boolean", "example": false }, "productionStatus": { "type": "string", "nullable": true, "example": "POST_PRODUCTION", "enum": [ "FILMING", "PRE_PRODUCTION", "COMPLETED", "ANNOUNCED", "UNKNOWN", "POST_PRODUCTION" ] }, "type": { "type": "string", "example": "FILM", "enum": [ "FILM", "VIDEO", "TV_SERIES", "MINI_SERIES", "TV_SHOW" ] }, "ratingMpaa": { "type": "string", "nullable": true, "example": "r" }, "ratingAgeLimits": { "type": "string", "nullable": true, "example": "age16" }, "hasImax": { "type": "boolean", "nullable": true, "example": false }, "has3D": { "type": "boolean", "nullable": true, "example": false }, "lastSync": { "type": "string", "example": "2021-07-29T20:07:49.109817" }, "countries": { "type": "array", "items": { "$ref": "#/components/schemas/Country" } }, "genres": { "type": "array", "items": { "$ref": "#/components/schemas/Genre" } }, "startYear": { "type": "integer", "nullable": true, "example": 1996 }, "endYear": { "type": "integer", "nullable": true, "example": 1996 }, "serial": { "type": "boolean", "nullable": true, "example": false }, "shortFilm": { "type": "boolean", "nullable": true, "example": false }, "completed": { "type": "boolean", "nullable": true, "example": false } } }, "SeasonResponse": { "required": [ "items", "total" ], "type": "object", "properties": { "total": { "type": "integer", "example": 5 }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/Season" } } } }, "FactResponse": { "required": [ "items", "total" ], "type": "object", "properties": { "total": { "type": "integer", "example": 5 }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/Fact" } } } }, "DistributionResponse": { "required": [ "items", "total" ], "type": "object", "properties": { "total": { "type": "integer", "example": 5 }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/Distribution" } } } }, "BoxOfficeResponse": { "required": [ "items", "total" ], "type": "object", "properties": { "total": { "type": "integer", "example": 5 }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/BoxOffice" } } } }, "Fact": { "required": [ "spoiler", "text", "type" ], "type": "object", "properties": { "text": { "type": "string", "example": "В эпизоде, где Тринити и Нео в поисках Морфиуса оказываются на крыше..." }, "type": { "type": "string", "example": "BLOOPER", "enum": [ "FACT", "BLOOPER" ] }, "spoiler": { "type": "boolean", "example": false } } }, "BoxOffice": { "required": [ "amount", "currencyCode", "name", "symbol", "type" ], "type": "object", "properties": { "type": { "type": "string", "example": "BUDGET" }, "amount": { "type": "integer", "example": 63000000 }, "currencyCode": { "type": "string", "example": "USD" }, "name": { "type": "string", "example": "US Dollar" }, "symbol": { "type": "string", "example": "$" } } }, "Distribution": { "required": [ "companies", "country", "date", "reRelease", "subType", "type" ], "type": "object", "properties": { "type": { "type": "string", "example": "PREMIERE", "enum": [ "LOCAL", "COUNTRY_SPECIFIC", "PREMIERE", "ALL", "WORLD_PREMIER" ] }, "subType": { "type": "string", "nullable": true, "example": "CINEMA", "enum": [ "CINEMA", "DVD", "DIGITAL", "BLURAY" ] }, "date": { "type": "string", "nullable": true, "example": "1999-05-07" }, "reRelease": { "type": "boolean", "nullable": true, "example": false }, "country": { "allOf": [ { "$ref": "#/components/schemas/Country" }, { "nullable": true } ] }, "companies": { "type": "array", "items": { "$ref": "#/components/schemas/Company" } } } }, "Company": { "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "example": "Каро-Премьер" } } }, "Season": { "required": [ "episodes", "number" ], "type": "object", "properties": { "number": { "type": "integer", "example": 1 }, "episodes": { "type": "array", "items": { "$ref": "#/components/schemas/Episode" } } } }, "Episode": { "required": [ "episodeNumber", "nameEn", "nameRu", "releaseDate", "seasonNumber", "synopsis" ], "type": "object", "properties": { "seasonNumber": { "type": "integer", "example": 1 }, "episodeNumber": { "type": "integer", "example": 1 }, "nameRu": { "type": "string", "nullable": true }, "nameEn": { "type": "string", "nullable": true, "example": "Chapter One: The Vanishing of Will Byers" }, "synopsis": { "type": "string", "nullable": true, "example": "The Vanishing of Will Byers..." }, "releaseDate": { "type": "string", "nullable": true, "example": "2016-07-15" } } }, "Country": { "required": [ "country" ], "type": "object", "properties": { "country": { "type": "string", "example": "США" } } }, "Genre": { "required": [ "genre" ], "type": "object", "properties": { "genre": { "type": "string", "example": "фантастика" } } }, "FiltersResponse": { "required": [ "countries", "genres" ], "type": "object", "properties": { "genres": { "type": "array", "items": { "$ref": "#/components/schemas/FiltersResponse_genres" } }, "countries": { "type": "array", "items": { "$ref": "#/components/schemas/FiltersResponse_countries" } } } }, "FilmSearchResponse": { "required": [ "films", "keyword", "pagesCount", "searchFilmsCountResult" ], "type": "object", "properties": { "keyword": { "type": "string", "example": "мстители" }, "pagesCount": { "type": "integer", "example": 7 }, "searchFilmsCountResult": { "type": "integer", "example": 134 }, "films": { "type": "array", "items": { "$ref": "#/components/schemas/FilmSearchResponse_films" } } } }, "FilmSearchByFiltersResponse": { "required": [ "items", "total", "totalPages" ], "type": "object", "properties": { "total": { "type": "integer", "example": 7 }, "totalPages": { "type": "integer", "example": 1 }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/FilmSearchByFiltersResponse_items" } } } }, "FilmSequelsAndPrequelsResponse": { "required": [ "filmId", "nameEn", "nameOriginal", "nameRu", "posterUrl", "posterUrlPreview", "relationType" ], "type": "object", "properties": { "filmId": { "type": "integer", "example": 301 }, "nameRu": { "type": "string", "example": "Матрица" }, "nameEn": { "type": "string", "example": "The Matrix" }, "nameOriginal": { "type": "string", "example": "The Matrix" }, "posterUrl": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/posters/kp/301.jpg" }, "posterUrlPreview": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg" }, "relationType": { "type": "string", "example": "SEQUEL", "enum": [ "SEQUEL", "PREQUEL", "REMAKE", "UNKNOWN" ] } } }, "RelatedFilmResponse": { "required": [ "items", "total" ], "type": "object", "properties": { "total": { "type": "integer", "example": 7 }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedFilmResponse_items" } } } }, "FilmTopResponse": { "required": [ "films", "pagesCount" ], "type": "object", "properties": { "pagesCount": { "type": "integer", "example": 7 }, "films": { "type": "array", "items": { "$ref": "#/components/schemas/FilmTopResponse_films" } } } }, "ReviewsResponse": { "required": [ "filmId", "page", "pagesCount", "reviewAllCount", "reviewAllPositiveRatio", "reviewNegativeCount", "reviewNeutralCount", "reviewPositiveCount", "reviews" ], "type": "object", "properties": { "page": { "type": "integer", "example": 1 }, "filmId": { "type": "integer", "example": 301 }, "reviewAllCount": { "type": "integer", "example": 299 }, "reviewAllPositiveRatio": { "type": "string", "example": "88.9%" }, "reviewPositiveCount": { "type": "integer", "example": 247 }, "reviewNegativeCount": { "type": "integer", "example": 24 }, "reviewNeutralCount": { "type": "integer", "example": 28 }, "pagesCount": { "type": "integer", "example": 15 }, "reviews": { "type": "array", "items": { "$ref": "#/components/schemas/ReviewsResponse_reviews" } } } }, "ReviewDetailsResponse": { "required": [ "reviewAutor", "reviewData", "reviewDescription", "reviewId", "reviewTitle", "reviewType", "userNegativeRating", "userPositiveRating" ], "type": "object", "properties": { "reviewId": { "type": "integer", "example": 2879700 }, "reviewType": { "type": "string", "example": "NEUTRAL", "enum": [ "POSITIVE", "NEGATIVE", "NEUTRAL", "UNKNOWN" ] }, "reviewData": { "type": "string", "example": "2020-02-16T10:43:00" }, "userPositiveRating": { "type": "integer", "example": 2 }, "userNegativeRating": { "type": "integer", "example": 0 }, "reviewAutor": { "type": "string", "example": "Дегустатор" }, "reviewTitle": { "type": "string", "example": "Иллюзорность мира и духовное пробуждение" }, "reviewDescription": { "type": "number" } } }, "StaffResponse": { "required": [ "description", "nameEn", "nameRu", "posterUrl", "professionKey", "professionText", "staffId" ], "type": "object", "properties": { "staffId": { "type": "integer", "example": 66539 }, "nameRu": { "type": "string", "nullable": true, "example": "Винс Гиллиган" }, "nameEn": { "type": "string", "nullable": true, "example": "Vince Gilligan" }, "description": { "type": "string", "nullable": true, "example": "Neo" }, "posterUrl": { "type": "string", "example": "https://st.kp.yandex.net/images/actor/66539.jpg" }, "professionText": { "type": "string", "example": "Режиссеры" }, "professionKey": { "type": "string", "example": "DIRECTOR", "enum": [ "WRITER", "OPERATOR", "EDITOR", "COMPOSER", "PRODUCER_USSR", "TRANSLATOR", "DIRECTOR", "DESIGN", "PRODUCER", "ACTOR", "VOICE_DIRECTOR", "UNKNOWN" ] } } }, "PersonResponse": { "required": [ "age", "birthday", "birthplace", "death", "deathplace", "facts", "films", "growth", "hasAwards", "nameEn", "nameRu", "personId", "posterUrl", "profession", "sex", "spouses", "webUrl" ], "type": "object", "properties": { "personId": { "type": "integer", "example": 66539 }, "webUrl": { "type": "string", "nullable": true, "example": "10096" }, "nameRu": { "type": "string", "nullable": true, "example": "Винс Гиллиган" }, "nameEn": { "type": "string", "nullable": true, "example": "Vince Gilligan" }, "sex": { "type": "string", "nullable": true, "example": "MALE", "enum": [ "MALE", "FEMALE" ] }, "posterUrl": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/actor_posters/kp/10096.jpg" }, "growth": { "type": "string", "nullable": true, "example": "174" }, "birthday": { "type": "string", "nullable": true, "example": "1965-04-04" }, "death": { "type": "string", "nullable": true, "example": "2008-01-22" }, "age": { "type": "integer", "nullable": true, "example": 55 }, "birthplace": { "type": "string", "nullable": true, "example": "Манхэттэн, Нью-Йорк, США" }, "deathplace": { "type": "string", "nullable": true, "example": "Манхэттэн, Нью-Йорк, США" }, "hasAwards": { "type": "integer", "nullable": true, "example": 1 }, "profession": { "type": "string", "nullable": true, "example": "Актер, Продюсер, Сценарист" }, "facts": { "type": "array", "items": { "type": "string", "example": "Полное имя - Роберт Джон Дауни младший (Robert John Downey Jr.)." } }, "spouses": { "type": "array", "items": { "$ref": "#/components/schemas/PersonResponse_spouses" } }, "films": { "type": "array", "items": { "$ref": "#/components/schemas/PersonResponse_films" } } } }, "PersonByNameResponse": { "required": [ "items", "total" ], "type": "object", "properties": { "total": { "type": "integer", "example": 35 }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/PersonByNameResponse_items" } } } }, "ImageResponse": { "required": [ "items", "total", "totalPages" ], "type": "object", "properties": { "total": { "type": "integer", "description": "Общее кол-во изображений", "example": 50 }, "totalPages": { "type": "integer", "description": "Код-во доступных страниц", "example": 3 }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/ImageResponse_items" } } } }, "PremiereResponse": { "required": [ "items", "total" ], "type": "object", "properties": { "total": { "type": "integer", "example": 34 }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/PremiereResponseItem" } } } }, "PremiereResponseItem": { "required": [ "countries", "duration", "genres", "kinopoiskId", "nameEn", "nameRu", "posterUrl", "posterUrlPreview", "premiereRu", "year" ], "type": "object", "properties": { "kinopoiskId": { "type": "integer", "example": 301 }, "nameRu": { "type": "string", "nullable": true, "example": "Дитя погоды" }, "nameEn": { "type": "string", "nullable": true, "example": "Tenki no ko" }, "year": { "type": "integer", "example": 2019 }, "posterUrl": { "type": "string", "example": "http://kinopoiskapiunofficial.tech/images/posters/kp/1219417.jpg" }, "posterUrlPreview": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg" }, "countries": { "type": "array", "items": { "$ref": "#/components/schemas/Country" } }, "genres": { "type": "array", "items": { "$ref": "#/components/schemas/Genre" } }, "duration": { "type": "integer", "nullable": true, "example": 112 }, "premiereRu": { "type": "string", "example": "2020-06-01" } } }, "DigitalReleaseResponse": { "required": [ "page", "releases", "total" ], "type": "object", "properties": { "page": { "type": "integer", "example": 1 }, "total": { "type": "integer", "example": 34 }, "releases": { "type": "array", "items": { "$ref": "#/components/schemas/DigitalReleaseItem" } } } }, "DigitalReleaseItem": { "required": [ "countries", "duration", "expectationsRating", "expectationsRatingVoteCount", "filmId", "genres", "nameEn", "nameRu", "posterUrl", "posterUrlPreview", "rating", "ratingVoteCount", "releaseDate", "year" ], "type": "object", "properties": { "filmId": { "type": "integer", "example": 301 }, "nameRu": { "type": "string", "example": "Дитя погоды" }, "nameEn": { "type": "string", "example": "Tenki no ko" }, "year": { "type": "integer", "example": 2019 }, "posterUrl": { "type": "string", "example": "http://kinopoiskapiunofficial.tech/images/posters/kp/1219417.jpg" }, "posterUrlPreview": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg" }, "countries": { "type": "array", "items": { "$ref": "#/components/schemas/Country" } }, "genres": { "type": "array", "items": { "$ref": "#/components/schemas/Genre" } }, "rating": { "type": "number", "example": 7.962 }, "ratingVoteCount": { "type": "integer", "example": 14502 }, "expectationsRating": { "type": "number", "example": 99.13 }, "expectationsRatingVoteCount": { "type": "integer", "example": 1123 }, "duration": { "type": "integer", "example": 112 }, "releaseDate": { "type": "string", "example": "2020-06-01" } } }, "VideoResponse": { "required": [ "items", "total" ], "type": "object", "properties": { "total": { "type": "integer", "example": 50 }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/VideoResponse_items" } } } }, "FiltersResponse_genres": { "type": "object", "properties": { "id": { "type": "integer", "example": 1 }, "genre": { "type": "string", "example": "боевик" } } }, "FiltersResponse_countries": { "type": "object", "properties": { "id": { "type": "integer", "example": 1 }, "country": { "type": "string", "example": "США" } } }, "FilmSearchResponse_films": { "type": "object", "properties": { "filmId": { "type": "integer", "example": 263531 }, "nameRu": { "type": "string", "example": "Мстители" }, "nameEn": { "type": "string", "example": "The Avengers" }, "type": { "type": "string", "example": "FILM", "enum": [ "FILM", "VIDEO", "TV_SERIES", "MINI_SERIES", "TV_SHOW", "UNKNOWN" ] }, "year": { "type": "string", "example": "2012" }, "description": { "type": "string", "example": "США, Джосс Уидон(фантастика)" }, "filmLength": { "type": "string", "example": "2:17" }, "countries": { "type": "array", "items": { "$ref": "#/components/schemas/Country" } }, "genres": { "type": "array", "items": { "$ref": "#/components/schemas/Genre" } }, "rating": { "type": "string", "example": "NOTE!!! 7.9 for released film or 99% if film have not released yet" }, "ratingVoteCount": { "type": "integer", "example": 284245 }, "posterUrl": { "type": "string", "example": "http://kinopoiskapiunofficial.tech/images/posters/kp/263531.jpg" }, "posterUrlPreview": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg" } } }, "FilmSearchByFiltersResponse_items": { "type": "object", "properties": { "kinopoiskId": { "type": "integer", "example": 263531 }, "imdbId": { "type": "string", "nullable": true, "example": "tt0050561" }, "nameRu": { "type": "string", "nullable": true, "example": "Мстители" }, "nameEn": { "type": "string", "nullable": true, "example": "The Avengers" }, "nameOriginal": { "type": "string", "nullable": true, "example": "The Avengers" }, "countries": { "type": "array", "items": { "$ref": "#/components/schemas/Country" } }, "genres": { "type": "array", "items": { "$ref": "#/components/schemas/Genre" } }, "ratingKinopoisk": { "type": "number", "nullable": true, "example": 7.9 }, "ratingImdb": { "type": "number", "nullable": true, "example": 7.9 }, "year": { "type": "number", "nullable": true, "example": 2012 }, "type": { "type": "string", "example": "FILM", "enum": [ "FILM", "TV_SHOW", "VIDEO", "MINI_SERIES", "TV_SERIES", "UNKNOWN" ] }, "posterUrl": { "type": "string", "example": "http://kinopoiskapiunofficial.tech/images/posters/kp/263531.jpg" }, "posterUrlPreview": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg" } } }, "RelatedFilmResponse_items": { "type": "object", "properties": { "filmId": { "type": "integer", "example": 301 }, "nameRu": { "type": "string", "nullable": true, "example": "Матрица" }, "nameEn": { "type": "string", "nullable": true, "example": "The Matrix" }, "nameOriginal": { "type": "string", "nullable": true, "example": "The Matrix" }, "posterUrl": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/posters/kp/301.jpg" }, "posterUrlPreview": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg" }, "relationType": { "type": "string", "example": "SIMILAR", "enum": [ "SIMILAR" ] } } }, "FilmTopResponse_films": { "type": "object", "properties": { "filmId": { "type": "integer", "example": 263531 }, "nameRu": { "type": "string", "nullable": true, "example": "Мстители" }, "nameEn": { "type": "string", "nullable": true, "example": "The Avengers" }, "year": { "type": "string", "nullable": true, "example": "2012" }, "filmLength": { "type": "string", "nullable": true, "example": "137" }, "countries": { "type": "array", "items": { "$ref": "#/components/schemas/Country" } }, "genres": { "type": "array", "items": { "$ref": "#/components/schemas/Genre" } }, "rating": { "type": "number", "nullable": true, "example": 7.9 }, "ratingVoteCount": { "type": "integer", "nullable": true, "example": 284245 }, "posterUrl": { "type": "string", "example": "http://kinopoiskapiunofficial.tech/images/posters/kp/263531.jpg" }, "posterUrlPreview": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/posters/kp_small/301.jpg" } } }, "ReviewsResponse_reviews": { "type": "object", "properties": { "reviewId": { "type": "integer", "example": 2879700 }, "reviewType": { "type": "string", "example": "NEUTRAL", "enum": [ "POSITIVE", "NEGATIVE", "NEUTRAL", "UNKNOWN" ] }, "reviewData": { "type": "string", "example": "2020-02-16T10:43:00" }, "userPositiveRating": { "type": "string" }, "userNegativeRating": { "type": "string" }, "reviewAutor": { "type": "string", "example": "Дегустатор" }, "reviewTitle": { "type": "string", "example": "Иллюзорность мира и духовное пробуждение" }, "reviewDescription": { "type": "number" } } }, "PersonResponse_spouses": { "type": "object", "properties": { "personId": { "type": "integer", "example": 32169 }, "name": { "type": "string", "nullable": true, "example": "Сьюзан Дауни" }, "divorced": { "type": "boolean", "example": false }, "divorcedReason": { "type": "string", "nullable": true, "example": "" }, "sex": { "type": "string", "example": "MALE", "enum": [ "MALE", "FEMALE" ] }, "children": { "type": "integer", "example": 2 }, "webUrl": { "type": "string", "example": "https://www.kinopoisk.ru/name/32169/" }, "relation": { "type": "string", "example": "супруга" } } }, "PersonResponse_films": { "type": "object", "properties": { "filmId": { "type": "integer", "example": 32169 }, "nameRu": { "type": "string", "nullable": true, "example": "Солист" }, "nameEn": { "type": "string", "nullable": true, "example": "The Soloist" }, "rating": { "type": "string", "nullable": true, "example": "7.2 or 76% if film has not released yet" }, "general": { "type": "boolean", "example": false }, "description": { "type": "string", "nullable": true, "example": "Steve Lopez" }, "professionKey": { "type": "string", "example": "ACTOR", "enum": [ "WRITER", "OPERATOR", "EDITOR", "COMPOSER", "PRODUCER_USSR", "HIMSELF", "HERSELF", "HRONO_TITR_MALE", "HRONO_TITR_FEMALE", "TRANSLATOR", "DIRECTOR", "DESIGN", "PRODUCER", "ACTOR", "VOICE_DIRECTOR", "UNKNOWN" ] } } }, "PersonByNameResponse_items": { "type": "object", "properties": { "kinopoiskId": { "type": "integer", "example": 66539 }, "webUrl": { "type": "string", "example": "10096" }, "nameRu": { "type": "string", "nullable": true, "example": "Винс Гиллиган" }, "nameEn": { "type": "string", "nullable": true, "example": "Vince Gilligan" }, "sex": { "type": "string", "nullable": true, "example": "MALE", "enum": [ "MALE", "FEMALE", "UNKNOWN" ] }, "posterUrl": { "type": "string", "example": "https://kinopoiskapiunofficial.tech/images/actor_posters/kp/10096.jpg" } } }, "ImageResponse_items": { "type": "object", "properties": { "imageUrl": { "type": "string", "example": "https://avatars.mds.yandex.net/get-kinopoisk-image/4303601/2924f6c4-4ea0-4a1d-9a48-f29577172b27/orig" }, "previewUrl": { "type": "string", "example": "https://avatars.mds.yandex.net/get-kinopoisk-image/4303601/2924f6c4-4ea0-4a1d-9a48-f29577172b27/300x" } } }, "VideoResponse_items": { "type": "object", "properties": { "url": { "type": "string", "example": "https://www.youtube.com/watch?v=gbcVZgO4n4E" }, "name": { "type": "string", "example": "Мстители: Финал – официальный трейлер (16+)" }, "site": { "type": "string", "example": "YOUTUBE", "enum": [ "YOUTUBE", "KINOPOISK_WIDGET", "UNKNOWN" ] } } } }, "securitySchemes": { "ApiKeyAuth": { "type": "apiKey", "description": "API key to authorize requests.", "name": "X-API-KEY", "in": "header" } } } }