API dei dettagli della persona
L'endpoint della persona restituisce un attore, un regista o un membro della troupe per ID su GET /3/person/{person_id}. Il JSON segue TMDB v3: biografia, data e luogo di nascita, immagine del profilo e reparto. Endpoint correlati restituiscono crediti di film, serie e combinati, ID esterni, immagini del profilo e lista dei popolari.
Ottenere i dettagli di una persona
GET / restituisce la scheda di base di una persona: nome, biografia, data di nascita, luogo di nascita, reparto, immagine del profilo e ID IMDb. L'ID è l'ID numerico di persona di TMDB, quindi Tom Hanks resta 31 e Leonardo DiCaprio resta 6193. Chi lavora davanti e dietro la macchina da presa condivide un unico spazio di ID.
L'esempio legge Tom Hanks e aggiunge i suoi crediti combinati, poi stampa il nome, la data di nascita, il reparto principale e quanti crediti da attore ha.
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)
}Parametri
person_idpercorsoobbligatorioID numerico della persona, per esempio31.api_keyqueryuno dei dueLa tua chiave. Usa questa o l'headerAuthorization: Bearer.languagequeryTag TMDB comeen-USoru-RU. La biografia viene restituita in quella lingua quando esiste una traduzione.append_to_responsequeryElenco separato da virgole:movie_credits,tv_credits,combined_credits,external_ids,images. I nomi sconosciuti vengono ignorati.
Campi della risposta
| Campo | Tipo | Note |
|---|---|---|
id | intero | ID della persona. |
name | stringa | Nome visualizzato, nella language richiesta quando esiste una traduzione. |
also_known_as | array | Nomi e grafie alternativi. |
biography | stringa | Testo localizzato, vuoto quando non esiste una traduzione. |
birthday, deathday | stringa o null | YYYY-MM-DD. deathday è null per le persone viventi. |
place_of_birth | stringa o null | Testo libero. |
gender | intero | 0 non specificato, 1 femminile, 2 maschile, 3 non binario. |
known_for_department | stringa | Mestiere principale, per esempio Acting o Directing. |
imdb_id | stringa o null | ID IMDb di persona come nm0000158. |
homepage | stringa o null | Sito ufficiale. |
profile_path | stringa o null | Da accodare a https:/. Vedi immagini. |
popularity | numero | Punteggio relativo usato dalla lista dei popolari. |
adult | booleano | Sempre false. Le persone per adulti non vengono mai servite. |
Risposta di esempio
GET /, con la biografia accorciata:
{
"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"
}Endpoint della filmografia
Tre endpoint elencano i lavori di una persona. Tutti accettano language e restituiscono le chiavi id, cast e crew. Quando li aggiungi con append_to_response, la chiave id viene omessa.
| Metodo e percorso | Restituisce | Parametri aggiuntivi |
|---|---|---|
GET / | Film, con character e order in cast e department e job in crew | nessuno |
GET / | Serie, con character in cast e department e job in crew | nessuno |
GET / | Film e serie insieme, ciascuno con media_type impostato su movie o tv | nessuno |
Le voci dei film portano title e release_date. Le voci delle serie TV portano name e first_air_date, e le voci di cast delle serie contengono anche una chiave episode_count che nei dati attuali è 0. Le voci portano anche credit_id, genre_ids, poster_path, vote_average e gli altri campi di lista. Il frammento qui sotto ordina i crediti combinati per data e stampa i cinque più recenti.
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);Liste e immagini
| Metodo e percorso | Restituisce | Parametri aggiuntivi |
|---|---|---|
GET /person/popular | Lista paginata di persone popolari con i titoli known_for | language, page |
GET / | Foto del profilo in un array profiles | nessuno |
GET / | imdb_id, wikidata_id, facebook_id, instagram_id, tiktok_id, twitter_id, youtube_id | nessuno |
Le voci dei popolari contengono id, name, original_name, known_for_department, gender, profile_path, popularity e un array known_for. Le pagine vanno da 1 a 500. Le foto del profilo sono trattate nella pagina immagini, e gli ID esterni nella pagina ricerca per ID esterno.
amodb non offre traduzioni delle persone, la scheda di persona più recente, immagini taggate né modifiche. Chiedi invece la biografia nella lingua che ti serve con il parametro language.
Errori
| HTTP | status_code | Quando |
|---|---|---|
| 401 | 7 | La chiave manca o è sbagliata. |
| 402 | 36 | Il periodo del piano è terminato. |
| 404 | 34 | Nessuna persona con quell'ID, una persona per adulti, o un percorso non offerto. |
| 405 | 37 | Hai chiamato un metodo di scrittura. |
| 429 | 25 | Oltre le tue richieste al minuto. Attendi i secondi di Retry-After. |
L'elenco completo è nella pagina errori, e le finestre per piano sono in limiti di richieste.
Note pratiche
- I dettagli della persona e le liste dei crediti restano in cache per 6 ore. La lista dei popolari resta in cache per 30 minuti e le sue pagine vanno da 1 a 500.
- Aggiungi
combined_creditstramiteappend_to_responseinvece di fare una seconda chiamata. Entrambi i modi restituiscono gli stessi dati. - In
movie_credits, ogni voce dicastha un valoreorder, la posizione della persona nel cast di quel film. Le voci delle serie TV non hannoorder, quindi ordinale perfirst_air_date. - Usa
known_for_departmentper decidere quale lista mostrare per prima:castper gli attori,crewper registi e sceneggiatori. - Cerca una persona per nome nella pagina ricerca, poi usa qui l'ID.