Démarrage rapide
Achetez une offre, créez une clé dans votre compte et envoyez-la avec votre première requête à https://api.amodb.dev/3/movie/550. La réponse est le JSON TMDB v3 que vous connaissez. Construisez ensuite une URL d'affiche sur img.amodb.dev à partir de poster_path. Si vous utilisez déjà TMDB ou OMDb, changez seulement l'URL de base et la clé.
1. Obtenir une clé
Choisissez une offre sur la page des tarifs et payez une période. Ouvrez ensuite Compte, puis Clés d'API, et créez une clé. Une clé fait 32 caractères hexadécimaux en minuscules, la même forme qu'une clé TMDB v3.
La clé complète n'est affichée qu'une fois. Stockez-la dans une variable d'environnement nommée AMODB_KEY pour que les exemples de cette page fonctionnent tels quels.
export AMODB_KEY="0123456789abcdef0123456789abcdef"2. Demander les détails d'un film
Appelez GET /. Envoyez la clé comme jeton Bearer ou comme api_key dans la requête. Les deux sont acceptés sur tous les points de terminaison.
curl "https://api.amodb.dev/3/movie/550?language=en-US" \
-H "Authorization: Bearer $AMODB_KEY"const res = await fetch("https://api.amodb.dev/3/movie/550?language=en-US", {
headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
if (!res.ok) throw new Error(`amodb ${res.status}`);
const movie = await res.json();
console.log(movie.title, movie.runtime);import os
import requests
res = requests.get(
"https://api.amodb.dev/3/movie/550",
params={"language": "en-US"},
headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
timeout=10,
)
res.raise_for_status()
movie = res.json()
print(movie["title"], movie["runtime"])<?php
$ch = curl_init("https://api.amodb.dev/3/movie/550?language=en-US");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("AMODB_KEY")],
]);
$movie = json_decode(curl_exec($ch), true);
echo $movie["title"] . " " . $movie["runtime"];package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/movie/550?language=en-US", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer res.Body.Close()
var movie struct {
Title string `json:"title"`
Runtime int `json:"runtime"`
}
json.NewDecoder(res.Body).Decode(&movie)
fmt.Println(movie.Title, movie.Runtime)
}Une réponse 200 contient les champs TMDB v3. Un extrait :
{
"id": 550,
"imdb_id": "tt0137523",
"title": "Fight Club",
"release_date": "1999-10-15",
"runtime": 139,
"poster_path": "/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
}3. Charger l'affiche
Assemblez l'URL de base des images, une taille et poster_path. Les images n'exigent aucune clé et restent en cache 30 jours.
Voir les images pour toutes les tailles et pour construire les URL à partir de /3/configuration.
curl -o poster.jpg "https://img.amodb.dev/t/p/w500/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"const poster = `https://img.amodb.dev/t/p/w500${movie.poster_path}`;poster = f"https://img.amodb.dev/t/p/w500{movie['poster_path']}"4. Migrer un client existant
Pour un client TMDB v3, changez l'URL de base de https:/ en https:/ et utilisez votre clé amodb. Pour un client OMDb, changez-la en https:/ et passez la même clé comme apikey.
Les méthodes d'écriture de TMDB pour le compte, la session, la notation et les listes ne sont pas proposées. Elles renvoient HTTP 405 avec status_code 37 : un client en lecture seule n'a donc besoin d'aucun autre changement.
5. Gérer les limites et les erreurs
Chaque clé a un débit par minute fixé par son offre. Lisez X-RateLimit-Remaining et attendez les secondes de Retry-After après un 429. Les erreurs utilisent le corps TMDB avec success, status_code et status_message.
Lisez les limites de débit et les erreurs avant de passer en production.