API detailu osoby
Endpoint osoby vrací jednoho herce, režiséra nebo člena štábu podle ID na GET /3/person/{person_id}. JSON odpovídá TMDB v3: biografie, datum narození, místo narození, profilový obrázek a profese. Doprovodné endpointy vracejí filmové, seriálové a sloučené záznamy účasti, externí ID, profilové obrázky a seznam populárních osob.
Získání detailů osoby
GET / vrací základní záznam jedné osoby: jméno, biografii, datum narození, místo narození, profesi, profilový obrázek a ID z IMDb. ID je číselné ID osoby z TMDB, takže Tom Hanks zůstává 31 a Leonardo DiCaprio zůstává 6193. Lidé, kteří pracují před kamerou i za ní, sdílejí jeden prostor ID.
Příklad načte Toma Hankse, přidá jeho sloučené záznamy účasti a vypíše jméno, datum narození, hlavní profesi a počet hereckých rolí.
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)
}Parametry
person_idpathpovinnýČíselné ID osoby, například31.api_keyqueryjeden ze dvouVáš klíč. Použijte jej, nebo hlavičkuAuthorization: Bearer.languagequeryTag TMDB, napříkladen-USneboru-RU. Biografie se vrátí v tomto jazyce, pokud překlad existuje.append_to_responsequerySeznam oddělený čárkami:movie_credits,tv_credits,combined_credits,external_ids,images. Neznámé názvy se ignorují.
Pole odpovědi
| Pole | Typ | Poznámky |
|---|---|---|
id | integer | ID osoby. |
name | string | Zobrazované jméno, v požadovaném language, pokud překlad existuje. |
also_known_as | array | Alternativní jména a hláskování. |
biography | string | Lokalizovaný text, prázdný, když překlad neexistuje. |
birthday, deathday | string nebo null | YYYY-MM-DD. deathday je u žijících osob null. |
place_of_birth | string nebo null | Volný text. |
gender | integer | 0 neuvedeno, 1 žena, 2 muž, 3 nebinární. |
known_for_department | string | Hlavní profese, například Acting nebo Directing. |
imdb_id | string nebo null | ID osoby z IMDb, například nm0000158. |
homepage | string nebo null | Oficiální web. |
profile_path | string nebo null | Připojte k https:/. Viz obrázky. |
popularity | number | Relativní skóre používané seznamem populárních. |
adult | boolean | Vždy false. Osoby pro dospělé se nikdy neposkytují. |
Příklad odpovědi
GET /, s biografií zkrácenou:
{
"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"
}Endpointy filmografie
Tři endpointy vypisují, na čem osoba pracovala. Všechny přijímají language a vracejí klíče id, cast a crew. Když je přidáte přes append_to_response, klíč id se vynechá.
| Metoda a cesta | Vrací | Další parametry |
|---|---|---|
GET / | Filmy, s character a order v cast a department a job v crew | žádné |
GET / | Seriály, s character v cast a department a job v crew | žádné |
GET / | Filmy a seriály dohromady, každé s media_type nastaveným na movie nebo tv | žádné |
Položky filmů nesou title a release_date. Položky seriálů nesou name a first_air_date a položky herců v seriálech mají také klíč episode_count, který je v současných datech 0. Položky nesou také credit_id, genre_ids, poster_path, vote_average a další pole seznamů. Úryvek níže seřadí sloučené záznamy účasti podle data a vypíše pět nejnovějších.
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);Seznamy a obrázky
| Metoda a cesta | Vrací | Další parametry |
|---|---|---|
GET /person/popular | Stránkovaný seznam populárních osob s tituly known_for | language, page |
GET / | Profilové fotografie v poli profiles | žádné |
GET / | imdb_id, wikidata_id, facebook_id, instagram_id, tiktok_id, twitter_id, youtube_id | žádné |
Populární položky obsahují id, name, original_name, known_for_department, gender, profile_path, popularity a pole known_for. Stránky jdou od 1 do 500. Profilové fotografie pokrývá stránka obrázky a externí ID jsou na stránce hledání podle externího ID.
amodb nenabízí překlady osob, nejnovější záznam osoby, označené obrázky ani změny. Biografii v potřebném jazyce si místo toho vyžádejte parametrem language.
Chyby
| HTTP | status_code | Kdy |
|---|---|---|
| 401 | 7 | Klíč chybí nebo je nesprávný. |
| 402 | 36 | Platnost tarifu skončila. |
| 404 | 34 | Osoba s tímto ID neexistuje, osoba pro dospělé, nebo cesta, která se nenabízí. |
| 405 | 37 | Zavolali jste metodu pro zápis. |
| 429 | 25 | Překročen počet požadavků za minutu. Počkejte tolik sekund, kolik říká Retry-After. |
Úplný seznam je na stránce chyby a okna podle tarifu na stránce limity požadavků.
Praktické poznámky
- Detaily osob a seznamy účasti se cachují 6 hodin. Seznam populárních se cachuje 30 minut a stránky jdou od 1 do 500.
- Místo druhého volání přidejte
combined_creditspřesappend_to_response. Obě cesty vracejí stejná data. - V
movie_creditsmá každá položkacasthodnotuorder, tedy pozici osoby v titulcích daného filmu. Položky seriálůordernemají, seřaďte je proto podlefirst_air_date. - Podle
known_for_departmentrozhodněte, který seznam zobrazit první:castpro herce,crewpro režiséry a scenáristy. - Osobu podle jména najdete na stránce vyhledávání a pak použijte ID zde.