Qué API elegir
TMDB ofrece una API gratuita para usos que cumplan sus condiciones, con claves de API v3 y tokens v4. Lee esos términos sobre uso comercial y atribución antes de publicar. Elige una alternativa cuando quieras un acuerdo de pago, un límite con el que puedas planificar, o más datos en cada respuesta. amodb es una API independiente que habla el protocolo TMDB v3 para lecturas, así que el cambio supone una nueva URL base y una nueva clave. Es de solo lectura, y algunas rutas de TMDB no se ofrecen, como se indica más abajo.
Quédate en TMDB si los términos gratuitos encajan con tu proyecto y nada de la siguiente sección te afecta.
Señales de que necesitas una alternativa
Cinco comprobaciones te ayudan a decidir. Hazlas con tu propio tráfico y tu propio contrato, no con una lista de funciones.
| Señal | Qué probar | Cómo responde amodb |
|---|---|---|
| Términos comerciales | Lee los términos de la API que usas hoy sobre uso comercial y atribución | Planes de pago, prepago, sin renovación automática |
| Tráfico máximo | Cuenta las solicitudes de tu minuto de más tráfico | Un límite fijo de 20, 40 o 120 solicitudes por minuto por clave |
| Datos por pantalla | Lista las llamadas adicionales detrás de una página de título | append_to_response también admite ratings, moods, soundtracks, wikidata y showtimes |
| Idioma de la interfaz | Revisa cada idioma que publicas | 14 idiomas, cualquier otro recurre a en |
| Esfuerzo de salida | Cuenta las líneas de código que nombran a un proveedor | Mismas rutas y JSON en los endpoints servidos, así que irse también es un cambio de URL base |
Los aciertos de caché también cuentan. La comprobación de la clave y el límite de solicitudes se ejecutan antes de la caché perimetral, así que una solicitud repetida sigue consumiendo una de tus solicitudes por minuto. Planifica según el total de solicitudes, no según los fallos de caché.
Comparación de funciones
| Función | TMDB | amodb |
|---|---|---|
| Modelo de precios | API gratuita para usos que cumplan sus propios términos | Periodos prepago de 1, 3, 6, 12 o 24 meses |
| Nivel gratuito | Sí, para usos que cumplan sus condiciones | Ninguno, y sin periodo de prueba |
| Autenticación | Clave v3 en api_key, o un token v4 como Bearer | api_key o Bearer, clave de 32 caracteres hexadecimales |
| Formato de respuesta | JSON | JSON con la forma de TMDB v3 |
| Idiomas | Consulta su documentación | 14 idiomas de interfaz |
| Películas | Sí | Sí |
| TV | Sí | Sí, con temporadas y episodios |
| Personas | Sí | Sí |
| Imágenes | Sí, desde su propio host de imágenes | img.amodb.dev, los mismos tokens de tamaño, sin clave |
| Puntuaciones | Puntuación de usuarios de TMDB, consulta su documentación sobre otras fuentes | Puntuación de TMDB más IMDb, Kinopoisk, Metacritic y Rotten Tomatoes cuando se conocen |
| Métodos de escritura | Métodos de cuenta, listas y puntuación | No se ofrecen, responden 405 |
| Límite de solicitudes | Consulta su documentación | 20, 40 o 120 por minuto por clave |
| Uso comercial | Consulta sus términos sobre uso comercial y atribución | Se vende como API de pago, consulta los precios |
| Compatibilidad | Define el protocolo v3 | La mayoría de las rutas de lectura v3, más OMDb |
En qué se diferencia amodb
- Límites que puedes leer. Cada respuesta con clave lleva
X-RateLimit-Limit,X-RateLimit-RemainingyX-RateLimit-Reseten segundos. Un 429 añadeRetry-After. Los números se explican en límites de solicitudes. - Bloques extra en una llamada. Las puntuaciones de cinco fuentes, los medidores de mood (ambiente emocional), las bandas sonoras, los datos de Wikidata y los horarios de sesiones llegan mediante
append_to_response, así que una página de título puede usar una sola solicitud. - Más fuentes de ids externos.
/3/findresuelveimdb_id,tvdb_id,wikidata_idykinopoisk_id, y tambiénfacebook_id,twitter_ideinstagram_id. Consulta buscar por ID externo. - OMDb con la misma clave.
https:/responde llamadas al estilo OMDb con un parámetro/ api.amodb.dev/ omdb/ apikey, lo que ayuda cuando dos de tus sistemas usan protocolos distintos. - Tiempos de caché conocidos. Los detalles y los créditos se mantienen 6 horas en la caché perimetral, las tendencias y el descubrimiento 30 minutos, la búsqueda 10 minutos, la configuración 24 horas y las imágenes 30 días.
Dónde encaja mejor TMDB
- Proyectos gratuitos. Si tu uso cumple los términos gratuitos, TMDB no cuesta nada y amodb no puede igualarlo.
- Métodos de escritura de usuario. TMDB ofrece métodos de escritura de cuenta, sesión, puntuación y listas. amodb los responde con 405 y status_code 37, así que una aplicación que permite iniciar sesión y puntuar títulos debe quedarse con TMDB para esa parte.
- Feeds de cambios. TMDB lista los ids que cambiaron. amodb no tiene un feed así, así que actualizas con tu propio calendario.
- Más de 14 idiomas. amodb no sirve texto de interfaz en alemán, japonés ni coreano y recurre al inglés. Los títulos originales siguen llegando en
original_titleyoriginal_name. Para otros idiomas en TMDB, consulta su documentación. - Términos que ya aceptaste. Si la revisión legal de TMDB ya está hecha, cambiar te obliga a pasar otra revisión.
Lo que amodb no ofrece
Revisa tu código con esta lista antes del cambio definitivo. La tabla completa está en amodb vs TMDB.
| Llamada de TMDB | Respuesta de amodb |
|---|---|
| Escrituras de cuenta, sesión, puntuación y listas | 405, status_code 37 |
| Cambios, créditos agregados, consulta de créditos y reseñas, contenido de grupos de episodios | 404, status_code 34 |
| Traducciones de personas, imágenes y traducciones de colecciones, productoras y cadenas | 404, status_code 34 |
| Lista de reseñas de una película o serie | 200, vacía en la mayoría de los títulos |
| Imágenes, vídeos y traducciones de temporada | 200, vacío |
| IDs externos de temporada y episodio | 200, todos null |
Dos comportamientos son silenciosos. Un nombre de append_to_response que amodb no conoce, como aggregate_credits, se ignora sin error. El parámetro include_adult también se ignora, porque los títulos y las personas para adultos nunca se sirven.
Migrar a amodb
- Elige un plan en precios y crea una clave en el panel de tu cuenta.
- Sustituye la URL base y la clave en un solo lugar, como se muestra abajo.
- Lee
images.secure_base_urldesde/3/configurationpara que los enlaces de imágenes usenimg.amodb.dev. - Elimina las llamadas a métodos de escritura y a las rutas de la tabla anterior.
- Gestiona el 429 esperando los segundos de
Retry-After.
const config = {
// before: baseUrl held your current TMDB v3 base URL
baseUrl: 'https://api.amodb.dev/3',
apiKey: process.env.AMODB_KEY,
};
const res = await fetch(`${config.baseUrl}/movie/550?language=en-US`, {
headers: { Authorization: `Bearer ${config.apiKey}` },
});
if (!res.ok) throw new Error(`request failed with status ${res.status}`);
const movie = await res.json();
console.log(movie.title, movie.release_date);Ejecuta tus pruebas actuales contra ambas URL base antes del cambio definitivo. Compartir la misma forma no garantiza valores idénticos, así que compara una muestra de tus propios títulos. El recorrido completo está en la guía de inicio rápido, y una tabla cara a cara en amodb vs TMDB.
El manejo de errores se mantiene
Las llamadas fallidas devuelven el cuerpo de TMDB {"success": false,, así que el código que se ramifica según status_code no necesita reescribirse.
| HTTP | status_code | Causa habitual |
|---|---|---|
| 401 | 7 | Falta la clave o está mal escrita |
| 401 | 10 | Clave suspendida |
| 402 | 36 | Terminó el periodo prepago |
| 404 | 34 | Id no encontrado, o una ruta que amodb no ofrece |
| 405 | 37 | Un método de escritura que tu código todavía llama |
| 429 | 25 | Más solicitudes de las que permite el plan en 60 segundos |
Trata el 402 como una señal para renovar a mano, porque nada se renueva automáticamente. La lista completa está en errores.
Precios
amodb es prepago. Elige un periodo de 1, 3, 6, 12 o 24 meses, que aplica un descuento del 0, 10, 20, 30 o 40 por ciento, y uno de tres planes de 20, 40 o 120 solicitudes por minuto. Todos los planes obtienen todos los datos y nada se renueva automáticamente. No hay nivel gratuito ni periodo de prueba. Los importes vigentes están en precios.