# Альтернатива Kinopoisk API

> Kinopoisk является русскоязычным сайтом о кино и не публикует общий открытый API. Разработчики часто обращаются к сторонним сервисам, поэтому уточняйте их документацию. amodb представляет собой платный API: он возвращает русские названия при language=ru-RU, находит тайтл по ID Kinopoisk и включает оценку Kinopoisk, где она известна.

## Что может и чего не может дать альтернатива

Kinopoisk является русскоязычным сайтом о кино и не публикует общий открытый API. Вместо него разработчики часто используют сторонние сервисы, у каждого из которых свои условия, поэтому уточняйте их документацию. amodb является независимым API, а не сервисом Kinopoisk. Он закрывает три потребности, которые часто возникают у русскоязычных проектов: названия и описания на русском, поиск по ID Kinopoisk и оценка Kinopoisk рядом с другими оценками, где она известна.

## Составные части

| Что нужно                            | Как                                            | Что приходит                                          |
| ------------------------------------ | ---------------------------------------------- | ----------------------------------------------------- |
| Русские название и описание          | `language=ru-RU` в любом запросе деталей       | `title` на русском, `original_title` без изменений    |
| Тайтл по ID Kinopoisk                | `GET /3/find/361?external_source=kinopoisk_id` | `movie_results` с ID 550                              |
| ID Kinopoisk тайтла                  | `GET /3/movie/550/external_ids`                | `kinopoisk_id` в виде строки, здесь `"361"`           |
| Оценка Kinopoisk                     | `GET /3/movie/550/ratings`                     | `kinopoisk` с `value` и `votes` или null              |
| Тексты на украинском или белорусском | `language=uk-UA` или `language=be-BY`          | Локализованные поля, английский там, где перевода нет |

В следующем блоке показан один ответ с деталями на русском с `append_to_response=ratings`. Это реальный ответ для Fight Club (ID 550), сокращенный до используемых здесь полей, с укороченным описанием.

```json
{
  "id": 550,
  "original_title": "Fight Club",
  "overview": "Сотрудник страховой компании страдает хронической бессонницей и отчаянно пытается вырваться из му...",
  "release_date": "1999-10-15",
  "tagline": "«Интриги. Хаос. Мыло»",
  "title": "Бойцовский клуб",
  "ratings": {
    "imdb": {
      "value": 8.8,
      "votes": 2669989
    },
    "kinopoisk": {
      "value": 8.7,
      "votes": null
    },
    "metacritic": {
      "value": 67,
      "votes": null
    },
    "rotten_tomatoes": {
      "value": 81,
      "votes": null
    },
    "tmdb": {
      "value": 8.437,
      "votes": 33039
    }
  }
}
```

