# Alternativa a la API de TheTVDB

> TheTVDB se centra en la TV y ofrece varios órdenes de episodios, como emisión, DVD y absoluto. amodb cubre TV, películas y personas con una clave y asigna un id de TVDB al suyo con una llamada. Lista los grupos de episodios de una serie, pero no su contenido, así que la numeración alternativa se queda en TheTVDB.

## Cuál encaja en un proyecto de TV

TheTVDB se centra en la TV y mantiene varios órdenes de episodios para una serie, entre ellos emisión, DVD y absoluto, bajo un modelo de clave de API. Consulta su documentación sobre licencias antes de planificar un producto comercial. Elige amodb cuando quieras TV, películas y personas con una sola clave, rutas de TMDB v3 y 14 idiomas. Elige TheTVDB cuando la numeración alternativa exacta sea el centro de tu aplicación, porque amodb lista los grupos de episodios de una serie pero no sirve lo que hay dentro.

## Cómo se corresponden los datos de TV entre ambos

Los conceptos coinciden, pero los nombres difieren. Esta tabla cubre lo que suele leer una aplicación de TV.

| Necesidad                    | Enfoque de TheTVDB                  | Llamada de amodb                                      |
| ---------------------------- | ----------------------------------- | ----------------------------------------------------- |
| Una serie                    | Registro de la serie por id de TVDB | `GET /3/tv/1396`, tras buscar por `tvdb_id`           |
| Lista de temporadas          | Consulta su documentación           | Array `seasons` en los detalles de la serie           |
| Una temporada con episodios  | Consulta su documentación           | `GET /3/tv/1396/season/1`                             |
| Un episodio                  | Consulta su documentación           | `GET /3/tv/1396/season/1/episode/1`                   |
| Qué órdenes existen          | Órdenes de emisión, DVD y absoluto  | `GET /3/tv/1396/episode_groups`                       |
| Episodios dentro de un orden | Consulta su documentación           | No se ofrece, `/3/tv/episode_group/{id}` responde 404 |
| Próximo episodio por emitir  | Consulta su documentación           | `next_episode_to_air` en los detalles de la serie     |

