# Alternativa a la API de IMDb

> IMDb no tiene una API REST gratuita general: sus conjuntos de datos no comerciales son archivos descargables y el acceso comercial requiere licencia. amodb es una API JSON de pago: busca un título por id de IMDb, lee su puntuación y votos si se conocen, y obtén reparto, imágenes y tráileres con una clave.

## Datos de IMDb por REST: la respuesta corta

IMDb no tiene una API REST gratuita de uso general. Sus conjuntos de datos no comerciales son archivos descargables y el acceso comercial requiere licencia, así que consulta su documentación para conocer los términos vigentes. Si quieres llamar a un endpoint HTTP con un id de IMDb y recibir JSON, amodb lo hace con un plan de pago. Si tu contrato exige datos con licencia del propio IMDb, ese acuerdo es con IMDb y amodb no lo sustituye.

## Formas de usar un id de IMDb en amodb

Cinco llamadas cubren la mayoría de las necesidades. Cada una parte de un id que ya tienes o termina en uno.

| Tienes o quieres                    | Llamada                                         | Obtienes                                                   |
| ----------------------------------- | ----------------------------------------------- | ---------------------------------------------------------- |
| Un título a partir de un id de IMDb | `GET /3/find/tt0137523?external_source=imdb_id` | Los arrays `movie_results`, `tv_results`, `person_results` |
| El id de IMDb de una película       | `GET /3/movie/550`, campo `imdb_id`             | `tt0137523` para Fight Club                                |
| El id de IMDb de una serie          | `GET /3/tv/1396/external_ids`                   | `imdb_id` junto al id de TVDB                              |
| La puntuación de IMDb               | `GET /3/movie/550/ratings`                      | `imdb` como `value` y `votes`, o null                      |
| Un registro al estilo OMDb          | `GET /omdb/?i=tt0137523`                        | `imdbRating`, `imdbVotes`, `imdbID`                        |

