API de détails de personne
Le point de terminaison de personne renvoie un acteur, un réalisateur ou un membre de l'équipe sur GET /3/person/{person_id}. Le JSON suit TMDB v3 : biographie, naissance, image de profil et service. D'autres points de terminaison donnent les crédits de films, de séries et combinés, les ids externes, les images de profil et la liste populaire.
Obtenir les détails d'une personne
GET / renvoie la fiche de base d'une personne : nom, biographie, date de naissance, lieu de naissance, service, image de profil et id IMDb. L'identifiant est l'identifiant numérique de personne TMDB : Tom Hanks reste donc 31 et Leonardo DiCaprio reste 6193. Les personnes qui travaillent devant et derrière la caméra partagent un même espace d'identifiants.
L'exemple lit Tom Hanks et ajoute ses crédits combinés, puis affiche le nom, la date de naissance, le service principal et le nombre de ses crédits d'acteur.
curl -sSf "https://api.amodb.dev/3/person/31?language=en-US&append_to_response=combined_credits" \
-H "Authorization: Bearer $AMODB_KEY"const url = 'https://api.amodb.dev/3/person/31?language=en-US&append_to_response=combined_credits';
const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` } });
if (!res.ok) throw new Error(`amodb returned ${res.status}`);
const person = await res.json();
console.log(person.name, person.birthday, person.known_for_department, person.combined_credits.cast.length);import os
import requests
r = requests.get(
"https://api.amodb.dev/3/person/31",
params={"language": "en-US", "append_to_response": "combined_credits"},
headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
timeout=10,
)
r.raise_for_status()
person = r.json()
print(person["name"], person["birthday"], person["known_for_department"], len(person["combined_credits"]["cast"]))<?php
$url = 'https://api.amodb.dev/3/person/31?language=en-US&append_to_response=combined_credits';
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('AMODB_KEY')],
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($status !== 200) {
throw new RuntimeException("amodb returned $status");
}
$person = json_decode($body, true);
echo $person['name'], ' ', $person['birthday'], ' ', count($person['combined_credits']['cast']), PHP_EOL;package main
import (
"encoding/json"
"fmt"
"net/http"
"os"
"time"
)
type Person struct {
Name string `json:"name"`
Birthday string `json:"birthday"`
Department string `json:"known_for_department"`
PlaceOfBirth string `json:"place_of_birth"`
}
func main() {
req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/person/31?language=en-US", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
client := &http.Client{Timeout: 10 * time.Second}
res, err := client.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
if res.StatusCode != http.StatusOK {
panic(res.Status)
}
var p Person
if err := json.NewDecoder(res.Body).Decode(&p); err != nil {
panic(err)
}
fmt.Println(p.Name, p.Birthday, p.Department, p.PlaceOfBirth)
}Paramètres
person_idcheminobligatoireIdentifiant numérique de la personne, par exemple31.api_keyrequêtel'un des deuxVotre clé. Utilisez-la ou l'en-têteAuthorization: Bearer.languagerequêteBalise TMDB commeen-USouru-RU. La biographie est renvoyée dans cette langue quand une traduction existe.append_to_responserequêteListe séparée par des virgules :movie_credits,tv_credits,combined_credits,external_ids,images. Les noms inconnus sont ignorés.
Champs de la réponse
| Champ | Type | Remarques |
|---|---|---|
id | entier | Identifiant de la personne. |
name | chaîne | Nom affiché, dans la language demandée quand une traduction existe. |
also_known_as | tableau | Autres noms et graphies. |
biography | chaîne | Texte localisé, vide quand il n'existe pas de traduction. |
birthday, deathday | chaîne ou null | YYYY-MM-DD. deathday est null pour les personnes vivantes. |
place_of_birth | chaîne ou null | Texte libre. |
gender | entier | 0 non précisé, 1 féminin, 2 masculin, 3 non binaire. |
known_for_department | chaîne | Métier principal, par exemple Acting ou Directing. |
imdb_id | chaîne ou null | Identifiant IMDb de personne comme nm0000158. |
homepage | chaîne ou null | Site officiel. |
profile_path | chaîne ou null | À ajouter à https:/. Voir images. |
popularity | nombre | Score relatif utilisé par la liste des populaires. |
adult | booléen | Toujours false. Les personnes pour adultes ne sont jamais servies. |
Exemple de réponse
GET /, avec la biographie raccourcie :
{
"adult": false,
"also_known_as": [
"Thomas Jeffrey Hanks"
],
"biography": "Thomas Jeffrey Hanks (born July 9, 1956) is an American actor and filmmaker. Known for both his comedic and dramatic roles, Hanks is one of the most popular...",
"birthday": "1956-07-09",
"deathday": null,
"gender": 2,
"homepage": null,
"id": 31,
"imdb_id": "nm0000158",
"known_for_department": "Acting",
"name": "Tom Hanks",
"place_of_birth": "Concord, California, USA",
"popularity": 12.98,
"profile_path": "/oFvZoKI6lvU03n4YoNGAll9rkas.jpg"
}Points de terminaison de filmographie
Trois points de terminaison listent ce sur quoi une personne a travaillé. Tous acceptent language et renvoient les clés id, cast et crew. Quand vous les ajoutez avec append_to_response, la clé id est omise.
| Méthode et chemin | Renvoie | Paramètres supplémentaires |
|---|---|---|
GET / | Films, avec character et order dans cast et department et job dans crew | aucun |
GET / | Séries, avec character dans cast et department et job dans crew | aucun |
GET / | Films et séries ensemble, chacun avec media_type réglé sur movie ou tv | aucun |
Les entrées de films portent title et release_date. Les entrées de séries portent name et first_air_date, et les entrées de distribution des séries contiennent aussi une clé episode_count qui vaut 0 dans les données actuelles. Les entrées portent aussi credit_id, genre_ids, poster_path, vote_average et les autres champs de liste. L'extrait ci-dessous trie les crédits combinés par date et affiche les cinq plus récents.
const credits = person.combined_credits;
const date = (c) => c.release_date || c.first_air_date || '';
const latest = credits.cast.filter((c) => date(c)).sort((a, b) => date(b).localeCompare(date(a))).slice(0, 5);
for (const c of latest) console.log(date(c), c.media_type, c.title || c.name, 'as', c.character);Listes et images
| Méthode et chemin | Renvoie | Paramètres supplémentaires |
|---|---|---|
GET /person/popular | Liste paginée de personnes populaires avec les titres known_for | language, page |
GET / | Photos de profil dans un tableau profiles | aucun |
GET / | imdb_id, wikidata_id, facebook_id, instagram_id, tiktok_id, twitter_id, youtube_id | aucun |
Les entrées populaires contiennent id, name, original_name, known_for_department, gender, profile_path, popularity et un tableau known_for. Les pages vont de 1 à 500. Les photos de profil sont traitées sur images, et les identifiants externes sur recherche par identifiant externe.
amodb ne propose ni traductions de personnes, ni fiche de personne la plus récente, ni images étiquetées, ni changements. Demandez plutôt la biographie dans la langue voulue avec le paramètre language.
Erreurs
| HTTP | status_code | Quand |
|---|---|---|
| 401 | 7 | La clé est absente ou fausse. |
| 402 | 36 | La période de l'offre est terminée. |
| 404 | 34 | Aucune personne avec cet identifiant, une personne pour adultes, ou un chemin non proposé. |
| 405 | 37 | Vous avez appelé une méthode d'écriture. |
| 429 | 25 | Au-dessus de vos requêtes par minute. Attendez les secondes de Retry-After. |
La liste complète est sur erreurs, et les fenêtres par offre sont sur limites de débit.
Remarques pratiques
- Les détails d'une personne et les listes de crédits sont mis en cache 6 heures. La liste des populaires est mise en cache 30 minutes et ses pages vont de 1 à 500.
- Ajoutez
combined_creditsviaappend_to_responseau lieu de faire un second appel. Les deux façons renvoient les mêmes données. - Dans
movie_credits, chaque entrée decasta une valeurorder, la position de la personne au générique de ce film. Les entrées de séries n'ont pas d'order: triez-les donc parfirst_air_date. - Utilisez
known_for_departmentpour décider quelle liste montrer en premier :castpour les acteurs,crewpour les réalisateurs et les scénaristes. - Cherchez une personne par son nom sur recherche, puis utilisez l'identifiant ici.