# Альтернатива 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/uk/ratings/).

## Порівняння можливостей

| Можливість              | Kinopoisk                                                                        | amodb                                                         |
| ----------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| Модель оплати           | Немає загального відкритого API, про сторонні сервіси дивіться їхню документацію | Передплата, від 1 до 24 місяців за покупку                    |
| Безкоштовний тариф      | Дивіться їхню документацію                                                       | Немає, пробного періоду теж                                   |
| Автентифікація          | Дивіться їхню документацію                                                       | `api_key` або заголовок Bearer                                |
| Формат відповіді        | Дивіться їхню документацію                                                       | JSON у структурі TMDB v3                                      |
| Мови                    | Російськомовний сайт                                                             | 14 мов інтерфейсу, серед них російська                        |
| Фільми                  | На вебсайті                                                                      | Деталі, акторський склад, зображення, відео                   |
| Серіали                 | На вебсайті                                                                      | Серіали, сезони та серії                                      |
| Персони                 | На вебсайті                                                                      | Профілі та фільмографія                                       |
| Зображення              | На вебсайті                                                                      | `img.amodb.dev`, ключ не потрібен                             |
| Рейтинги                | Власна оцінка глядачів на вебсайті                                               | Оцінка Kinopoisk плюс чотири інші джерела, де відомо          |
| Ліміт запитів           | Дивіться їхню документацію                                                       | 20, 40 або 120 на хвилину на ключ                             |
| Комерційне використання | Дивіться їхню документацію                                                       | Платні тарифи, дивіться [ціни](https://amodb.dev/uk/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/uk/languages/), а правила пошуку на сторінці [пошук за зовнішнім ID](https://amodb.dev/uk/find-by-external-id/).

## Обробка прогалин у російському тексті

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

## Ціни

amodb не має безкоштовного тарифу. Ви передплачуєте 1, 3, 6, 12 або 24 місяці на одному з трьох тарифів, а довший період коштує на 10, 20, 30 або 40 відсотків менше. Тарифи дозволяють 20, 40 або 120 запитів на хвилину, повертають ті самі дані й не поновлюються автоматично. Суми на сторінці [ціни](https://amodb.dev/uk/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 задано, тож показуйте його лише тоді, коли він є.

### Якими мовами, крім російської, можна запитувати дані?

Усього 14, зокрема українською та білоруською. Передайте тег TMDB, наприклад uk-UA або be-BY, у параметрі language. Непідтримувані теги відкочуються до англійської, а оригінальні назви лишаються в original_title.

### Чи отримаю я текст рецензій Kinopoisk?

Ні. amodb повертає оцінку Kinopoisk, де вона відома. Текст рецензій, списки та функції спільноти сайту не входять до API, а ендпоінт рецензій у стилі TMDB повертає порожній список для більшості тайтлів.

## Пов'язані сторінки

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

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