# Alternative à l'API TheTVDB

> TheTVDB se concentre sur les séries et propose plusieurs ordres d'épisodes : diffusion, DVD et absolu. amodb couvre séries, films et personnes avec une seule clé et associe un identifiant TVDB au sien en un appel. Il liste les groupes d'épisodes d'une série sans leur contenu : la numérotation alternative reste donc chez TheTVDB.

## Lequel convient à un projet de séries

TheTVDB se concentre sur les séries et conserve plusieurs ordres d'épisodes pour une série, dont l'ordre de diffusion, l'ordre DVD et l'ordre absolu, derrière un modèle de clé d'API. Consultez leur documentation sur la licence avant de planifier un produit commercial. Choisissez amodb si vous voulez séries, films et personnes avec une seule clé, des chemins TMDB v3 et 14 langues. Choisissez TheTVDB quand la numérotation alternative exacte est au centre de votre application, car amodb liste les groupes d'épisodes d'une série mais ne sert pas ce qu'ils contiennent.

## Comment les données de séries se correspondent

Les concepts se recoupent, mais les noms diffèrent. Ce tableau couvre ce qu'une application de séries lit d'habitude.

| Besoin                       | Approche TheTVDB                    | Appel amodb                                        |
| ---------------------------- | ----------------------------------- | -------------------------------------------------- |
| Une série                    | Fiche de série par identifiant TVDB | `GET /3/tv/1396`, après une recherche `tvdb_id`    |
| Liste des saisons            | Voir leur documentation             | Tableau `seasons` dans les détails de la série     |
| Une saison avec ses épisodes | Voir leur documentation             | `GET /3/tv/1396/season/1`                          |
| Un épisode                   | Voir leur documentation             | `GET /3/tv/1396/season/1/episode/1`                |
| Quels ordres existent        | Ordres de diffusion, DVD et absolu  | `GET /3/tv/1396/episode_groups`                    |
| Épisodes d'un ordre donné    | Voir leur documentation             | Non proposé, `/3/tv/episode_group/{id}` répond 404 |
| Prochain épisode à diffuser  | Voir leur documentation             | `next_episode_to_air` dans les détails de la série |

Les champs d'épisode utilisent les noms TMDB : `air_date`, `episode_number`, `season_number`, `runtime` et `still_path`. Les `external_ids` des saisons et des épisodes sont tous nuls, donc l'identifiant TVDB d'une saison ou d'un épisode ne peut pas être lu depuis amodb. Faites plutôt la jointure sur `season_number` et `episode_number`. Les détails sont sur [saisons et épisodes](https://amodb.dev/fr/tv-seasons-episodes/).

## Ce que renvoie la liste des groupes d'épisodes

L'appel de liste montre quels ordres existent pour une série. Il ne renvoie pas les épisodes qu'ils contiennent.

| Champ           | Signification                          |
| --------------- | -------------------------------------- |
| `id`            | Identifiant du groupe, une chaîne      |
| `name`          | Nom de l'ordre, comme `DVD / PVOD`     |
| `description`   | Texte de la source, souvent vide       |
| `type`          | Un nombre qui indique le genre d'ordre |
| `episode_count` | Épisodes dans l'ordre                  |
| `group_count`   | Blocs dans l'ordre, comme des saisons  |
| `network`       | Un objet avec la chaîne, ou null       |

Voici une vraie réponse pour 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
    }
  ]
}
```

Certaines séries renvoient un seul ordre de diffusion et d'autres plusieurs, et certaines renvoient un tableau `results` vide. Testez les séries qui vous importent. Comme le contenu d'un groupe n'est pas proposé, une application qui a besoin du numéro DVD ou absolu de chaque épisode ne peut pas l'obtenir auprès d'amodb.

## Comparatif des fonctionnalités

| Fonctionnalité    | TheTVDB                                                      | amodb                                                             |
| ----------------- | ------------------------------------------------------------ | ----------------------------------------------------------------- |
| Modèle tarifaire  | Modèle de clé d'API, voir leur documentation pour la licence | Périodes prépayées de 1 à 24 mois                                 |
| Offre gratuite    | Voir leur documentation                                      | Aucune, et pas d'essai                                            |
| Authentification  | Clé d'API, voir leur documentation pour le déroulement       | `api_key` ou en-tête Bearer                                       |
| Format de réponse | JSON, voir leur documentation                                | JSON au format TMDB v3                                            |
| Langues           | Voir leur documentation                                      | 14 langues d'interface                                            |
| Films             | Voir leur documentation                                      | Oui                                                               |
| Séries            | Oui, c'est son objectif principal                            | Oui, avec saisons et épisodes                                     |
| Personnes         | Voir leur documentation                                      | Oui                                                               |
| Images            | Voir leur documentation                                      | `img.amodb.dev`, sans clé                                         |
| Notes             | Voir leur documentation                                      | IMDb et quatre autres sources quand elles sont connues            |
| Limite de débit   | Voir leur documentation                                      | 20, 40 ou 120 par minute et par clé                               |
| Usage commercial  | Voir leur documentation pour la licence                      | Offres payantes, voir les [tarifs](https://amodb.dev/fr/pricing/) |
| Compatibilité     | Sa propre API                                                | Lectures TMDB v3 et OMDb                                          |

## Ce qui distingue amodb

- **Une clé pour tout le catalogue.** Une série, sa distribution, ses bandes-annonces et un film qui partage un acteur utilisent la même URL de base et la même limite.
- **Les notes à côté du guide des épisodes.** `append_to_response=ratings` sur les détails d'une série ajoute les notes IMDb et d'autres en un seul appel.
- **Des en-têtes simples pour réguler le débit.** `X-RateLimit-Remaining` et `X-RateLimit-Reset` indiquent à un travail de synchronisation combien de requêtes restent dans la fenêtre de 60 secondes.
- **Noms d'origine conservés.** Une série garde `original_name` pendant que `name` suit votre `language`, ce qui aide à afficher un titre dans sa langue d'origine.

## Quand TheTVDB convient mieux

- **L'ordre est le produit.** Si vos utilisateurs débattent de l'ordre DVD contre l'ordre de diffusion contre l'ordre absolu, TheTVDB en fait un élément central de son modèle. amodb nomme les ordres d'une série mais ne renvoie pas leurs épisodes, et les groupes qui existent diffèrent selon la série.
- **Intégrations existantes.** Si votre chaîne de traitement stocke déjà des identifiants TheTVDB et lit ses ordres, gardez cette partie et ajoutez amodb pour les données supplémentaires.
- **Spécialisation séries.** Si vous n'affichez jamais de films ni de personnes, une source construite autour des séries a moins de choses à apprendre.

## Migrer vers amodb

Associez une fois vos identifiants TVDB stockés. Ensuite, utilisez l'identifiant amodb pour chaque appel. Le point de terminaison find ne résout que les identifiants de séries. Ses tableaux `tv_season_results` et `tv_episode_results` sont toujours vides : associez donc les saisons et les épisodes par numéro.

```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 première requête renvoie Breaking Bad avec l'id 1396. La seconde liste les ordres qui existent pour cette série, avec leur taille. Pour comparer la numérotation avec ce que vous stockez aujourd'hui, lisez l'ordre de diffusion depuis `/tv/{id}/season/{n}` et gardez tout ordre alternatif du côté de TheTVDB. Faites cette vérification sur vos dix séries les plus regardées avant de migrer le reste.

