Package: kinopoisk-api-unofficial-client
Kinopoisk API Unofficial clientPython-модуль для взаимодействия с неофициальнымAPI КиноПоискаУстановка$ pip install kinopoisk-api-unofficial-clientПолучение токена KinopoiskAPIДля получения токена необходима регистрация на сайтеkinopoiskapiunofficial.tech. После регистрации перейдите в
настройки своегопрофиляи сохраните токен.filmsНабор методов для работы с данными о фильмахПолучить данные о фильме по kinopoisk idВозвращает базовые данные о фильме. Поле last_sync показывает дату последнего обновления данных.Эндпоинт: /api/v2.2/films/{id}Метод: send_film_request(request: FilmRequest) -> FilmResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.film_requestimportFilmRequestapi_client=KinopoiskApiClient("<your_token>")request=FilmRequest(507)response=api_client.films.send_film_request(request)Получить данные о сезонах для сериала по kinopoisk film idВозвращает данные о сезонах для сериала.Эндпоинт: /api/v2.2/films/{id}/seasonsМетод: send_seasons_request(request: SeasonsRequest) -> SeasonsResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.seasons_requestimportSeasonsRequestapi_client=KinopoiskApiClient("<your_token>")request=SeasonsRequest(685246)response=api_client.films.send_seasons_request(request)Получить данные о фактах и ошибках в фильме по kinopoisk film idВозвращает список фактов и ошибок в фильме.Эндпоинт: /api/v2.2/films/{id}/factsМетод: send_facts_request(request: FactsRequest) -> FactsResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.facts_requestimportFactsRequestapi_client=KinopoiskApiClient("<your_token>")request=FactsRequest(685246)response=api_client.films.send_facts_request(request)Получить данные о прокате фильма по kinopoisk film idВозвращает данные о прокате в разных странах.Эндпоинт: /api/v2.2/films/{id}/distributionsМетод: send_distributions_request(request: DistributionsRequest) -> DistributionsResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.distributions_requestimportDistributionsRequestapi_client=KinopoiskApiClient("<your_token>")request=DistributionsRequest(507)response=api_client.films.send_distributions_request(request)Получить данные о бюджете и сборах фильма по kinopoisk film idВозвращает данные о бюджете и сборах.Эндпоинт: /api/v2.2/films/{id}/box_officeМетод: send_box_office_request(request: BoxOfficeRequest) -> BoxOfficeResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.box_office_requestimportBoxOfficeRequestapi_client=KinopoiskApiClient("<your_token>")request=BoxOfficeRequest(507)response=api_client.films.send_box_office_request(request)Получить кадры из фильма по kinopoisk film idВозвращает кадры из фильма.Эндпоинт: /api/v2.1/films/{id}/framesМетод: send_film_frame_request(request: FilmFrameRequest) -> FilmFrameResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.film_frame_requestimportFilmFrameRequestapi_client=KinopoiskApiClient("<your_token>")request=FilmFrameRequest(507)response=api_client.films.send_film_frame_request(request)Получить изображения(кадры, постеры, фан-арты, обои и т.д.) связанные с фильмом по kinopoisk film idДанный эндпоинт возвращает изображения связанные с фильмом с пагинацией. Каждая страница содержит не более чем 20
фильмов. Доступные изображения:ImageTypeSTILL - кадрыSHOOTING - изображения со съемокPOSTER - постерыFAN_ART - фан-артыPROMO - промоCONCEPT - концепт-артыWALLPAPER - обоиCOVER - обложкиSCREENSHOT - скриншотыЭндпоинт: /api/v2.2/films/{id}/imagesМетод: send_image_request(self, request: ImageRequest) -> ImageResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.image_requestimportImageRequestapi_client=KinopoiskApiClient("<your_token>")request=ImageRequest(507)response=api_client.films.send_image_request(request)Получить трейлеры, тизеры, видео для фильма по kinopoisk film idВозвращает трейлеры, тизеры, видео для фильма по kinopoisk film id.Эндпоинт: /api/v2.2/films/{id}/videosМетод: send_film_video_request(request: FilmVideoRequest) -> FilmVideoResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.film_video_requestimportFilmVideoRequestapi_client=KinopoiskApiClient("<your_token>")request=FilmVideoRequest(507)response=api_client.films.send_film_video_request(request)Получить сиквелы и приквелы для фильма по kinopoisk film idВозвращает информацию о сиквелах и приквелах для фильма по kinopoisk film id.Эндпоинт: /api/v2.1/films/{id}/sequels_and_prequelsМетод: send_film_sequels_and_prequels_request(request: FilmSequelsAndPrequelsRequest) ->
FilmSequelsAndPrequelsResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.film_sequels_and_prequels_requestimportFilmSequelsAndPrequelsRequestapi_client=KinopoiskApiClient("<your_token>")request=FilmSequelsAndPrequelsRequest(507)response=api_client.films.send_film_sequels_and_prequels_request(request)Получить список фильмов по ключевым словамЭндпоинт: /api/v2.1/films/search-by-keywordМетод: send_search_by_keyword_request(request: SearchByKeywordRequest) -> SearchByKeywordResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.search_by_keyword_requestimportSearchByKeywordRequestapi_client=KinopoiskApiClient("<your_token>")request=SearchByKeywordRequest("Рик и Морти")response=api_client.films.send_search_by_keyword_request(request)Получить id стран и жанров для использования в FilmSearchByFiltersRequestВозвращает список id стран и жанров, которые могут быть использованы в поиске по фильтру.Эндпоинт: /api/v2.1/films/filtersМетод: send_filters_request(request: FiltersRequest) -> FiltersResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.filters_requestimportFiltersRequestapi_client=KinopoiskApiClient("<your_token>")request=FiltersRequest()response=api_client.films.send_filters_request(request)Получить список фильмов по различным фильтрамВозвращает список фильмов с пагинацией. Каждая страница содержит не более чем 20 фильмов. ИспользуйFiltersRequestчтобы получить id стран и жанров.Эндпоинт: /api/v2.1/films/search-by-filtersМетод: send_film_search_by_filters_request(request: FilmSearchByFiltersRequest) -> FilmSearchByFiltersResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.model.filter_countryimportFilterCountryfromkinopoisk_unofficial.model.filter_orderimportFilterOrderfromkinopoisk_unofficial.request.films.film_search_by_filters_requestimportFilmSearchByFiltersRequestapi_client=KinopoiskApiClient("<your_token>")request=FilmSearchByFiltersRequest()request.year_from=2021request.rating_from=5request.order=FilterOrder.RATINGrequest.add_country(FilterCountry(1,'США'))response=api_client.films.send_film_search_by_filters_request(request)Получить список фильмов из различных топов или коллекцийВозвращает список фильмов с пагинацией. Каждая страница содержит не более чем 20 фильмов.
Например:https://www.kinopoisk.ru/top/lists/58/.Эндпоинт: /api/v2.2/films/topМетод: send_film_top_request(request: FilmTopRequest) -> FilmTopResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.film_top_requestimportFilmTopRequestfromkinopoisk_unofficial.model.dictonary.top_typeimportTopTypeapi_client=KinopoiskApiClient("<your_token>")request=FilmTopRequest(TopType.TOP_250_BEST_FILMS)response=api_client.films.send_film_top_request(request)Получить список похожих фильмов по kinopoisk film idВозвращает список похожих фильмов по kinopoisk film idЭндпоинт: /api/v2.2/films/{id}/similarsМетод: send_related_film_request(request: RelatedFilmRequest) -> RelatedFilmResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.related_film_requestimportRelatedFilmRequestapi_client=KinopoiskApiClient("<your_token>")request=RelatedFilmRequest(507)response=api_client.films.send_related_film_request(request)Получить список цифровых релизовВозвращает список цифровых релизов. Например:https://www.kinopoisk.ru/comingsoon/digital/Эндпоинт: /api/v2.1/films/releasesМетод: send_digital_release_request(request: DigitalReleaseRequest) -> DigitalReleaseResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.films.digital_release_requestimportDigitalReleaseRequestfromkinopoisk_unofficial.model.dictonary.monthimportMonthapi_client=KinopoiskApiClient("<your_token>")request=DigitalReleaseRequest(2021,Month.SEPTEMBER)response=api_client.films.send_digital_release_request(request)Получить график кинопремьерВозвращает список кинопремьер. Например:https://www.kinopoisk.ru/premiere/Эндпоинт: /api/v2.2/films/premieresМетод: send_premiere_request(request: PremiereRequest) -> PremiereResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.model.dictonary.monthimportMonthfromkinopoisk_unofficial.request.films.premiere_requestimportPremiereRequestapi_client=KinopoiskApiClient('<your_token>')request=PremiereRequest(2021,Month.DECEMBER)response=api_client.films.send_premiere_request(request)reviewsНабор методов для работы с ревью о фильмахПолучить рецензии зрителейВозвращает список рецензий с пагинацией. Каждая страница содержит не более чем 20 рецензий. Поле description содержит не
полный текст рецензии. Полный текст может быть получен изReviewDetailsRequestЭндпоинт: /api/v1/reviewsМетод: send_reviews_request(request: ReviewsRequest) -> ReviewsResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.reviews.reviews_requestimportReviewsRequestapi_client=KinopoiskApiClient("<your_token>")request=ReviewsRequest(507)response=api_client.reviews.send_reviews_request(request)Получить полную рецензию по kinopoisk review idВозвращает полную информацию о рецензии.Эндпоинт: /api/v1/reviews/detailsМетод: send_review_details_request(request: ReviewDetailsRequest) -> ReviewDetailsResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.reviews.review_details_requestimportReviewDetailsRequestapi_client=KinopoiskApiClient("<your_token>")request=ReviewDetailsRequest(3000574)response=api_client.reviews.send_review_details_request(request)staffНабор методов для работы с данными об актерах, режиссерах и т.д.Получить данные об актерах, режиссерах и т.д. по kinopoisk film idВозвращает данные об актерах, режиссерах и т.д. по kinopoisk film idЭндпоинт: /api/v1/staffМетод: send_staff_request(request: StaffRequest) -> StaffResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.staff.staff_requestimportStaffRequestapi_client=KinopoiskApiClient("<your_token>")request=StaffRequest(507)response=api_client.staff.send_staff_request(request)Получить данные о конкретном человеке по kinopoisk person idВозвращает данные о конкретном человеке по kinopoisk person idЭндпоинт: /api/v1/staff/{id}Метод: send_person_request(request: PersonRequest) -> PersonResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.staff.person_requestimportPersonRequestapi_client=KinopoiskApiClient("<your_token>")request=PersonRequest(27977)response=api_client.staff.send_person_request(request)personsПолучить данные об актерах, режиссерах и т.д. по имениВозвращает данные об актерах, режиссерах и т.д. по имениОдна страница может содержать до 50 элементов в itemsЭндпоинт: /api/v1/personsМетод: send_person_by_name_request(request: PersonByNameRequest) -> PersonByNameResponsefromkinopoisk_unofficial.kinopoisk_api_clientimportKinopoiskApiClientfromkinopoisk_unofficial.request.persons.person_by_name_requestimportPersonByNameRequestapi_client=KinopoiskApiClient("<your_token>")request=PersonByNameRequest("Джеймс Кэмерон")response=api_client.persons.send_person_by_name_request(request)