# amodb vs TMDB

> amodb garde les chemins, les paramètres et le JSON TMDB v3 pour la plupart des lectures : un client n'a besoin que d'une nouvelle URL de base et d'une clé. Les écritures répondent 405, et changements, crédits agrégés et recherches de critiques manquent. Autres écarts : conditions, 14 langues, cinq extensions et limites par clé.

## La comparaison en bref

amodb est une API indépendante qui parle le même protocole que TMDB v3. Un client écrit pour TMDB lit depuis amodb après le changement de l'URL de base et de la clé, tant qu'il n'appelle aucun chemin du tableau des éléments non proposés ci-dessous. Le choix porte donc sur les conditions, les extras et quelques manques. TMDB propose une API gratuite pour un usage admissible selon ses propres conditions. amodb est une API payante en lecture seule, avec 14 langues, cinq blocs de données supplémentaires et une limite comptée par clé.

## Parité des points de terminaison

Chaque ligne montre un chemin de lecture TMDB v3 et son comportement sur `https://api.amodb.dev/3`.

| Domaine                           | Chemin TMDB v3                           | Sur amodb                                                                                                                        |
| --------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| Détails d'un film                 | `/movie/{movie_id}`                      | Identique, avec cinq valeurs `append_to_response` en plus                                                                        |
| Détails d'une série               | `/tv/{series_id}`                        | Identique, mais sans champ `type`, et `created_by` est vide pour la plupart des séries                                           |
| Saisons et épisodes               | `/tv/{series_id}/season/{season_number}` | Même forme. Les images, vidéos et traductions de saisons sont vides, et les `external_ids` des saisons et des épisodes sont nuls |
| Personnes                         | `/person/{person_id}`                    | Identique, avec `combined_credits`, `movie_credits`, `tv_credits`, `external_ids` et `images` (profils uniquement)               |
| Crédits                           | `/movie/{movie_id}/credits`              | Identique. Sur les épisodes, `cast` est vide                                                                                     |
| Recherche                         | `/search/multi`                          | Identique, en cache 10 minutes                                                                                                   |
| Découverte                        | `/discover/movie`                        | Identique, en cache 30 minutes                                                                                                   |
| Tendances                         | `/trending/{media_type}/{time_window}`   | Identique, en cache 30 minutes                                                                                                   |
| Listes                            | `/movie/popular`                         | Identique, `page` de 1 à 500                                                                                                     |
| Images                            | `/movie/{movie_id}/images`               | Même forme, les fichiers se chargent depuis `img.amodb.dev`                                                                      |
| Vidéos                            | `/movie/{movie_id}/videos`               | Identique                                                                                                                        |
| Traductions                       | `/movie/{movie_id}/translations`         | Identique, 14 langues servies                                                                                                    |
| Mots-clés                         | `/movie/{movie_id}/keywords`             | Identique                                                                                                                        |
| Critiques                         | `/movie/{movie_id}/reviews`              | Répond 200, mais seuls quelques titres ont des critiques : une liste vide est normale                                            |
| Collections                       | `/collection/{collection_id}`            | Identique, `parts` triés par date de sortie                                                                                      |
| Sociétés et chaînes               | `/company/{company_id}`                  | Mêmes clés. La `description` d'une société est vide et `parent_company` est null                                                 |
| Genres                            | `/genre/movie/list`                      | Identique                                                                                                                        |
| Configuration                     | `/configuration`                         | Mêmes clés, l'hôte des images est `img.amodb.dev`                                                                                |
| Recherche par identifiant externe | `/find/{external_id}`                    | Même point de terminaison, plus `kinopoisk_id`. `tv_episode_results` et `tv_season_results` sont toujours vides                  |
| Groupes d'épisodes                | `/tv/{series_id}/episode_groups`         | Liste les groupes d'une série, sans leur contenu                                                                                 |

## Non proposé sur amodb

Ces appels TMDB v3 n'ont pas d'équivalent. Les chemins inconnus répondent 404 avec `status_code` 34, et les méthodes d'écriture répondent 405 avec `status_code` 37.

| Appel TMDB v3                                                                                                                     | Réponse d'amodb       |
| --------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
| `/movie/changes`, `/tv/changes`, `/person/changes` et `changes` sous un identifiant                                               | 404, `status_code` 34 |
| `aggregate_credits` sous une série ou une saison                                                                                  | 404, `status_code` 34 |
| `/credit/{credit_id}` et `/review/{review_id}`                                                                                    | 404, `status_code` 34 |
| `/tv/episode_group/{id}`                                                                                                          | 404, `status_code` 34 |
| `/person/{person_id}/translations`, `tagged_images` et `/person/latest`                                                           | 404, `status_code` 34 |
| `images`, `translations` et `alternative_names` pour les collections, les sociétés et les chaînes                                 | 404, `status_code` 34 |
| `/configuration/timezones`                                                                                                        | 404, `status_code` 34 |
| Tout ce qui est sous `account`, `authentication`, `guest_session` et `list`, ainsi que tout chemin `/rating` ou `/account_states` | 405, `status_code` 37 |