Chaque appel compte pour une requête dans la fenêtre de 60 secondes, et une réponse 429 porte `Retry-After`. Voir [recherche par identifiant externe](https://amodb.dev/fr/find-by-external-id/) et [limites de débit](https://amodb.dev/fr/rate-limits/).

## Tarifs

amodb est prépayé, sans renouvellement automatique. Choisissez 1, 3, 6, 12 ou 24 mois et l'une des trois offres à 20, 40 ou 120 requêtes par minute. Les périodes plus longues bénéficient de 10, 20, 30 ou 40 pour cent de réduction, et chaque offre donne accès à toutes les données. Il n'y a pas d'offre gratuite. Les montants sont sur les [tarifs](https://amodb.dev/fr/pricing/).

## Questions et réponses

### Puis-je convertir des identifiants TVDB en identifiants amodb ?

Oui. Appelez /3/find/81189 avec external_source=tvdb_id. Le tableau tv_results contient la série correspondante : Breaking Bad revient avec l'id 1396. Conservez la paire et utilisez ensuite l'identifiant numérique. L'inverse fonctionne aussi : /3/tv/1396/external_ids renvoie tvdb_id.

### amodb gère-t-il l'ordre DVD et l'ordre absolu des épisodes ?

Seulement en partie. GET /3/tv/{id}/episode_groups liste les groupes d'une série avec name, type, episode_count et group_count. Le contenu d'un groupe n'est pas proposé, et /3/tv/episode_group/{id} répond 404. Vous voyez qu'un ordre DVD existe, mais vous ne pouvez pas lire sa numérotation.

### TheTVDB est-il gratuit ?

TheTVDB fonctionne avec un modèle de clé d'API, et ses conditions de licence sont fixées par TheTVDB. Consultez leur documentation pour la licence et les éventuels frais actuels. amodb est une API payante prépayée, sans offre gratuite.

### Obtient-on aussi des données de films ?

Oui. Films, personnes, images, vidéos et traductions sont sur la même clé et la même URL de base que les séries. Vous n'avez donc pas besoin d'un second fournisseur si votre application liste les deux.

### Comment savoir quel épisode passe ensuite ?

Les détails d'une série incluent next_episode_to_air et last_episode_to_air, chacun avec season_number, episode_number et air_date. Le prochain vaut null pour une série terminée. Les détails sont mis en cache 6 heures en périphérie : interrogez-les quelques fois par jour au maximum.

## Pages liées

- [API des saisons et épisodes de séries TV](https://amodb.dev/fr/tv-seasons-episodes/): API de saisons et d'épisodes aux chemins et au JSON de TMDB v3. Lisez une saison avec tous ses épisodes, ou un épisode avec date de diffusion, durée et image.
- [Recherche par identifiant externe](https://amodb.dev/fr/find-by-external-id/): Retrouvez un film, une série ou une personne par id IMDb, TVDB, Wikidata ou Kinopoisk avec find de TMDB, puis lisez ids externes et faits Wikidata.
- [API guide des épisodes](https://amodb.dev/fr/episode-guide-api/): API guide des épisodes avec les points de terminaison saisons et épisodes de TMDB v3 : noms, dates, durées, images et groupes d'épisodes, en 14 langues.
- [API des séries TV](https://amodb.dev/fr/tv-series/): API de séries TV aux chemins et au JSON de TMDB v3 : une série par id avec saisons, chaînes et prochain épisode, plus classifications et plateformes.
- [Démarrage rapide](https://amodb.dev/fr/quickstart/): Faites votre premier appel amodb : obtenez une clé, demandez un film en curl, JavaScript, Python, PHP ou Go, puis chargez l'affiche. En moins de 2 minutes.
- [Limites de débit](https://amodb.dev/fr/rate-limits/): amodb limite chaque clé en requêtes par minute sur une fenêtre glissante de 60 secondes : 20, 40 ou 120 selon l'offre. Lisez les en-têtes et gérez le 429.

Mis à jour: 2026-10-18. Source: https://amodb.dev/fr/thetvdb-api-alternative/