Todas las filas funcionan con la misma clave. Las puntuaciones se describen en la página de [puntuaciones](https://amodb.dev/es/ratings/) y las búsquedas por id en [buscar por ID externo](https://amodb.dev/es/find-by-external-id/).

## Lee la puntuación de IMDb

El endpoint de puntuaciones devuelve la nota y el número de votos juntos. Esta es una respuesta real para Fight Club (id 550). Las puntuaciones cambian con el tiempo.

```json
{
  "id": 550,
  "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
  }
}
```

Para IMDb, `value` va en una escala de 0 a 10 con un decimal. Muestra el número de votos junto a él, y no pintes nada cuando el objeto sea `null`. En esta respuesta solo IMDb y TMDB tienen votos. `votes` puede ser `null` en cualquier fuente, así que compruébalo antes de mostrarlo. Una respuesta en caché sigue siendo válida 6 horas en la caché perimetral, así que consultar con más frecuencia no aporta nada.

## Comparación de funciones

| Función               | IMDb                                                                                                | amodb                                                                 |
| --------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| Modelo de precios     | Acceso comercial con licencia, consulta su documentación                                            | Prepago, de 1 a 24 meses                                              |
| Nivel gratuito        | Sin API REST gratuita de uso general                                                                | Ninguno, y sin periodo de prueba                                      |
| Autenticación         | Consulta su documentación                                                                           | Parámetro de consulta `api_key` o cabecera Bearer                     |
| Formato de respuesta  | Archivos de conjuntos de datos descargables, consulta su documentación sobre los feeds con licencia | JSON                                                                  |
| Idiomas               | Consulta su documentación                                                                           | 14 idiomas de interfaz                                                |
| Películas             | Consulta su documentación para ver los campos                                                       | Detalles, créditos, imágenes, vídeos                                  |
| TV                    | Consulta su documentación para ver los campos                                                       | Series, temporadas, episodios                                         |
| Personas              | Consulta su documentación para ver los campos                                                       | Perfiles, filmografía, imágenes                                       |
| Imágenes              | Consulta su documentación                                                                           | `img.amodb.dev`, sin necesidad de clave                               |
| Puntuaciones          | Su propia puntuación, consulta su documentación sobre el acceso                                     | Cinco fuentes, entre ellas IMDb, cuando se conocen                    |
| Límite de solicitudes | Consulta su documentación                                                                           | 20, 40 o 120 solicitudes por minuto                                   |
| Uso comercial         | Con licencia, consulta su documentación                                                             | Planes de pago, consulta los [precios](https://amodb.dev/es/pricing/) |
| Compatibilidad        | Formatos propios, consulta su documentación                                                         | Lecturas de TMDB v3 y el protocolo de OMDb                            |

## En qué se diferencia amodb

Llamas a un endpoint en lugar de procesar un archivo. Una sola solicitud devuelve un título con su reparto, tráileres y puntuaciones mediante `append_to_response`, y la forma coincide con TMDB v3, así que las bibliotecas cliente existentes funcionan. La misma clave sirve el endpoint al estilo OMDb, que mantiene en marcha el código antiguo que lee `imdbRating`.

El bloque de puntuaciones es un objeto fijo con cinco claves. Una fuente desconocida es `null`, no una clave ausente, así que el código que lee `ratings.imdb` no necesita comprobar antes que exista el objeto padre. Junto al valor puede haber un número de votos, que te permite ocultar una puntuación basada en pocos votos. También puede ser `null`, como ocurre con tres de las cinco fuentes del ejemplo anterior.

## Dónde encaja mejor IMDb

- **El origen de la puntuación.** IMDb publica primero sus propias puntuaciones. amodb devuelve un valor solo cuando se conoce, así que un título nuevo o poco conocido puede venir `null`.
- **Funciones del sitio.** Las reseñas de usuarios, las listas y las listas de seguimiento viven en el sitio de IMDb. amodb es una API de metadatos y no ofrece cuentas de usuario.
- **Datos con licencia.** Si un socio o un contrato exige datos con licencia de IMDb, solo IMDb puede proporcionarlos.
- **Análisis sin conexión.** Los archivos de datos no comerciales sirven para investigación masiva que ejecutas en tu propia máquina. Consulta su documentación para ver los términos.

## Migrar a amodb

Lo más probable es que tengas una lista de ids de IMDb. Asigna cada uno a un id de amodb una sola vez, guarda el par y llama después a los detalles con el id numérico.

```bash
curl -s "https://api.amodb.dev/3/find/tt0133093?external_source=imdb_id" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```python
import os
import requests

KEY = os.environ["AMODB_KEY"]
imdb_ids = ["tt0137523", "tt0133093", "tt1375666"]

for imdb_id in imdb_ids:
    r = requests.get(
        f"https://api.amodb.dev/3/find/{imdb_id}",
        params={"external_source": "imdb_id"},
        headers={"Authorization": f"Bearer {KEY}"},
        timeout=10,
    )
    r.raise_for_status()
    hits = r.json()["movie_results"]
    print(imdb_id, hits[0]["id"] if hits else None)
```

Los tres ids anteriores corresponden a 550, 603 y 27205, que son Fight Club, The Matrix e Inception. Un id de serie como `tt0903747` llega en `tv_results`, donde Breaking Bad tiene el id 1396. Un array vacío significa que no se encontró ninguna coincidencia para ese id.

Dosifica el ritmo del bucle. Cada id es una solicitud, y un 429 incluye una cabecera `Retry-After` con los segundos de espera. Consulta [errores](https://amodb.dev/es/errors/) para ver los demás códigos.

### Guarda los ids de forma segura

- Guarda los ids de IMDb como cadenas de texto. Empiezan por `tt` y llevan ceros a la izquierda, como en `tt0137523`, y un tipo numérico elimina esos ceros.
- Guarda el id de IMDb y el de amodb como un par. Cualquiera de los dos vuelve a encontrar el título.
- Lee `tv_results` para las series y `movie_results` para las películas. Un solo id normalmente rellena un array y deja los demás vacíos.
- Solicita los detalles por el id de amodb a partir de entonces, porque una llamada de detalles puede incluir reparto, tráileres y puntuaciones mediante `append_to_response`.

## Precios

Elige uno de tres planes de 20, 40 o 120 solicitudes por minuto y paga por adelantado 1, 3, 6, 12 o 24 meses. Los periodos más largos tienen un descuento del 10, 20, 30 o 40 por ciento. Todos los planes devuelven los mismos datos, nada se renueva solo y no hay nivel gratuito. Consulta [precios](https://amodb.dev/es/pricing/) para ver los importes.

## Preguntas y respuestas

### ¿IMDb ofrece una API REST gratuita?

IMDb no tiene una API REST gratuita de uso general. Sus conjuntos de datos no comerciales son archivos descargables, y el acceso comercial requiere licencia. Consulta su documentación para conocer los términos, formatos y campos vigentes antes de planificar con ellos.

### ¿Puedo buscar un título por su id de IMDb en amodb?

Sí. Llama a /3/find/tt0137523 con external_source=imdb_id y lee movie_results, tv_results o person_results. El endpoint al estilo OMDb también acepta el parámetro i con un id de IMDb.

### ¿La puntuación de IMDb siempre está presente?

No. El objeto ratings siempre tiene las cinco claves imdb, kinopoisk, metacritic, rotten_tomatoes y tmdb, pero cada una es null cuando no se conoce la puntuación. Maneja null antes de mostrar un número.

### ¿Obtengo reseñas de usuarios o listas de IMDb?

No. amodb devuelve el id de IMDb y la puntuación de IMDb con su número de votos cuando se conocen. No aloja reseñas de usuarios, listas ni listas de seguimiento de IMDb. El endpoint de reseñas al estilo TMDB responde 200, y la mayoría de los títulos devuelven una lista vacía.

### ¿Cuánto se tarda en mapear una lista de ids de IMDb?

Una solicitud find por id. Una lista de 500 ids necesita 500 solicitudes, así que con el plan de 20 solicitudes por minuto tarda unos 25 minutos. Guarda el resultado, porque la correspondencia rara vez cambia.

## Páginas relacionadas

- [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.
- [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.
- [Endpoint compatible con OMDb](https://amodb.dev/es/omdb-endpoint/): Endpoint compatible con la API de OMDb en api.amodb.dev/omdb/. Busca con i o t, explora con s, lee el array Ratings y conserva tu cliente cambiando la URL base.
- [Alternativa a la API de OMDb](https://amodb.dev/es/omdb-api-alternative/): ¿Te limita el tope diario de OMDb o necesitas más de un registro por llamada? amodb responde al estilo OMDb y sirve endpoints TMDB v3 con la misma clave.
- [Autenticación](https://amodb.dev/es/authentication/): Cómo enviar tu clave de amodb: api_key en la consulta, un encabezado Bearer o apikey en llamadas OMDb. Formato, almacenamiento, rotación y errores 401.
- [Límites de solicitudes](https://amodb.dev/es/rate-limits/): amodb limita cada clave por solicitudes por minuto en una ventana deslizante de 60 segundos: 20, 40 o 120 según el plan. Lee los encabezados y gestiona el 429.

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