Quelle API choisir

TMDB propose une API gratuite pour un usage admissible selon ses propres conditions, avec des clés d'API v3 et des jetons v4. Lisez ces conditions sur l'usage commercial et l'attribution avant de livrer. Choisissez une alternative quand vous voulez un contrat payant, une limite sur laquelle planifier ou plus de données par réponse. amodb est une API indépendante qui parle le protocole TMDB v3 en lecture : passer chez lui revient à changer l'URL de base et la clé. Il est en lecture seule, et quelques chemins TMDB ne sont pas proposés, comme indiqué plus bas.

Restez sur TMDB si les conditions gratuites conviennent à votre projet et que rien dans la section suivante ne vous concerne.

Signes qu'il vous faut une alternative

Cinq vérifications aident à décider. Faites-les sur votre propre trafic et votre propre contrat, pas sur une liste de fonctionnalités.

SigneQue testerRéponse d'amodb
Conditions commercialesLire les conditions de l'API utilisée aujourd'hui pour l'usage commercial et l'attributionOffres payantes, prépayées, sans renouvellement automatique
Trafic de pointeCompter les requêtes de votre minute la plus chargéeUne limite fixe de 20, 40 ou 120 requêtes par minute et par clé
Données par écranLister les appels supplémentaires derrière une page de titreappend_to_response accepte aussi ratings, moods, soundtracks, wikidata et showtimes
Langue de l'interfaceVérifier chaque langue que vous livrez14 langues, toute autre se replie sur en
Coût de sortieCompter les lignes de code qui nomment un fournisseurMêmes chemins et même JSON sur les points de terminaison servis : partir est aussi un changement d'URL de base

Les réponses servies depuis le cache comptent aussi. La vérification de la clé et la limite de débit passent avant le cache de périphérie, donc une requête répétée consomme quand même l'une de vos requêtes par minute. Prévoyez le total des requêtes, pas seulement les échecs de cache.

Comparatif des fonctionnalités

FonctionnalitéTMDBamodb
Modèle tarifaireAPI gratuite pour un usage admissible selon ses propres conditionsPériodes prépayées de 1, 3, 6, 12 ou 24 mois
Offre gratuiteOui, pour un usage admissibleAucune, et pas d'essai
AuthentificationClé v3 dans api_key, ou jeton v4 en Bearerapi_key ou Bearer, clé de 32 caractères hexadécimaux
Format de réponseJSONJSON au format TMDB v3
LanguesVoir leur documentation14 langues d'interface
FilmsOuiOui
SériesOuiOui, avec saisons et épisodes
PersonnesOuiOui
ImagesOui, depuis son propre hôte d'imagesimg.amodb.dev, mêmes jetons de taille, sans clé
NotesNote des utilisateurs TMDB, voir leur documentation pour les autres sourcesNote TMDB plus IMDb, Kinopoisk, Metacritic et Rotten Tomatoes quand elles sont connues
Méthodes d'écritureMéthodes de compte, de liste et de notationNon proposées, elles répondent 405
Limite de débitVoir leur documentation20, 40 ou 120 par minute et par clé
Usage commercialVoir leurs conditions sur l'usage commercial et l'attributionVendu comme API payante, voir les tarifs
CompatibilitéDéfinit le protocole v3La plupart des chemins de lecture v3, plus OMDb

Ce qui distingue amodb

  • Des limites lisibles. Chaque réponse avec clé porte X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset en secondes. Une réponse 429 ajoute Retry-After. Les valeurs sont expliquées sur limites de débit.
  • Des blocs supplémentaires en un appel. Les notes de cinq sources, les ambiances, les bandes originales, les faits Wikidata et les séances de cinéma arrivent via append_to_response, si bien qu'une page de titre peut se contenter d'une seule requête.
  • Plus de sources d'identifiants externes. /3/find résout imdb_id, tvdb_id, wikidata_id et kinopoisk_id, ainsi que facebook_id, twitter_id et instagram_id. Voir recherche par identifiant externe.
  • OMDb sur la même clé. https://api.amodb.dev/omdb/ répond aux appels de style OMDb avec un paramètre apikey, ce qui aide quand deux de vos systèmes utilisent des protocoles différents.
  • Des durées de cache connues. Les détails et les crédits restent 6 heures en périphérie, les tendances et la découverte 30 minutes, la recherche 10 minutes, la configuration 24 heures et les images 30 jours.

