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é.

Mis à jour le Voir en Markdown

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.

Shell
export AMODB_KEY="0123456789abcdef0123456789abcdef"

2. Demander les détails d'un film

Appelez GET /3/movie/{movie_id}. 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.

bashjspyphpgo
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 :

JSON
{
  "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.

bashjspy
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://api.themoviedb.org/3 en https://api.amodb.dev/3 et utilisez votre clé amodb. Pour un client OMDb, changez-la en https://api.amodb.dev/omdb/ 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.