Через этот API вы можете получить практически все данные из кинопоиска. Больше информации вы можете получить изучив эту документацию.
Для начала работы с API вам необходимо получить токен, который вы можете получить в боте @kinopoiskdev_bot.
После получения токена, вам необходимо авторизоваться в документации, для этого нажмите на кнопку Authorize и введите токен в поле Value.
После авторизации вы можете отправлять запросы к API, для этого нажмите на кнопку Try it out и заполните необходимые поля для составления нужного фильтра.
После заполнения полей нажмите на кнопку Execute и получите ответ от API и пример запроса.
API работает по принципу REST, все запросы отправляются на адрес https://api.kinopoisk.dev/
с указанием версии API и необходимого ресурса.
Все запросы к API кинопоиска должны содержать заголовок X-API-KEY
с вашим токеном. В противном случае вы получите ошибку 401
.
При составлении запроса учитывайте, что все параметры должны быть в query
и path
. В зависимости от метода который вы используете.
Например, вы хотите получить список фильмов за 2023 год в жанре криминал
, тогда ваш запрос будет выглядеть так: https://api.kinopoisk.dev/v1.4/movie?year=2023&genres.name=криминал
.
Или вы хотите получить список фильмов с рейтингом выше 8, тогда ваш запрос будет выглядеть так: https://api.kinopoisk.dev/v1.4/movie?rating.imdb=8-10
.
Документация kinopoisk api может помочь вам составить нужный запрос, для этого воспользуйтесь ее конструктором.
Ключи в query параметрах имеют разные типы значений. В зависимости от типа значения, вы можете использовать разные операторы для фильтрации для поиска максимально релевантного фильма, сериала и т.д. в базе.
Поля с типом Number
могут принимать значения в форматах: rating.kp=1-10
, rating.kp=1
, year=2022&year=2023
.
Поля с типом Date
могут принимать значения в форматах: premiere.russia=dd.mm.yyyy-dd.mm.yyyy
, premiere.russia=dd.mm.yyyy
.
Поля с типом String
могут принимать значения в форматах: genres.name=драма
, genres.name=криминал
, genres.name=криминал&genres.name=драма
Поля с типом Boolean
могут принимать значения в форматах: isSeries=true
, isSeries=false
.
Параметры жанров и стран могут принимать операторы +
и !
, для указания включаемых и исключаемых значений. Например, вы хотите получить список фильмов в жанрах драма
и криминал
, тогда ваш запрос будет выглядеть так: genres.name=+драма&genres.name=+криминал
. Или вы хотите получить список фильмов с жанром драма
и без жанра криминал
, тогда ваш запрос будет выглядеть так: genres.name=+драма&genres.name=!криминал
.
Расшифровка операторов:
!
- исключить. Этот символ нужно отправлять в кодированной форме%21
+
- включить. Этот символ нужно отправлять в кодированной форме%2B
-
- диапазон значений, используется в качестве разделителя.
По вопросам работы с API обращайтесь в чат Developer Community KinopoiskDev.
Если вы обнаружили ошибку или у вас есть предложения по улучшению, создавайте issue на GitHub.
- Более удобная документация
- JavaScript и TypeScript клиент (Устарел, ждет обновления)
- Python клиент (Устарел, ждет обновления)
- OpenAPI Specification (JSON)
- OpenAPI Specification (YAML)
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: 1.4
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import openapi "github.com/GIT_USER_ID/GIT_REPO_ID"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
Default configuration comes with Servers
field that contains server objects as defined in the OpenAPI specification.
For using other server than the one defined on index 0 set context value sw.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), openapi.ContextServerIndex, 1)
Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), openapi.ContextServerVariables, map[string]string{
"basePath": "v2",
})
Note, enum values are always validated and all unused variables are silently ignored.
Each operation can use different server URL defined using OperationServers
map in the Configuration
.
An operation is uniquely identified by "{classname}Service.{nickname}"
string.
Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices
and sw.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), openapi.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), openapi.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
All URIs are relative to https://api.kinopoisk.dev
Class | Method | HTTP request | Description |
---|---|---|---|
DefaultApi | ImageControllerFindManyV14 | Get /v1.4/image | Поиск картинок |
DefaultApi | KeywordControllerFindManyV14 | Get /v1.4/keyword | Поиск ключевых слов |
DefaultApi | ListControllerFindManyV14 | Get /v1.4/list | Поиск коллекций |
DefaultApi | ListControllerFindOneV14 | Get /v1.4/list/{slug} | Поиск коллекции по slug |
DefaultApi | MovieControllerFindManyAwardsV14 | Get /v1.4/movie/awards | Награды тайтлов |
DefaultApi | MovieControllerFindManyByQueryV14 | Get /v1.4/movie | Универсальный поиск с фильтрами |
DefaultApi | MovieControllerFindOneV14 | Get /v1.4/movie/{id} | Поиск по id |
DefaultApi | MovieControllerGetPossibleValuesByFieldName | Get /v1/movie/possible-values-by-field | Получить список стран, жанров, и т.д. |
DefaultApi | MovieControllerGetRandomMovieV14 | Get /v1.4/movie/random | Получить рандомный тайтл из базы |
DefaultApi | MovieControllerSearchMovieV14 | Get /v1.4/movie/search | Поиск фильмов по названию |
DefaultApi | PersonControllerFindManyAwardsV14 | Get /v1.4/person/awards | Награды актеров |
DefaultApi | PersonControllerFindManyV14 | Get /v1.4/person | Универсальный поиск с фильтрами |
DefaultApi | PersonControllerFindOneV14 | Get /v1.4/person/{id} | Поиск по id |
DefaultApi | PersonControllerSearchPersonV14 | Get /v1.4/person/search | Поиск актеров, режиссеров, и т.д по имени |
DefaultApi | ReviewControllerFindManyV14 | Get /v1.4/review | Универсальный поиск с фильтрами |
DefaultApi | SeasonControllerFindManyV14 | Get /v1.4/season | Поиск сезонов |
DefaultApi | StudioControllerFindManyV14 | Get /v1.4/studio | Поиск студий |
- Audience
- BirthPlace
- CurrencyValue
- DeathPlace
- EpisodeV14
- ErrorResponseDto
- ExternalId
- FactInMovie
- FactInPerson
- Fees
- ForbiddenErrorResponseDto
- Image
- ImageDocsResponseDtoV14
- Images
- ItemName
- Keyword
- KeywordDocsResponseDtoV14
- LinkedMovieV14
- List
- ListDocsResponseDtoV14
- Logo
- MeiliPersonEntityV14
- Movie
- MovieAwardDocsResponseDto
- MovieDocsResponseDtoV14
- MovieDtoV14
- MovieFromKeyword
- MovieFromStudio
- MovieInPerson
- Name
- NetworkItemV14
- NetworksV14
- Nomination
- NominationAward
- PartialTypeClass
- Person
- PersonAward
- PersonAwardDocsResponseDto
- PersonDocsResponseDtoV14
- PersonInMovie
- PossibleValueDto
- Premiere
- Profession
- Rating
- Review
- ReviewDocsResponseDtoV14
- ReviewInfo
- SearchMovieDtoV14
- SearchMovieDtoV14ExternalId
- SearchMovieResponseDtoV14
- SearchPersonResponseDtoV14
- SeasonDocsResponseDtoV14
- SeasonInfo
- SeasonV14
- ShortImage
- Spouses
- Studio
- StudioDocsResponseDtoV14
- UnauthorizedErrorResponseDto
- Video
- VideoTypes
- Votes
- Watchability
- WatchabilityItem
- YearRange
- Type: API key
- API key parameter name: X-API-KEY
- Location: HTTP header
Note, each API key must be added to a map of map[string]APIKey
where the key is: X-API-KEY and passed in as the auth context for each request.
Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBool
PtrInt
PtrInt32
PtrInt64
PtrFloat
PtrFloat32
PtrFloat64
PtrString
PtrTime