Los campos de episodio usan los nombres de TMDB: `air_date`, `episode_number`, `season_number`, `runtime` y `still_path`. Los `external_ids` de temporadas y episodios son todos null, así que el id de TVDB de una temporada o un episodio concretos no se puede leer desde amodb. Une por `season_number` y `episode_number` en su lugar. Los detalles están en [temporadas y episodios](https://amodb.dev/es/tv-seasons-episodes/).

## Qué devuelve la lista de grupos de episodios

La llamada de lista muestra qué órdenes existen para una serie. No devuelve los episodios que contienen.

| Campo           | Significado                                        |
| --------------- | -------------------------------------------------- |
| `id`            | Id del grupo, una cadena                           |
| `name`          | Nombre del orden, como `DVD / PVOD`                |
| `description`   | Texto de la fuente, a menudo vacío                 |
| `type`          | Un número que indica de qué tipo de orden se trata |
| `episode_count` | Episodios del orden                                |
| `group_count`   | Bloques del orden, como temporadas                 |
| `network`       | Un objeto con la cadena de TV, o null              |

Esta es una respuesta real para Breaking Bad.

```json
{
  "id": 1396,
  "results": [
    {
      "description": "Seasons grouped as they appear on DVD, as well as paid video-on-demand services, such as Prime Video and YouTube.",
      "episode_count": 62,
      "group_count": 6,
      "id": "69f50757054263b7bc87e32a",
      "name": "DVD / PVOD",
      "network": null,
      "type": 3
    }
  ]
}
```

Algunas series devuelven un solo orden de emisión y otras varios, y algunas devuelven un array `results` vacío. Prueba las series que te importan. Como el contenido de un grupo no se ofrece, una aplicación que necesite el número DVD o absoluto de cada episodio no puede obtenerlo de amodb.

## Comparación de funciones

| Función               | TheTVDB                                                           | amodb                                                                 |
| --------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------- |
| Modelo de precios     | Modelo de clave de API, consulta su documentación sobre licencias | Periodos prepago de 1 a 24 meses                                      |
| Nivel gratuito        | Consulta su documentación                                         | Ninguno, y sin periodo de prueba                                      |
| Autenticación         | Clave de API, consulta su documentación sobre el flujo            | `api_key` o cabecera Bearer                                           |
| Formato de respuesta  | JSON, consulta su documentación                                   | JSON con la forma de TMDB v3                                          |
| Idiomas               | Consulta su documentación                                         | 14 idiomas de interfaz                                                |
| Películas             | Consulta su documentación                                         | Sí                                                                    |
| TV                    | Sí, su foco principal                                             | Sí, con temporadas y episodios                                        |
| Personas              | Consulta su documentación                                         | Sí                                                                    |
| Imágenes              | Consulta su documentación                                         | `img.amodb.dev`, sin necesidad de clave                               |
| Puntuaciones          | Consulta su documentación                                         | IMDb y 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 sobre licencias                         | Planes de pago, consulta los [precios](https://amodb.dev/es/pricing/) |
| Compatibilidad        | Su propia API                                                     | Lecturas de TMDB v3 y OMDb                                            |

## En qué se diferencia amodb

- **Una clave para todo el catálogo.** Una serie, su reparto, sus tráileres y una película que comparte un actor usan la misma URL base y el mismo límite.
- **Puntuaciones junto a la guía de episodios.** `append_to_response=ratings` en los detalles de la serie añade IMDb y otras puntuaciones en una sola llamada.
- **Cabeceras sencillas para regular el ritmo.** `X-RateLimit-Remaining` y `X-RateLimit-Reset` indican a un trabajo de sincronización cuántas solicitudes quedan en la ventana de 60 segundos.
- **Nombres originales conservados.** Una serie conserva `original_name` mientras `name` sigue tu `language`, lo que ayuda cuando muestras un título nativo.

## Dónde encaja mejor TheTVDB

- **El orden es el producto.** Si tus usuarios discuten sobre el orden DVD frente al de emisión frente al absoluto, TheTVDB lo trata como una parte central de su modelo. amodb nombra los órdenes de una serie pero no devuelve sus episodios, y qué grupos existen depende de la serie.
- **Integraciones existentes.** Si tu flujo ya guarda ids de TheTVDB y lee sus órdenes, conserva esa parte y añade amodb para los datos adicionales.
- **Foco en TV.** Si nunca muestras películas ni personas, una fuente construida en torno a la TV tiene menos que aprender.

## Migrar a amodb

Asigna una sola vez tus ids de TVDB guardados. Después, usa el id de amodb en todas las llamadas. El endpoint find resuelve solo ids de series. Sus arrays `tv_season_results` y `tv_episode_results` están siempre vacíos, así que asigna temporadas y episodios por número.

```js
const key = process.env.AMODB_KEY;
const headers = { Authorization: `Bearer ${key}` };
const base = 'https://api.amodb.dev/3';

async function getJson(path) {
  const res = await fetch(`${base}${path}`, { headers });
  if (!res.ok) throw new Error(`${path} returned ${res.status}`);
  return res.json();
}

const found = await getJson('/find/81189?external_source=tvdb_id');
const show = found.tv_results[0];
console.log(show.id, show.name);

const groups = await getJson(`/tv/${show.id}/episode_groups`);
for (const g of groups.results) {
  console.log(g.name, g.type, g.episode_count);
}
```

La primera solicitud devuelve Breaking Bad con el id 1396. La segunda lista los órdenes que existen para esa serie, con sus tamaños. Para comparar la numeración con lo que guardas ahora, lee el orden de emisión desde `/tv/{id}/season/{n}` y deja cualquier orden alternativo en el lado de TheTVDB. Haz esa comprobación con tus diez series más vistas antes de mover el resto.

Cada llamada cuenta como una solicitud en la ventana de 60 segundos, y un 429 trae `Retry-After`. Consulta [buscar por ID externo](https://amodb.dev/es/find-by-external-id/) y [límites de solicitudes](https://amodb.dev/es/rate-limits/).

## Precios

amodb es prepago y sin renovación automática. Elige 1, 3, 6, 12 o 24 meses y uno de tres planes de 20, 40 o 120 solicitudes por minuto. Los periodos más largos tienen un descuento del 10, 20, 30 o 40 por ciento, y todos los planes obtienen todos los datos. No hay nivel gratuito. Los importes están en [precios](https://amodb.dev/es/pricing/).

## Preguntas y respuestas

### ¿Puedo convertir ids de TVDB en ids de amodb?

Sí. Llama a /3/find/81189 con external_source=tvdb_id. El array tv_results contiene la serie coincidente, así que Breaking Bad llega con el id 1396. Guarda el par y usa el id numérico a partir de entonces. También funciona a la inversa: /3/tv/1396/external_ids devuelve tvdb_id.

### ¿amodb admite el orden de episodios DVD y absoluto?

Solo en parte. GET /3/tv/{id}/episode_groups lista los grupos de una serie con name, type, episode_count y group_count. El contenido de un grupo no se ofrece, y /3/tv/episode_group/{id} responde 404. Puedes ver que existe un orden DVD, pero no leer su numeración.

### ¿Es gratis usar TheTVDB?

TheTVDB usa un modelo de clave de API, y sus condiciones de licencia las fija TheTVDB. Consulta su documentación para ver la licencia vigente y las posibles tarifas. amodb es una API de pago prepago y no tiene nivel gratuito.

### ¿También obtengo datos de películas?

Sí. Las películas, las personas, las imágenes, los vídeos y las traducciones están en la misma clave y URL base que la TV. Así no necesitas un segundo proveedor si tu aplicación lista ambas cosas.

### ¿Cómo averiguo qué episodio se emite a continuación?

Los detalles de la serie incluyen next_episode_to_air y last_episode_to_air, cada uno con season_number, episode_number y air_date. El siguiente es null en una serie que ha terminado. Los detalles se guardan 6 horas en la caché perimetral, así que consulta como mucho unas pocas veces al día.

## Páginas relacionadas

- [API de temporadas y episodios de TV](https://amodb.dev/es/tv-seasons-episodes/): API de temporadas y episodios de TV con las mismas rutas y JSON que TMDB v3. Lee una temporada con todos sus episodios, o un episodio con fecha y duración.
- [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.
- [API de guía de episodios](https://amodb.dev/es/episode-guide-api/): API de guía de episodios con los endpoints de temporada y episodio de TMDB v3: nombres, fechas, duraciones, imágenes y grupos de episodios, en 14 idiomas.
- [API de series de TV](https://amodb.dev/es/tv-series/): API de series de TV con las mismas rutas y JSON que TMDB v3. Obtén una serie con temporadas, cadenas y próximo episodio, más clasificaciones y plataformas.
- [Inicio rápido](https://amodb.dev/es/quickstart/): Haz tu primera llamada a amodb: consigue una clave, pide los detalles de una película en curl, JavaScript, Python, PHP o Go y carga el póster. En 2 minutos.
- [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/thetvdb-api-alternative/
