# Alternative à l'API IMDb

> IMDb n'a pas d'API REST généraliste gratuite : ses jeux de données non commerciaux sont des fichiers à télécharger et l'accès commercial est sous licence. amodb est une API JSON payante : retrouvez un titre par identifiant IMDb, lisez la note IMDb et ses votes quand ils sont connus, obtenez distribution, images et bandes-annonces avec une seule clé.

## Les données IMDb en REST : la réponse courte

IMDb n'a pas d'API REST généraliste gratuite. Ses jeux de données non commerciaux sont des fichiers à télécharger et l'accès commercial est sous licence, consultez donc leur documentation pour connaître les conditions actuelles. Si vous voulez appeler un point de terminaison HTTP avec un identifiant IMDb et recevoir du JSON, amodb le permet avec une offre payante. Si votre contrat exige des données sous licence d'IMDb elle-même, cet accord se conclut avec IMDb et amodb ne le remplace pas.

## Les usages d'un identifiant IMDb sur amodb

Cinq appels couvrent la plupart des besoins. Chacun part d'un identifiant que vous avez déjà, ou en renvoie un.

| Vous avez ou voulez                     | Appel                                           | Vous obtenez                                                 |
| --------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------ |
| Un titre à partir d'un identifiant IMDb | `GET /3/find/tt0137523?external_source=imdb_id` | Les tableaux `movie_results`, `tv_results`, `person_results` |
| L'identifiant IMDb d'un film            | `GET /3/movie/550`, champ `imdb_id`             | `tt0137523` pour Fight Club                                  |
| L'identifiant IMDb d'une série          | `GET /3/tv/1396/external_ids`                   | `imdb_id` à côté de l'identifiant TVDB                       |
| La note IMDb                            | `GET /3/movie/550/ratings`                      | `imdb` avec `value` et `votes`, ou null                      |
| Une fiche de type OMDb                  | `GET /omdb/?i=tt0137523`                        | `imdbRating`, `imdbVotes`, `imdbID`                          |

