# Alternative à l'API OMDb

> OMDb est une API à fiche unique, avec une clé gratuite et un plafond quotidien de 1 000 requêtes (voir leur site). amodb répond à i, t, s, type, y, plot et page sur /omdb/ avec les mêmes champs, limite par minute et ajoute les points de terminaison TMDB v3 sur une seule clé. JSON uniquement, ni XML, ni épisodes.

## Choisir selon la forme de vos appels

Choisissez OMDb si vous voulez une petite fiche par titre et que sa clé gratuite couvre votre volume. Choisissez amodb quand vous dépassez cette limite, ou quand vous voulez le même style de requête OMDb à côté de la distribution, des images et des traductions sur une seule clé. OMDb renvoie du JSON ou du XML, utilise un paramètre `apikey` et propose une clé gratuite avec un plafond quotidien de 1 000 requêtes (voir leur site), ainsi qu'un niveau payant pour les soutiens. amodb est uniquement payant et répond aux principaux paramètres OMDb ainsi qu'à TMDB v3.

## Ce qui ne change pas

Le point de terminaison OMDb se trouve à `https://api.amodb.dev/omdb/`, et la barre oblique finale est facultative. Votre code d'analyse existant ne devrait pas avoir besoin de modifications pour ces éléments.

| Élément OMDb    | Sur amodb                                                                                                                  |
| --------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `apikey`        | Même paramètre, rempli avec votre clé amodb                                                                                |
| `i` et `t`      | Recherche par identifiant IMDb ou par titre                                                                                |
| `s` et `page`   | Recherche avec 10 résultats par page et un compteur `totalResults`, `page` jusqu'à 100                                     |
| `type` et `y`   | Filtre par `movie` ou `series` et par année                                                                                |
| `plot`          | `short` ou `full`                                                                                                          |
| `r`             | Seul `json` est accepté                                                                                                    |
| Champs du corps | Nommés comme dans OMDb, de `Title` à `Response`                                                                            |
| `Ratings`       | Un tableau de paires `Source` et `Value` pour Internet Movie Database, Rotten Tomatoes et Metacritic, quand elles existent |
| Erreurs         | `{"Response":"False","Error":"..."}` avec la formulation OMDb, dans une réponse HTTP 200                                   |

## Ce qui ne passe pas

- **XML.** Une requête avec `r=xml` renvoie 400 avec `{"Response":"False","Error":"Only r=json is supported."}`.
- **Saisons et épisodes.** `Season` et `Episode` sont ignorés, et `type=episode` ne trouve rien. Une requête avec `i=tt0903747&Season=1` renvoie la fiche de la série, pas une saison. Utilisez `/3/tv/{id}/season/{n}` pour les épisodes.
- **Autres paramètres.** `callback` est ignoré.
- **Champs sans données.** `DVD`, `Production` et `Website` valent toujours `"N/A"`. Les fiches de séries ont `totalSeasons` et omettent `DVD`, `BoxOffice`, `Production` et `Website`.
- **Affiches.** Le champ `Poster` pointe vers `https://img.amodb.dev/t/p/w300/...` au lieu d'un autre hôte. Remplacez `w300` par `w780` pour obtenir une image plus grande avec le même chemin, et les images n'exigent aucune clé.