Quand TMDB convient mieux

  • Les projets gratuits. Si votre usage est admissible selon les conditions gratuites, TMDB ne coûte rien et amodb ne peut pas rivaliser.
  • Les méthodes d'écriture des utilisateurs. TMDB propose des méthodes d'écriture de compte, de session, de notation et de liste. amodb y répond par 405 et status_code 37 : une application qui permet de se connecter et de noter des titres doit garder TMDB pour cette partie.
  • Les flux de changements. TMDB liste les identifiants modifiés. amodb n'a pas de tel flux, vous actualisez donc selon votre propre calendrier.
  • Plus de 14 langues. amodb ne sert pas l'interface en allemand, en japonais ou en coréen et se replie sur l'anglais. Les titres originaux arrivent quand même dans original_title et original_name. Pour les autres langues chez TMDB, voir leur documentation.
  • Des conditions déjà acceptées. Si la revue juridique est faite pour TMDB, changer vous coûte une nouvelle revue.

Ce qu'amodb ne propose pas

Vérifiez votre code avec cette liste avant la bascule. Le tableau complet est sur amodb et TMDB.

Appel TMDBRéponse d'amodb
Écritures de compte, de session, de notation et de liste405, status_code 37
Changements, crédits agrégés, recherches de crédit et de critique, contenu des groupes d'épisodes404, status_code 34
Traductions de personnes, images et traductions de collections, de sociétés et de chaînes404, status_code 34
Liste des critiques d'un film ou d'une série200, vide pour la plupart des titres
Images, vidéos et traductions de saisons200, vide
Identifiants externes de saisons et d'épisodes200, tous nuls

Deux comportements sont silencieux. Un nom d'append_to_response qu'amodb ne connaît pas, comme aggregate_credits, est ignoré sans erreur. Le paramètre include_adult est lui aussi ignoré, car les titres et les personnes pour adultes ne sont jamais servis.

Migrer vers amodb

  1. Choisissez une offre sur les tarifs et créez une clé dans le tableau de bord de votre compte.
  2. Remplacez l'URL de base et la clé à un seul endroit, comme ci-dessous.
  3. Lisez images.secure_base_url dans /3/configuration pour que les liens d'images utilisent img.amodb.dev.
  4. Supprimez les appels aux méthodes d'écriture et aux chemins du tableau ci-dessus.
  5. Gérez le 429 en attendant le nombre de secondes de Retry-After.
JavaScript
const config = {
  // before: baseUrl held your current TMDB v3 base URL
  baseUrl: 'https://api.amodb.dev/3',
  apiKey: process.env.AMODB_KEY,
};

const res = await fetch(`${config.baseUrl}/movie/550?language=en-US`, {
  headers: { Authorization: `Bearer ${config.apiKey}` },
});
if (!res.ok) throw new Error(`request failed with status ${res.status}`);
const movie = await res.json();
console.log(movie.title, movie.release_date);

Lancez vos tests existants sur les deux URL de base avant la bascule. Une forme commune ne garantit pas des valeurs identiques, donc comparez un échantillon de vos propres titres. Le pas à pas complet est dans le démarrage rapide, et un tableau comparatif est sur amodb et TMDB.

La gestion des erreurs se transpose

Les appels en échec renvoient le corps TMDB {"success": false, "status_code": N, "status_message": "..."}, si bien que le code qui se branche sur status_code n'a pas besoin d'être réécrit.

HTTPstatus_codeCause typique
4017Clé absente ou mal saisie
40110Clé suspendue
40236Période prépayée terminée
40434Id introuvable, ou chemin qu'amodb ne propose pas
40537Une méthode d'écriture que votre code appelle encore
42925Plus de requêtes que l'offre n'en autorise en 60 secondes

Considérez le 402 comme un signal pour renouveler à la main, car rien ne se renouvelle automatiquement. La liste complète est sur erreurs.

Tarifs

amodb est prépayé. Choisissez une période de 1, 3, 6, 12 ou 24 mois, qui donne 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 donne accès à toutes les données et rien ne se renouvelle automatiquement. Il n'y a ni offre gratuite ni essai. Les montants actuels sont sur les tarifs.