# Alternativa a la API de Kinopoisk

> Kinopoisk es un sitio de cine en ruso y no publica una API abierta general. Los desarrolladores suelen recurrir a servicios de terceros, así que consulta su documentación. amodb es una API de pago que devuelve títulos en ruso con language=ru-RU, busca un título por su id de Kinopoisk e incluye la puntuación de Kinopoisk cuando se conoce.

## Qué puede y qué no puede darte una alternativa

Kinopoisk es un sitio de cine en ruso y no publica una API abierta general. Los desarrolladores suelen recurrir a servicios de terceros, cada uno con sus propios términos, así que consulta su documentación. amodb es una API independiente y no un servicio de Kinopoisk. Cubre tres necesidades habituales de los proyectos en ruso: títulos y sinopsis en ruso, búsqueda por id de Kinopoisk y la puntuación de Kinopoisk junto a otras puntuaciones cuando se conoce.

## Piezas básicas

| Necesitas                                | Cómo                                             | Qué devuelve                                             |
| ---------------------------------------- | ------------------------------------------------ | -------------------------------------------------------- |
| Título y sinopsis en ruso                | `language=ru-RU` en cualquier llamada de detalle | `title` en ruso, `original_title` sin cambios            |
| Un título a partir de un id de Kinopoisk | `GET /3/find/361?external_source=kinopoisk_id`   | `movie_results` con el id 550                            |
| El id de Kinopoisk de un título          | `GET /3/movie/550/external_ids`                  | `kinopoisk_id` como cadena, aquí `"361"`                 |
| La puntuación de Kinopoisk               | `GET /3/movie/550/ratings`                       | `kinopoisk` con `value` y `votes`, o null                |
| Texto en ucraniano o bielorruso          | `language=uk-UA` o `language=be-BY`              | Campos localizados, en inglés donde no existe traducción |

El siguiente bloque muestra una respuesta de detalle en ruso con `append_to_response=ratings`. Es una respuesta real para Fight Club (id 550), recortada a los campos usados aquí y con la sinopsis abreviada.

```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
    }
  }
}
```