Chaque ligne fonctionne avec la même clé. Les notes sont décrites sur la page [notes](https://amodb.dev/fr/ratings/) et les recherches par identifiant sur [recherche par identifiant externe](https://amodb.dev/fr/find-by-external-id/).

## Lire la note IMDb

Le point de terminaison des notes renvoie la note et le nombre de votes ensemble. Voici une vraie réponse pour Fight Club (id 550). Les notes évoluent avec le temps.

```json
{
  "id": 550,
  "imdb": {
    "value": 8.8,
    "votes": 2669989
  },
  "kinopoisk": {
    "value": 8.7,
    "votes": null
  },
  "metacritic": {
    "value": 67,
    "votes": null
  },
  "rotten_tomatoes": {
    "value": 81,
    "votes": null
  },
  "tmdb": {
    "value": 8.437,
    "votes": 33039
  }
}
```

Pour IMDb, la `value` est sur une échelle de 0 à 10 avec une décimale. Affichez le nombre de votes à côté, et n'affichez rien quand l'objet vaut `null`. Dans cette réponse, seuls IMDb et TMDB fournissent des votes. `votes` peut valoir `null` pour n'importe quelle source : vérifiez-le avant de l'afficher. Une réponse en cache reste valide 6 heures en périphérie, interroger plus souvent n'apporte donc rien.

## Comparatif des fonctionnalités

| Fonctionnalité    | IMDb                                                                                          | amodb                                                             |
| ----------------- | --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| Modèle tarifaire  | Accès commercial sous licence, voir leur documentation                                        | Prépayé, de 1 à 24 mois                                           |
| Offre gratuite    | Pas d'API REST généraliste gratuite                                                           | Aucune, et pas d'essai                                            |
| Authentification  | Voir leur documentation                                                                       | Paramètre de requête `api_key` ou en-tête Bearer                  |
| Format de réponse | Fichiers de jeux de données à télécharger, voir leur documentation pour les flux sous licence | JSON                                                              |
| Langues           | Voir leur documentation                                                                       | 14 langues d'interface                                            |
| Films             | Voir leur documentation pour les champs                                                       | Détails, distribution, images, vidéos                             |
| Séries            | Voir leur documentation pour les champs                                                       | Séries, saisons, épisodes                                         |
| Personnes         | Voir leur documentation pour les champs                                                       | Profils, filmographie, images                                     |
| Images            | Voir leur documentation                                                                       | `img.amodb.dev`, sans clé                                         |
| Notes             | Sa propre note, voir leur documentation pour l'accès                                          | Cinq sources dont IMDb, quand elles sont connues                  |
| Limite de débit   | Voir leur documentation                                                                       | 20, 40 ou 120 requêtes par minute                                 |
| Usage commercial  | Sous licence, voir leur documentation                                                         | Offres payantes, voir les [tarifs](https://amodb.dev/fr/pricing/) |
| Compatibilité     | Ses propres formats, voir leur documentation                                                  | Lectures TMDB v3 et protocole OMDb                                |

## Ce qui distingue amodb

Vous appelez un point de terminaison au lieu d'analyser un fichier. Une seule requête renvoie un titre avec sa distribution, ses bandes-annonces et ses notes grâce à `append_to_response`, et la forme des données suit TMDB v3, donc les bibliothèques clientes existantes fonctionnent. La même clé sert le point de terminaison de type OMDb, ce qui maintient en état de marche le code plus ancien qui lit `imdbRating`.

Le bloc des notes est un objet fixe à cinq clés. Une source inconnue vaut `null` et la clé ne disparaît pas : le code qui lit `ratings.imdb` n'a donc pas besoin de vérifier l'existence du parent. Un nombre de votes peut accompagner la valeur, ce qui permet de masquer une note qui repose sur peu de votes. Il peut aussi valoir `null`, comme c'est le cas pour trois des cinq sources dans l'exemple ci-dessus.

## Quand IMDb convient mieux

- **L'origine de la note.** IMDb publie d'abord ses propres notes. amodb ne renvoie une valeur que lorsqu'elle est connue, si bien qu'un titre récent ou obscur peut revenir avec `null`.
- **Les fonctions du site.** Les critiques d'utilisateurs, les listes et les watchlists vivent sur le site IMDb. amodb est une API de métadonnées et n'offre aucun compte utilisateur.
- **Les données sous licence.** Si un partenaire ou un contrat exige des données sous licence IMDb, seul IMDb peut les fournir.
- **L'analyse hors ligne.** Les fichiers de jeux de données non commerciaux conviennent à la recherche en masse que vous exécutez sur votre propre machine. Consultez leur documentation pour les conditions.

## Migrer vers amodb

Vous avez très probablement une liste d'identifiants IMDb. Associez chacun à un identifiant amodb une seule fois, conservez la paire, puis appelez les détails par l'identifiant numérique.

```bash
curl -s "https://api.amodb.dev/3/find/tt0133093?external_source=imdb_id" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```python
import os
import requests

KEY = os.environ["AMODB_KEY"]
imdb_ids = ["tt0137523", "tt0133093", "tt1375666"]

for imdb_id in imdb_ids:
    r = requests.get(
        f"https://api.amodb.dev/3/find/{imdb_id}",
        params={"external_source": "imdb_id"},
        headers={"Authorization": f"Bearer {KEY}"},
        timeout=10,
    )
    r.raise_for_status()
    hits = r.json()["movie_results"]
    print(imdb_id, hits[0]["id"] if hits else None)
```

Les trois identifiants ci-dessus correspondent à 550, 603 et 27205, c'est-à-dire Fight Club, The Matrix et Inception. Un identifiant de série comme `tt0903747` revient dans `tv_results`, où Breaking Bad a l'id 1396. Un tableau vide signifie qu'aucune correspondance n'a été trouvée pour cet identifiant.

Rythmez la boucle. Chaque identifiant coûte une requête, et une réponse 429 contient un en-tête `Retry-After` avec le nombre de secondes à attendre. Voir les [erreurs](https://amodb.dev/fr/errors/) pour les autres codes.

### Conserver les identifiants sans risque

- Gardez les identifiants IMDb sous forme de chaînes. Ils commencent par `tt` et portent des zéros initiaux, comme dans `tt0137523`, alors qu'un type numérique supprime ces zéros.
- Enregistrez l'identifiant IMDb et l'identifiant amodb en paire. L'un ou l'autre permet de retrouver le titre.
- Lisez `tv_results` pour les séries et `movie_results` pour les films. Un identifiant remplit normalement un seul tableau et laisse les autres vides.
- Demandez ensuite les détails par l'identifiant amodb, car un appel de détails peut inclure distribution, bandes-annonces et notes grâce à `append_to_response`.

## Tarifs

Choisissez l'une des trois offres à 20, 40 ou 120 requêtes par minute et payez d'avance 1, 3, 6, 12 ou 24 mois. Les périodes plus longues bénéficient de 10, 20, 30 ou 40 pour cent de réduction. Toutes les offres renvoient les mêmes données, rien ne se renouvelle tout seul, et il n'y a pas d'offre gratuite. Voir les [tarifs](https://amodb.dev/fr/pricing/) pour les montants.

## Questions et réponses

### IMDb propose-t-il une API REST gratuite ?

IMDb n'a pas d'API REST généraliste gratuite. Ses jeux de données non commerciaux sont des fichiers à télécharger et l'accès commercial est sous licence. Consultez leur documentation pour connaître les conditions, formats et champs actuels avant de bâtir votre projet dessus.

### Puis-je chercher un titre par son identifiant IMDb sur amodb ?

Oui. Appelez /3/find/tt0137523 avec external_source=imdb_id et lisez movie_results, tv_results ou person_results. Le point de terminaison de type OMDb accepte aussi le paramètre i avec un identifiant IMDb.

### La note IMDb est-elle toujours présente ?

Non. L'objet ratings contient toujours les cinq clés imdb, kinopoisk, metacritic, rotten_tomatoes et tmdb, mais chacune vaut null quand la note n'est pas connue. Gérez null avant d'afficher un nombre.

### Obtient-on les critiques ou les listes des utilisateurs d'IMDb ?

Non. amodb renvoie l'identifiant IMDb, ainsi que la note IMDb avec son nombre de votes quand ils sont connus. Il n'héberge ni critiques d'utilisateurs, ni listes, ni watchlists IMDb. Le point de terminaison reviews de type TMDB répond 200, et la plupart des titres renvoient une liste vide.

### Combien de temps faut-il pour convertir une liste d'identifiants IMDb ?

Une requête find par identifiant. Une liste de 500 identifiants demande 500 requêtes : avec l'offre à 20 requêtes par minute, cela prend environ 25 minutes. Conservez le résultat, car la correspondance change rarement.

## Pages liées

- [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.
- [Notes des films et séries](https://amodb.dev/fr/ratings/): API de notes de films : scores IMDb, Kinopoisk, Metacritic, Rotten Tomatoes et TMDB d'un titre en un appel, avec null pour toute source inconnue.
- [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 OMDb](https://amodb.dev/fr/omdb-api-alternative/): Plafond quotidien OMDb atteint ? amodb répond aux requêtes de style OMDb et sert aussi les points de terminaison TMDB v3, avec la même clé d'API.
- [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.

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