La comparación en breve
amodb es una API independiente que habla el mismo protocolo que TMDB v3. Un cliente escrito para TMDB lee de amodb después de cambiar la URL base y la clave, siempre que no llame a una ruta de la tabla de no ofrecidas que aparece más abajo. La decisión depende entonces de los términos, los extras y unas pocas carencias. TMDB ofrece una API gratuita para usos que cumplan sus condiciones. amodb es una API de pago, de solo lectura, con 14 idiomas, cinco bloques de datos adicionales y un límite contado por clave.
Paridad de endpoints
Cada fila muestra una ruta de lectura de TMDB v3 y cómo se comporta en https:/.
| Área | Ruta de TMDB v3 | En amodb |
|---|---|---|
| Detalles de película | /movie/{movie_id} | Igual, con cinco valores más en append_to_response |
| Detalles de serie | /tv/{series_id} | Igual, pero sin el campo type, y created_by está vacío en la mayoría de las series |
| Temporadas y episodios | / | Misma forma. Las imágenes, los vídeos y las traducciones de temporada están vacíos, y los external_ids de temporadas y episodios son null |
| Personas | /person/{person_id} | Igual, con combined_credits, movie_credits, tv_credits, external_ids y images (solo perfiles) |
| Créditos | / | Igual. En los episodios, cast está vacío |
| Búsqueda | /search/multi | Igual, con caché de 10 minutos |
| Descubrir | /discover/movie | Igual, con caché de 30 minutos |
| Tendencias | / | Igual, con caché de 30 minutos |
| Listas | /movie/popular | Igual, con page de 1 a 500 |
| Imágenes | / | Misma forma, los archivos se cargan desde img.amodb.dev |
| Vídeos | / | Igual |
| Traducciones | / | Igual, con 14 idiomas servidos |
| Palabras clave | / | Igual |
| Reseñas | / | Responde 200, pero solo unos pocos títulos tienen reseñas, así que una lista vacía es lo normal |
| Colecciones | / | Igual, con parts ordenado por fecha de estreno |
| Productoras y cadenas de TV | /company/{company_id} | Mismas claves. El description de una productora está vacío y parent_company es null |
| Géneros | /genre/movie/list | Igual |
| Configuración | /configuration | Mismas claves, el host de imágenes es img.amodb.dev |
| Buscar por ID externo | /find/{external_id} | Mismo endpoint, más kinopoisk_id. tv_episode_results y tv_season_results siempre están vacíos |
| Grupos de episodios | / | Lista los grupos de una serie, sin su contenido |
Lo que amodb no ofrece
Estas llamadas de TMDB v3 no tienen equivalente. Las rutas desconocidas responden 404 con status_code 34, y los métodos de escritura responden 405 con status_code 37.
| Llamada de TMDB v3 | Respuesta de amodb |
|---|---|
/movie/changes, /tv/changes, /person/changes y changes bajo un id | 404, status_code 34 |
aggregate_credits bajo una serie o una temporada | 404, status_code 34 |
/credit/{credit_id} y /review/{review_id} | 404, status_code 34 |
/tv/episode_group/{id} | 404, status_code 34 |
/, tagged_images y /person/latest | 404, status_code 34 |
images, translations y alternative_names de colecciones, productoras y cadenas | 404, status_code 34 |
/ | 404, status_code 34 |
Todo lo que cuelga de account, authentication, guest_session y list, y cualquier ruta /rating o /account_states | 405, status_code 37 |
Si añades aggregate_credits o changes a append_to_response, amodb ignora ese nombre sin devolver error, así que la clave simplemente no aparece en el cuerpo.
Comparación de funciones
| Función | TMDB | amodb |
|---|---|---|
| Modelo de precios | Gratis para usos que cumplan sus condiciones, según los términos de TMDB | Prepago, de 1 a 24 meses por compra |
| Nivel gratuito | Sí, para usos que cumplan sus condiciones | Ninguno, y sin periodo de prueba |
| Autenticación | Clave v3 en api_key, o token v4 como Bearer | api_key o Bearer con una clave hexadecimal de 32 caracteres |
| Formato de respuesta | JSON | JSON, con los mismos campos en las rutas que sirve |
| Idiomas | Consulta su documentación | 14 servidos, las demás etiquetas recurren a en |
| Películas | Sí | Sí |
| TV | Sí | Sí |
| Personas | Sí | Sí |
| Imágenes | Sí | img.amodb.dev, tamaños de w92 a original |
| Puntuaciones | Puntuación de usuarios de TMDB, otras fuentes: consulta su documentación | Cinco fuentes en un solo objeto cuando se conocen |
| Métodos de escritura | Métodos de cuenta, listas y puntuación | Ninguno, 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 | Planes de pago, consulta los precios |
| Compatibilidad | Define TMDB v3 | La mayoría de las rutas de lectura de TMDB v3 y una ruta OMDb |
Diferencias en detalle
- Términos. TMDB te pide que leas sus términos sobre uso comercial y atribución. amodb se vende por periodo prepago, sin renovación automática, sin nivel gratuito y sin periodo de prueba.
- Idiomas. amodb sirve en, ru, uk, be, zh, pt, bg, he, cs, ro, fr, pl, it y es. Acepta etiquetas de TMDB como
ru-RUypt-BR. El alemán, el japonés y el coreano recurren aen, mientras queoriginal_titleconserva el título de origen. Para la cobertura de idiomas de TMDB, consulta su documentación. Consulta idiomas. - Extensiones.
append_to_responsetambién admitemoods,soundtracks,ratings,wikidatayshowtimes, y cada una tiene su propia ruta bajo películas y series. - IDs externos.
/3/findresuelveimdb_id,tvdb_id,wikidata_id,kinopoisk_id,facebook_id,twitter_ideinstagram_id. Las fuentesfreebase_mid,freebase_id,tvrage_id,tiktok_idyyoutube_idse aceptan, pero devuelven arrays vacíos. Unexternal_sourceausente o desconocido responde 400 constatus_code22. - Vacíos por diseño. Las imágenes, los vídeos y las traducciones de temporada y el
descriptionde una productora siempre están vacíos. Las reseñas y elcreated_byde una serie se rellenan solo en unos pocos títulos. Losexternal_idsde temporadas y episodios son todos null. - Títulos para adultos.
include_adultse ignora. Los títulos y las personas para adultos nunca se sirven y responden 404. - Imágenes. La ruta de la CDN es
https:/. No hace falta clave y los archivos se guardan en caché 30 días./ img.amodb.dev/ t/ p/ {size}/ {file} - Límites. La ventana es de 60 segundos deslizantes por clave. Las cabeceras muestran el recuento restante, y los aciertos de caché también cuentan porque la comprobación del límite se ejecuta primero.
- Independencia. El catálogo procede de fuentes públicas y abiertas y de nuestro propio enriquecimiento. Compartir la misma forma no garantiza valores idénticos en todos los campos de todos los títulos.
Dónde encaja mejor TMDB
- Uso gratuito que cumple las condiciones. No hace falta pagar, y amodb no puede igualarlo.
- Escrituras. Puntuar un título, crear una lista y las sesiones de cuenta funcionan en TMDB. En amodb devuelven 405.
- Feeds de cambios. TMDB lista los ids que cambiaron. amodb no tiene un feed así, así que actualizas con tu propio calendario.
- Créditos agregados y consulta de créditos. Ambos responden 404 en amodb. Usa
/creditsen el título. - Más idiomas. Si tu interfaz necesita un idioma fuera de los 14, consulta primero TMDB.
- Aprobación ya obtenida. Un equipo que ya superó la revisión legal de TMDB debe sopesar lo que cuesta una segunda revisión.
Migrar a amodb
El cambio es de una línea por solicitud.
# before: TMDB_BASE is your current TMDB v3 base URL
curl -s "$TMDB_BASE/movie/550?api_key=$TMDB_KEY"
# after
curl -s "https://api.amodb.dev/3/movie/550?api_key=$AMODB_KEY"Antes del cambio definitivo, compara la forma de algunas respuestas lado a lado. Este script imprime las claves de primer nivel que un lado devuelve y el otro no.
async function topLevelKeys(base, key, path) {
const res = await fetch(`${base}${path}?api_key=${key}`);
if (!res.ok) throw new Error(`${path} returned ${res.status}`);
return Object.keys(await res.json()).sort();
}
for (const path of ['/movie/550', '/tv/1396', '/person/31']) {
const current = await topLevelKeys(process.env.TMDB_BASE, process.env.TMDB_KEY, path);
const next = await topLevelKeys('https://api.amodb.dev/3', process.env.AMODB_KEY, path);
const missing = current.filter((k) => !next.includes(k));
console.log(path, missing.length ? `missing: ${missing.join(', ')}` : 'same keys');
}Los campos opcionales pueden diferir en un título concreto, así que interpreta una clave ausente como una pista que investigar, no como un veredicto. Después sigue esta lista:
- Elige un plan en precios y crea una clave en el panel de tu cuenta.
- Mueve la URL base y la clave a la configuración.
- Lee
images.secure_base_urldesde/3/configuration. - Busca en tu código las llamadas de escritura y las rutas de la tabla de no ofrecidas. Deja las escrituras en TMDB y sustituye el resto.
- Añade un manejador de 429 que espere los segundos de
Retry-After. Consulta límites de solicitudes y errores.
Precios
amodb es prepago. Elige 1, 3, 6, 12 o 24 meses, que aplican 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 devuelven todos los datos y ninguno se renueva solo. Consulta precios para ver los importes.