Объект ratings всегда содержит одни и те же пять ключей. Здесь оценка Kinopoisk равна 8.7, а ее `votes` равно `null`, поэтому число голосов Kinopoisk нельзя считать гарантированным. Подробности приведены на странице [рейтинги](https://amodb.dev/ru/ratings/).

## Сравнение возможностей

| Возможность                | Kinopoisk                                                                 | amodb                                                        |
| -------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------ |
| Модель оплаты              | Нет общего открытого API, про сторонние сервисы уточняйте их документацию | Предоплата, от 1 до 24 месяцев за покупку                    |
| Бесплатный тариф           | Уточняйте в их документации                                               | Нет, пробного периода тоже нет                               |
| Аутентификация             | Уточняйте в их документации                                               | `api_key` или заголовок Bearer                               |
| Формат ответа              | Уточняйте в их документации                                               | JSON в структуре TMDB v3                                     |
| Языки                      | Русскоязычный сайт                                                        | 14 языков интерфейса, включая русский                        |
| Фильмы                     | На сайте                                                                  | Детали, актеры и съемочная группа, изображения, видео        |
| Сериалы                    | На сайте                                                                  | Сериалы, сезоны и серии                                      |
| Люди                       | На сайте                                                                  | Профили и фильмография                                       |
| Изображения                | На сайте                                                                  | `img.amodb.dev`, ключ не нужен                               |
| Рейтинги                   | Собственная оценка зрителей на сайте                                      | Оценка Kinopoisk плюс еще четыре источника, где они известны |
| Лимит запросов             | Уточняйте в их документации                                               | 20, 40 или 120 в минуту на ключ                              |
| Коммерческое использование | Уточняйте в их документации                                               | Платные тарифы, см. [цены](https://amodb.dev/ru/pricing/)    |
| Совместимость              | Нет общего открытого API, уточняйте их документацию                       | Чтение TMDB v3 и OMDb                                        |

## Чем отличается amodb

- **Документированный контракт.** Пути, параметры, тела ошибок и лимиты описаны, а один ключ обслуживает все эндпоинты.
- **Русский рядом с другими языками.** Тот же запрос с другим значением `language` дает те же поля на другом языке. Это удобно, когда ваша аудитория читает по-русски, по-украински и по-английски.
- **Несколько оценок в одном объекте.** Оценку Kinopoisk можно показать рядом с IMDb, Metacritic и Rotten Tomatoes, и каждая из них равна `null`, когда неизвестна.
- **Оригинальные названия сохраняются.** `original_title` и `original_name` хранят название на исходном языке, включая японский и корейский, хотя они не входят в языки интерфейса.

## Когда Kinopoisk подходит лучше

- **Само сообщество.** Отзывы, списки, страницы пользователей и обсуждения живут на сайте. amodb ничего из этого не предлагает, только оценку там, где она известна.
- **Все, что выходит за рамки метаданных.** Для контента, который не является полем метаданных, пользуйтесь самим сайтом. API метаданных его не содержит.
- **Собственная оценка зрителей.** Значение рождается именно там. В amodb оно может быть `null` для нового или малоизвестного тайтла, а число голосов может быть `null`, даже когда оценка задана.

## Миграция на amodb

Соберите хранимые ID Kinopoisk, один раз сопоставьте их через `/3/find` и держите рядом числовой ID amodb. После этого запрашивайте детали на русском и читайте оценку из того же ответа.

```python
import os
import requests

KEY = os.environ["AMODB_KEY"]
BASE = "https://api.amodb.dev/3"
HEADERS = {"Authorization": f"Bearer {KEY}"}


def get(path, **params):
    r = requests.get(BASE + path, params=params, headers=HEADERS, timeout=10)
    r.raise_for_status()
    return r.json()


found = get("/find/361", external_source="kinopoisk_id")
movie_id = found["movie_results"][0]["id"]
movie = get(f"/movie/{movie_id}", language="ru-RU", append_to_response="ratings")
kp = movie["ratings"]["kinopoisk"]
print(movie["title"], "/", movie["original_title"])
print("Kinopoisk:", kp["value"] if kp else "not known")
```

Пустой массив `movie_results` означает, что для этого ID совпадений нет. ID сериала Kinopoisk заполняет `tv_results`, поэтому, если вид тайтла неизвестен, читайте оба массива. Ответ 429 обрабатывайте ожиданием `Retry-After` секунд. Список языков приведен на странице [языки](https://amodb.dev/ru/languages/), а правила поиска на странице [поиск по внешнему ID](https://amodb.dev/ru/find-by-external-id/).

## Пробелы в русском тексте

Текстовое поле может быть пустым, если для тайтла нет русского перевода. Проверьте пустую строку и повторно запросите этот тайтл с `language=en-US`. Для постеров с русской надписью вызовите `/3/movie/550/images?include_image_language=ru,null` и выбирайте из `posters`. Значение `null` оставляет в списке изображения без текста. Размеры описаны на странице [API изображений](https://amodb.dev/ru/images-api/).

## Цены

У amodb нет бесплатного тарифа. Вы оплачиваете вперед 1, 3, 6, 12 или 24 месяца на одном из трех тарифов, а более длинный период стоит на 10, 20, 30 или 40 процентов дешевле. Тарифы допускают 20, 40 или 120 запросов в минуту, возвращают одни и те же данные и не продлеваются автоматически. Суммы указаны на странице [цены](https://amodb.dev/ru/pricing/).

## Вопросы и ответы

### Есть ли у Kinopoisk официальный публичный API?

Kinopoisk является русскоязычным сайтом о кино и не публикует общий открытый API. Разработчики часто используют сторонние сервисы, у каждого из которых свои условия. Прежде чем на один из них полагаться, уточните их документацию.

### Как найти тайтл по ID Kinopoisk в amodb?

Вызовите /3/find с ID Kinopoisk и external_source=kinopoisk_id. Например, 361 соответствует Fight Club, то есть ID 550, а 404900 соответствует Breaking Bad, ID 1396. Результат приходит в movie_results или tv_results в формате TMDB.

### Оценка Kinopoisk возвращается всегда?

Нет. Ключ kinopoisk в объекте ratings содержит value и votes, где оценка известна, и null в остальных случаях. Значение дается по шкале из 10 с одним знаком после запятой. votes может быть null, даже когда value задано, поэтому показывайте его только при наличии.

### Какие языки можно запросить, кроме русского?

Всего четырнадцать, включая украинский и белорусский. Передайте тег TMDB, например uk-UA или be-BY, в параметре language. Неподдерживаемые теги откатываются на английский, а оригинальные названия остаются в original_title.

### Получу ли я текст отзывов Kinopoisk?

Нет. amodb возвращает оценку Kinopoisk, где она известна. Тексты отзывов, списки и пользовательские функции сайта в API не входят, а эндпоинт отзывов в стиле TMDB возвращает пустой список для большинства тайтлов.

## Связанные страницы

- [Многоязычный API метаданных фильмов](https://amodb.dev/ru/multilingual-movie-metadata-api/): Многоязычный API метаданных фильмов на 14 языках. Теги языков TMDB, все переводы одним запросом, откат на английский и поддержка иврита справа налево.
- [Рейтинги фильмов и сериалов](https://amodb.dev/ru/ratings/): API рейтингов фильмов: оценки IMDb, Kinopoisk, Metacritic, Rotten Tomatoes и TMDB для тайтла одним запросом, с null для источника, о котором нет данных.
- [Поиск по внешнему ID](https://amodb.dev/ru/find-by-external-id/): Найдите фильм, сериал или персону по ID IMDb, TVDB, Wikidata или Kinopoisk через эндпоинт find TMDB, а также прочитайте внешние ID и факты Wikidata о проекте.
- [Языки](https://amodb.dev/ru/languages/): amodb отдает названия, описания и имена на 14 языках. Передайте в language тег в стиле TMDB, например ru-RU или pt-BR; другие теги откатываются на английский.
- [Альтернатива IMDb API](https://amodb.dev/ru/imdb-api-alternative/): У IMDb нет бесплатного универсального REST API. Ищите тайтлы по ID IMDb, читайте рейтинг IMDb, где он известен, и получайте актеров, изображения и трейлеры.
- [Цены](https://amodb.dev/ru/pricing/): Тарифы amodb различаются только запросами в минуту: 20, 40 или 120. В каждом все данные в стиле TMDB v3 и OMDb. Предоплата, без продления и пробного периода.

Обновлено: 2026-10-18. Source: https://amodb.dev/ru/kinopoisk-api-alternative/