El objeto ratings siempre lista las mismas cinco claves. Aquí la puntuación de Kinopoisk es 8.7 y su `votes` es `null`, así que no se puede dar por hecho un número de votos de Kinopoisk. Los detalles están en la página de [puntuaciones](https://amodb.dev/es/ratings/).

## Comparación de funciones

| Función               | Kinopoisk                                                                       | amodb                                                                 |
| --------------------- | ------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| Modelo de precios     | Sin API abierta general, consulta la documentación de los servicios de terceros | Prepago, de 1 a 24 meses por compra                                   |
| Nivel gratuito        | Consulta su documentación                                                       | Ninguno, y sin periodo de prueba                                      |
| Autenticación         | Consulta su documentación                                                       | `api_key` o cabecera Bearer                                           |
| Formato de respuesta  | Consulta su documentación                                                       | JSON con la forma de TMDB v3                                          |
| Idiomas               | Sitio en ruso                                                                   | 14 idiomas de interfaz, entre ellos el ruso                           |
| Películas             | En el sitio web                                                                 | Detalles, créditos, imágenes, vídeos                                  |
| TV                    | En el sitio web                                                                 | Series, temporadas y episodios                                        |
| Personas              | En el sitio web                                                                 | Perfiles y filmografía                                                |
| Imágenes              | En el sitio web                                                                 | `img.amodb.dev`, sin necesidad de clave                               |
| Puntuaciones          | Su propia puntuación del público en el sitio web                                | Puntuación de Kinopoisk más otras cuatro fuentes cuando se conocen    |
| Límite de solicitudes | Consulta su documentación                                                       | 20, 40 o 120 por minuto por clave                                     |
| Uso comercial         | Consulta su documentación                                                       | Planes de pago, consulta los [precios](https://amodb.dev/es/pricing/) |
| Compatibilidad        | Sin API abierta general, consulta su documentación                              | Lecturas de TMDB v3 y OMDb                                            |

## En qué se diferencia amodb

- **Un contrato documentado.** Las rutas, los parámetros, los cuerpos de error y los límites están por escrito, y una sola clave sirve todos los endpoints.
- **Ruso junto a otros idiomas.** La misma llamada con otro valor de `language` devuelve los mismos campos en otro idioma. Eso ayuda cuando tu público lee ruso, ucraniano e inglés.
- **Varias puntuaciones en un objeto.** Puedes mostrar la puntuación de Kinopoisk junto a IMDb, Metacritic y Rotten Tomatoes, cada una `null` cuando se desconoce.
- **Títulos originales conservados.** `original_title` y `original_name` guardan el título en su idioma de origen, incluidos el japonés y el coreano, aunque no sean idiomas de interfaz.

## Dónde encaja mejor Kinopoisk

- **La propia comunidad.** Las reseñas, las listas, las páginas de usuario y el debate local viven en el sitio. amodb no ofrece nada de eso, solo la puntuación cuando se conoce.
- **Todo lo que va más allá de los metadatos.** Para el contenido que no es un campo de metadatos, usa el propio sitio. Una API de metadatos no lo incluye.
- **Su propia puntuación del público.** El valor se genera allí primero. En amodb puede ser `null` para un título nuevo o poco conocido, y el número de votos puede ser `null` aunque la puntuación esté definida.

## Migrar a amodb

Reúne los ids de Kinopoisk que guardas, asígnalos una sola vez con `/3/find` y conserva al lado el id numérico de amodb. Después, solicita los detalles en ruso y lee la puntuación de la misma respuesta.

```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")
```

Un array `movie_results` vacío significa que no hay coincidencia para ese id. El id de Kinopoisk de una serie rellena `tv_results` en su lugar, así que lee ambos arrays cuando no sepas el tipo. Si recibes un 429, espera los segundos de `Retry-After`. La lista de idiomas está en [idiomas](https://amodb.dev/es/languages/), y las reglas de búsqueda en [buscar por ID externo](https://amodb.dev/es/find-by-external-id/).

## Cubre los huecos en el texto en ruso

Un campo de texto puede estar vacío cuando un título no tiene traducción al ruso. Comprueba si hay una cadena vacía y solicita de nuevo ese título con `language=en-US`. Para pósteres con letras en ruso, llama a `/3/movie/550/images?include_image_language=ru,null` y elige entre `posters`. El valor `null` mantiene en la lista las ilustraciones sin texto. Consulta [imágenes](https://amodb.dev/es/images-api/) para ver los tamaños.

## Precios

amodb no tiene nivel gratuito. Pagas por adelantado 1, 3, 6, 12 o 24 meses en uno de tres planes, y un periodo más largo cuesta un 10, 20, 30 o 40 por ciento menos. Los planes permiten 20, 40 o 120 solicitudes por minuto, devuelven los mismos datos y no se renuevan automáticamente. Los importes están en [precios](https://amodb.dev/es/pricing/).

## Preguntas y respuestas

### ¿Kinopoisk tiene una API pública oficial?

Kinopoisk es un sitio de cine en ruso y no publica una API abierta general. Los desarrolladores suelen usar servicios de terceros, cada uno con sus propios términos. Consulta su documentación antes de depender de uno.

### ¿Cómo encuentro un título a partir de un id de Kinopoisk en amodb?

Llama a /3/find con el id de Kinopoisk y external_source=kinopoisk_id. Por ejemplo, 361 corresponde a Fight Club, que es el id 550, y 404900 corresponde a Breaking Bad, id 1396. El resultado llega en movie_results o tv_results con la forma de TMDB.

### ¿Siempre se devuelve la puntuación de Kinopoisk?

No. La clave kinopoisk del objeto ratings contiene value y votes cuando se conoce la puntuación, y null en caso contrario. El valor va sobre 10 con un decimal. votes puede ser null aunque value esté definido, así que muéstralo solo cuando exista.

### ¿Qué idiomas puedo solicitar además del ruso?

Catorce en total, incluidos el ucraniano y el bielorruso. Envía una etiqueta de TMDB como uk-UA o be-BY en el parámetro language. Las etiquetas no admitidas recurren al inglés, y los títulos originales se conservan en original_title.

### ¿Obtengo el texto de las reseñas de Kinopoisk?

No. amodb devuelve la puntuación de Kinopoisk cuando se conoce. El texto de las reseñas, las listas y las funciones comunitarias del sitio no forman parte de la API, y el endpoint de reseñas al estilo TMDB devuelve una lista vacía en la mayoría de los títulos.

## Páginas relacionadas

- [API de metadatos de películas multilingüe](https://amodb.dev/es/multilingual-movie-metadata-api/): API de metadatos de películas multilingüe con 14 idiomas: etiquetas de TMDB, todas las traducciones, respaldo en inglés y hebreo de derecha a izquierda.
- [Puntuaciones de películas y series](https://amodb.dev/es/ratings/): API de puntuaciones de películas: IMDb, Kinopoisk, Metacritic, Rotten Tomatoes y TMDB de un título en una sola llamada, con null si falta una fuente.
- [Buscar por id externo](https://amodb.dev/es/find-by-external-id/): Busca una película, serie o persona por id de IMDb, TVDB, Wikidata o Kinopoisk con el endpoint find de TMDB, y lee los ids externos y los datos de Wikidata.
- [Idiomas](https://amodb.dev/es/languages/): amodb sirve títulos, sinopsis y nombres en 14 idiomas. Pasa una etiqueta estilo TMDB como ru-RU o pt-BR en language; cualquier otra etiqueta recurre al inglés.
- [Alternativa a la API de IMDb](https://amodb.dev/es/imdb-api-alternative/): IMDb no ofrece una API REST gratuita general. Busca por id de IMDb, lee su puntuación si se conoce y obtén reparto, imágenes y tráileres en una API de pago.
- [Precios](https://amodb.dev/es/pricing/): Los planes de amodb se diferencian solo en solicitudes por minuto: 20, 40 o 120. Todos incluyen todos los datos de TMDB v3 y OMDb. Prepago y sin renovación.

Actualizado: 2026-10-18. Source: https://amodb.dev/es/kinopoisk-api-alternative/