Si vous ajoutez `aggregate_credits` ou `changes` à `append_to_response`, amodb ignore le nom sans erreur, et la clé est donc simplement absente du corps.

## Comparatif des fonctionnalités

| Fonctionnalité      | TMDB                                                                 | amodb                                                             |
| ------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------- |
| Modèle tarifaire    | Gratuit pour un usage admissible, selon les conditions de TMDB       | Prépayé, de 1 à 24 mois par achat                                 |
| Offre gratuite      | Oui, pour un usage admissible                                        | Aucune, et pas d'essai                                            |
| Authentification    | Clé v3 dans `api_key`, ou jeton v4 en Bearer                         | `api_key` ou Bearer avec une clé hexadécimale de 32 caractères    |
| Format de réponse   | JSON                                                                 | JSON, mêmes champs sur les chemins servis                         |
| Langues             | Voir leur documentation                                              | 14 servies, les autres balises se replient sur `en`               |
| Films               | Oui                                                                  | Oui                                                               |
| Séries              | Oui                                                                  | Oui                                                               |
| Personnes           | Oui                                                                  | Oui                                                               |
| Images              | Oui                                                                  | `img.amodb.dev`, tailles de `w92` à `original`                    |
| Notes               | Note des utilisateurs TMDB, autres sources : voir leur documentation | Cinq sources dans un seul objet quand elles sont connues          |
| Méthodes d'écriture | Méthodes de compte, de liste et de notation                          | Aucune, elles répondent 405                                       |
| Limite de débit     | Voir leur documentation                                              | 20, 40 ou 120 par minute et par clé                               |
| Usage commercial    | Voir leurs conditions sur l'usage commercial et l'attribution        | Offres payantes, voir les [tarifs](https://amodb.dev/fr/pricing/) |
| Compatibilité       | Définit TMDB v3                                                      | La plupart des chemins de lecture TMDB v3 et une route OMDb       |

## Ce qui diffère en détail

- **Conditions.** TMDB vous demande de lire ses conditions sur l'usage commercial et l'attribution. amodb se vend par période prépayée, sans renouvellement automatique, sans offre gratuite et sans essai.
- **Langues.** amodb sert en, ru, uk, be, zh, pt, bg, he, cs, ro, fr, pl, it et es. Il accepte les balises TMDB comme `ru-RU` et `pt-BR`. L'allemand, le japonais et le coréen se replient sur `en`, tandis que `original_title` garde le titre d'origine. Pour la couverture linguistique de TMDB, voir leur documentation. Voir [langues](https://amodb.dev/fr/languages/).
- **Extensions.** `append_to_response` accepte aussi `moods`, `soundtracks`, `ratings`, `wikidata` et `showtimes`, et chacune a son propre chemin sous les films et les séries.
- **Identifiants externes.** `/3/find` résout `imdb_id`, `tvdb_id`, `wikidata_id`, `kinopoisk_id`, `facebook_id`, `twitter_id` et `instagram_id`. Les sources `freebase_mid`, `freebase_id`, `tvrage_id`, `tiktok_id` et `youtube_id` sont acceptées mais renvoient des tableaux vides. Un `external_source` absent ou inconnu répond 400 avec `status_code` 22.
- **Vide par conception.** Les images, vidéos et traductions de saisons ainsi que la `description` d'une société sont toujours vides. Les critiques et `created_by` d'une série ne sont remplis que pour quelques titres. Les `external_ids` des saisons et des épisodes sont tous nuls.
- **Titres pour adultes.** `include_adult` est ignoré. Les titres et les personnes pour adultes ne sont jamais servis et répondent 404.
- **Images.** Le chemin du CDN est `https://img.amodb.dev/t/p/{size}/{file}`. Aucune clé n'est nécessaire et les fichiers sont mis en cache 30 jours.
- **Limites.** La fenêtre est une fenêtre glissante de 60 secondes par clé. Les en-têtes indiquent le nombre restant, et les réponses servies depuis le cache comptent quand même, car la vérification de la limite passe en premier.
- **Indépendance.** Le catalogue vient de sources publiques et ouvertes et de notre propre enrichissement. Une forme commune ne garantit pas des valeurs identiques pour chaque champ de chaque titre.

## Quand TMDB convient mieux

- **Usage gratuit admissible.** Aucun paiement n'est nécessaire, et amodb ne peut pas rivaliser.
- **Écritures.** Noter un titre, créer une liste et gérer les sessions de compte fonctionnent sur TMDB. Sur amodb, elles renvoient 405.
- **Flux de changements.** TMDB liste les identifiants modifiés. amodb n'a pas de tel flux, vous actualisez donc selon votre propre calendrier.
- **Crédits agrégés et recherches de crédit.** Les deux répondent 404 sur amodb. Utilisez `/credits` sur le titre.
- **Besoins linguistiques plus larges.** Si votre interface exige une langue en dehors des 14, regardez d'abord chez TMDB.
- **Validation existante.** Une équipe qui a validé TMDB avec une revue juridique doit peser le coût d'une seconde revue.

## Migrer vers amodb

Le changement tient en une ligne par requête.

```bash
# 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"
```

Avant la bascule, comparez côte à côte la forme de quelques réponses. Ce script affiche les clés de premier niveau qu'un côté renvoie et pas l'autre.

```js
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');
}
```

Les champs facultatifs peuvent différer pour un titre donné, donc lisez une clé manquante comme une piste à examiner et non comme un verdict. Parcourez ensuite cette liste :

1. Choisissez une offre sur les [tarifs](https://amodb.dev/fr/pricing/), puis créez une clé dans le tableau de bord de votre compte.
2. Déplacez l'URL de base et la clé dans la configuration.
3. Lisez `images.secure_base_url` dans `/3/configuration`.
4. Cherchez dans votre code les appels d'écriture et les chemins du tableau des éléments non proposés. Gardez les écritures sur TMDB et remplacez le reste.
5. Ajoutez un gestionnaire de 429 qui attend `Retry-After` secondes. Voir [limites de débit](https://amodb.dev/fr/rate-limits/) et [erreurs](https://amodb.dev/fr/errors/).

## Tarifs

amodb est prépayé. Choisissez 1, 3, 6, 12 ou 24 mois, qui donnent 0, 10, 20, 30 ou 40 pour cent de réduction, et l'une des trois offres à 20, 40 ou 120 requêtes par minute. Chaque offre renvoie toutes les données, et aucune ne se renouvelle toute seule. Voir les [tarifs](https://amodb.dev/fr/pricing/) pour les montants.

## Questions et réponses

### Tous les points de terminaison de lecture TMDB v3 sont-ils disponibles sur amodb ?

Non. La plupart des chemins de lecture gardent le même chemin, les mêmes paramètres de requête et la même forme JSON, et le tableau de parité de cette page les regroupe par domaine. Les écritures répondent 405 avec status_code 37. Les flux de changements, les crédits agrégés, les recherches de crédit et de critique, le contenu des groupes d'épisodes et les traductions de personnes répondent 404 avec status_code 34.

### Qu'est-ce qui change dans mon code quand je quitte TMDB ?

Trois choses : l'URL de base devient https://api.amodb.dev/3, la clé devient votre clé amodb, et les URL d'images utilisent img.amodb.dev. Lisez la base des images dans le point de terminaison de configuration. Les chemins restent les mêmes, sauf pour les appels indiqués comme non proposés.

### Les identifiants de films et de séries restent-ils les mêmes ?

Les identifiants suivent la numérotation TMDB. Fight Club est 550 et Breaking Bad est 1396 des deux côtés. Les valeurs de certains champs peuvent quand même différer pour quelques titres : comparez un échantillon de votre propre catalogue avant la bascule.

### Puis-je utiliser les deux services ensemble ?

Oui. Comme le protocole est le même, vous pouvez garder TMDB pour les fonctions de compte et de liste, les flux de changements et les crédits agrégés, et utiliser amodb pour les lectures du catalogue. Gardez deux URL de base et deux clés dans votre configuration.

### Quel service est le moins cher ?

TMDB propose une API gratuite pour un usage admissible selon ses propres conditions, donc elle ne coûte rien si vous y avez droit. amodb est payant dès la première requête, avec des périodes prépayées de 1 à 24 mois et une réduction pouvant atteindre 40 pour cent.

## Pages liées

- [Alternative à l'API TMDB](https://amodb.dev/fr/tmdb-api-alternative/): Besoin d'une alternative à l'API TMDB ? Comparez conditions, limites et langues, puis passez à une API payante qui garde la plupart des chemins TMDB v3.
- [API base de données de films pour votre propre catalogue](https://amodb.dev/fr/movie-database-api/): API base de données de films pour votre copie : films, personnes, sociétés, collections et mots-clés liés, fenêtres de dates discover et recherche par id.
- [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.
- [Authentification](https://amodb.dev/fr/authentication/): Comment envoyer votre clé amodb : api_key dans la requête, en-tête Authorization Bearer, ou apikey pour OMDb. Format, stockage, rotation et erreurs 401.
- [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.
- [Tarifs](https://amodb.dev/fr/pricing/): Les offres amodb ne diffèrent que par les requêtes par minute : 20, 40 ou 120. Toutes incluent les données TMDB v3 et OMDb. Prépayé, sans renouvellement.

Mis à jour: 2026-10-18. Source: https://amodb.dev/fr/amodb-vs-tmdb/