La liste complète des paramètres et des erreurs est sur la page du [point de terminaison OMDb](https://amodb.dev/fr/omdb-endpoint/).

## Exemple de réponse

Une requête avec `t=Fight Club` renvoie un objet plat. La réponse ci-dessous est réelle, seul le texte de `Plot` a été raccourci.

```json
{
  "Title": "Fight Club",
  "Year": "1999",
  "Rated": "R",
  "Released": "15 Oct 1999",
  "Runtime": "139 min",
  "Genre": "Crime, Drama, Thriller",
  "Director": "David Fincher",
  "Writer": "Chuck Palahniuk, Jim Uhls",
  "Actors": "Brad Pitt, Edward Norton, Meat Loaf",
  "Plot": "A nameless first-person narrator attends support groups in an attempt to subdue his emotional state an...",
  "Language": "English",
  "Country": "United States, Germany",
  "Awards": "Nominated for 1 Oscar. 12 wins & 38 nominations total",
  "Poster": "https://img.amodb.dev/t/p/w300/qkrH7rjYKU4KOwwIl6wF6H3ISvm.jpg",
  "Ratings": [
    {
      "Source": "Internet Movie Database",
      "Value": "8.8/10"
    },
    {
      "Source": "Rotten Tomatoes",
      "Value": "81%"
    },
    {
      "Source": "Metacritic",
      "Value": "67/100"
    }
  ],
  "Metascore": "67",
  "imdbRating": "8.8",
  "imdbVotes": "2,669,989",
  "imdbID": "tt0137523",
  "Type": "movie",
  "DVD": "N/A",
  "BoxOffice": "$38,003,039",
  "Production": "N/A",
  "Website": "N/A",
  "Response": "True"
}
```

Les valeurs sont des chaînes, comme dans OMDb : analysez vous-même `imdbRating`, `imdbVotes` et `Runtime`. Chaque appel compte pour une requête dans votre limite par minute, quel que soit le nombre de champs que vous lisez.

## Comparatif des fonctionnalités

| Fonctionnalité    | OMDb                                                            | amodb                                                                     |
| ----------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------- |
| Modèle tarifaire  | Clé gratuite et niveau payant pour les soutiens, voir leur site | Périodes prépayées, de 1 à 24 mois                                        |
| Offre gratuite    | Clé gratuite avec plafond quotidien de 1 000, voir leur site    | Aucune, et pas d'essai                                                    |
| Authentification  | Paramètre `apikey`                                              | `apikey` sur `/omdb/`, `api_key` ou Bearer sur `/3`                       |
| Format de réponse | JSON ou XML                                                     | JSON                                                                      |
| Langues           | Voir leur documentation                                         | 14 langues d'interface sur les chemins `/3`                               |
| Films             | Oui                                                             | Oui                                                                       |
| Séries            | Séries et épisodes, voir leur documentation pour les champs     | Fiches de séries sur `/omdb/`, saisons et épisodes sur les chemins `/3`   |
| Personnes         | Noms en texte dans chaque fiche                                 | Profils, filmographie et images sur les chemins `/3`                      |
| Images            | Lien d'affiche dans chaque fiche                                | Lien d'affiche et listes d'images, `img.amodb.dev`                        |
| Notes             | Champs `Ratings`, `Metascore` et `imdbRating`                   | Les mêmes champs, plus un objet `ratings` sur les chemins `/3`            |
| Limite de débit   | Plafond quotidien sur la clé gratuite, voir leur site           | 20, 40 ou 120 par minute et par clé                                       |
| Usage commercial  | Voir leur site                                                  | Vendu comme API payante, voir les [tarifs](https://amodb.dev/fr/pricing/) |
| Compatibilité     | Définit le protocole OMDb                                       | Paramètres OMDb ci-dessus et lectures TMDB v3                             |

## Ce qui distingue amodb

- **Des limites par minute.** Les offres autorisent 20, 40 ou 120 requêtes par minute dans une fenêtre glissante de 60 secondes. Chaque réponse avec clé porte `X-RateLimit-Remaining`, si bien qu'un traitement par lots peut ralentir lui-même avant de rencontrer un 429.
- **Une voie au-delà des fiches uniques.** Une fiche OMDb a une liste de distribution sous forme de texte. Avec les chemins `/3`, vous pouvez demander le même titre avec distribution, vidéos et traductions en un seul appel, et l'`imdbID` retrouve la fiche via `/3/find`.
- **Des images plus grandes.** Les fiches de style OMDb donnent un seul lien d'affiche. L'hôte d'images sert dix tailles, de `w92` à `original`.
- **Plus de sources de notes.** L'extension `/3/movie/{id}/ratings` ajoute les valeurs de Kinopoisk, Metacritic, Rotten Tomatoes et TMDB quand elles sont connues.

## Quand OMDb convient mieux

- **Les petits projets ou les projets gratuits.** Une clé gratuite avec un plafond quotidien de 1 000 suffit pour un prototype ou un site de loisir, et amodb n'a pas d'offre gratuite.
- **Les consommateurs de XML.** Si un système ancien analyse du XML, OMDb le propose et amodb non.
- **La recherche de saisons et d'épisodes.** La route `/omdb/` d'amodb n'a pas de mode saison ou épisode : un client construit dessus doit utiliser les chemins `/3`.
- **La simplicité.** Un seul point de terminaison et une poignée de paramètres, c'est facile à apprendre. Si c'est tout ce qu'il vous faut, changer rapporte peu.

## Migrer vers amodb

Seules l'URL de base et la clé changent. Gardez le reste de la requête tel quel, après avoir cherché dans votre code `r=xml`, `Season`, `Episode` et `type=episode`.

```js
const OMDB_BASE = process.env.OMDB_BASE_URL; // before: your current OMDb base URL
const AMODB_BASE = 'https://api.amodb.dev/omdb/'; // after

async function lookup(title) {
  const url = new URL(AMODB_BASE);
  url.searchParams.set('apikey', process.env.AMODB_KEY);
  url.searchParams.set('t', title);
  url.searchParams.set('plot', 'short');
  const res = await fetch(url);
  const data = await res.json();
  if (data.Response === 'False') throw new Error(data.Error);
  return data;
}

const movie = await lookup('Fight Club');
console.log(movie.Title, movie.Year, movie.imdbRating, movie.Poster);
```

Continuez à vérifier le champ `Response`, comme avec OMDb. Quand la valeur est la chaîne `"False"`, le champ `Error` contient le message. Pour les épisodes, associez l'`imdbID` une fois avec `/3/find` et lisez les saisons du côté `/3` :

```bash
curl -s "https://api.amodb.dev/3/find/tt0903747?external_source=imdb_id&api_key=$AMODB_KEY"
curl -s "https://api.amodb.dev/3/tv/1396/season/1?api_key=$AMODB_KEY"
```

Pour la partie de style TMDB, voir l'[authentification](https://amodb.dev/fr/authentication/) et le [démarrage rapide](https://amodb.dev/fr/quickstart/).

## Tarifs

amodb est payant et ne se renouvelle que lorsque vous achetez une autre période. Les trois offres ne diffèrent que par le débit, à 20, 40 ou 120 requêtes par minute, et chacune renvoie toutes les données. Les périodes durent 1, 3, 6, 12 ou 24 mois, et les plus longues bénéficient de 10 à 40 pour cent de réduction. Consultez les [tarifs](https://amodb.dev/fr/pricing/) pour les montants actuels.

## Questions et réponses

### Dois-je réécrire mon client OMDb ?

Pas s'il utilise i, t, s, type, y, plot et page. Remplacez l'URL de base par https://api.amodb.dev/omdb/ et placez votre clé amodb dans le paramètre apikey. Le corps garde les noms de champs OMDb comme imdbRating. Les paramètres Season et Episode, ainsi que r=xml, ne sont pas pris en charge.

### Le point de terminaison OMDb d'amodb renvoie-t-il du XML ?

Non. Il renvoie uniquement du JSON. Une requête avec r=xml reçoit une réponse 400 avec l'erreur Only r=json is supported : supprimez le paramètre r ou mettez r=json avant de basculer.

### Puis-je chercher des saisons et des épisodes sur le point de terminaison OMDb ?

Non. Les paramètres Season et Episode sont ignorés : une requête avec i et Season=1 renvoie la fiche de la série, et type=episode ne trouve rien. Lisez les épisodes depuis /3/tv/{id}/season/{n} avec la même clé.

### En quoi la limite diffère-t-elle de la clé gratuite d'OMDb ?

OMDb documente un plafond quotidien de 1 000 requêtes pour sa clé gratuite, consultez donc leur site pour les conditions actuelles. amodb limite les requêtes par minute et par clé, à 20, 40 ou 120 selon l'offre.

### D'où se chargent les affiches ?

Le champ Poster pointe vers img.amodb.dev à la taille w300. Remplacez w300 par une autre taille comme w780 dans la même URL pour une image plus grande. Les images n'exigent aucune clé.

### Puis-je utiliser la même clé pour des appels de style TMDB ?

Oui. Une seule clé fonctionne pour /omdb/ et pour les chemins /3. Vous pouvez ainsi récupérer la distribution, les bandes-annonces ou les traductions d'un imdbID sans second abonnement.

## Pages liées

- [Endpoint compatible OMDb](https://amodb.dev/fr/omdb-endpoint/): Endpoint compatible OMDb sur api.amodb.dev/omdb/. Cherchez par i ou t, recherchez avec s, lisez Ratings et gardez votre client en changeant l'URL de base.
- [Alternative à l'API IMDb](https://amodb.dev/fr/imdb-api-alternative/): IMDb n'a pas d'API REST généraliste gratuite. Trouvez un titre par identifiant IMDb, lisez sa note IMDb et récupérez casting, images et bandes-annonces.
- [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.
- [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.
- [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/omdb-api-alternative/
