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

## Endpoint

`GET /3/person/{person_id}`

```bash
curl "https://api.amodb.dev/3/person/31?language=en-US" \
  -H "Authorization: Bearer $AMODB_KEY"
```

Odpověď:

```json
{
  "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 and recognizable film stars worldwide, and is widely regarded as an American cultur...",
  "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"
}
```

## Získání detailů osoby

`GET /3/person/{person_id}` 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í.

```bash
curl -sSf "https://api.amodb.dev/3/person/31?language=en-US&append_to_response=combined_credits" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```js
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);
```

```python
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
<?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;
```

```go
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

| Parametr             | Kde   | Povinný       | Popis                                                                                                                            |
| -------------------- | ----- | ------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `person_id`          | path  | ano           | Číselné ID osoby, například `31`.                                                                                                |
| `api_key`            | query | jeden ze dvou | Váš klíč. Použijte jej, nebo hlavičku `Authorization: Bearer`.                                                                   |
| `language`           | query | ne            | Tag TMDB, například `en-US` nebo `ru-RU`. Biografie se vrátí v tomto jazyce, pokud překlad existuje.                             |
| `append_to_response` | query | ne            | Seznam 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://img.amodb.dev/t/p/{size}`. Viz [obrázky](https://amodb.dev/cs/images-api/). |
| `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 /3/person/31?language=en-US`, s biografií zkrácenou:

```json
{
  "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 /person/{person_id}/movie_credits`    | Filmy, s `character` a `order` v `cast` a `department` a `job` v `crew`         | žádné           |
| `GET /person/{person_id}/tv_credits`       | Seriály, s `character` v `cast` a `department` a `job` v `crew`                 | žádné           |
| `GET /person/{person_id}/combined_credits` | 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.

```js
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 /person/{person_id}/images`       | Profilové fotografie v poli `profiles`                                                           | žádné              |
| `GET /person/{person_id}/external_ids` | `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](https://amodb.dev/cs/images-api/) a externí ID jsou na stránce [hledání podle externího ID](https://amodb.dev/cs/find-by-external-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](https://amodb.dev/cs/errors/) a okna podle tarifu na stránce [limity požadavků](https://amodb.dev/cs/rate-limits/).

## 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_credits` přes `append_to_response`. Obě cesty vracejí stejná data.
- V `movie_credits` má každá položka `cast` hodnotu `order`, tedy pozici osoby v titulcích daného filmu. Položky seriálů `order` nemají, seřaďte je proto podle `first_air_date`.
- Podle `known_for_department` rozhodněte, který seznam zobrazit první: `cast` pro herce, `crew` pro režiséry a scenáristy.
- Osobu podle jména najdete na stránce [vyhledávání](https://amodb.dev/cs/search/) a pak použijte ID zde.

## Otázky a odpovědi

### Jak získám celou filmografii herce?

Zavolejte GET /3/person/{person_id}/combined_credits pro filmy a seriály v jedné odpovědi, nebo přidejte append_to_response=combined_credits k požadavku osoby. Každá položka má media_type, takže filmy od seriálů oddělíte.

### Co znamenají hodnoty gender?

0 znamená neuvedeno, 1 žena, 2 muž a 3 nebinární. Mnoho záznamů ponechává 0, nepovažujte to proto za chybu a nestavte na tom žádnou logiku.

### Jakou velikost použít pro profilové fotografie?

Použijte w185 pro seznamy a h632 pro stránky detailu, obojí na img.amodb.dev. Cesty k profilu mohou být null, mějte proto připravený zástupný obrázek pro osoby bez fotografie.

### Dá se hledat osoby podle jména?

Ano, GET /3/search/person s parametrem query. Najdete ho na stránce vyhledávání a id, které vrací, je person_id používané každým zdejším endpointem.

## Související stránky

- [API obsazení a štábu](https://amodb.dev/cs/credits/): API obsazení a štábu se stejnými cestami a JSON jako TMDB v3. Získejte herce a štáb filmů, seriálů, sezón a epizod s poli order, department a job.
- [API pro herce](https://amodb.dev/cs/actor-api/): API pro herce na endpointech osob TMDB v3: biografie, celá filmografie přes combined credits, profilové fotografie a seznam populárních osob ve 14 jazycích.
- [API vyhledávání](https://amodb.dev/cs/search/): API vyhledávání se stejnými cestami a JSON jako TMDB v3. Najděte filmy, seriály, osoby, kolekce, společnosti a klíčová slova podle textu s filtrem roku.
- [API obrázků a hostitel obrázků](https://amodb.dev/cs/images-api/): API obrázků filmů s cestami TMDB v3: vypište plakáty, pozadí, loga a záběry každého titulu a načtěte je z img.amodb.dev v 10 velikostech bez klíče.
- [Hledání podle externího ID](https://amodb.dev/cs/find-by-external-id/): Najděte film, seriál nebo osobu podle ID z IMDb, TVDB, Wikidata nebo Kinopoisk přes endpoint find TMDB a čtěte externí ID a fakta z Wikidata o titulu.
- [Rychlý start](https://amodb.dev/cs/quickstart/): První volání amodb: získejte klíč, vyžádejte detail filmu v curl, JavaScriptu, Pythonu, PHP nebo Go a načtěte plakát z img.amodb.dev. Za méně než 2 minuty.

Aktualizováno: 2026-10-18. Source: https://amodb.dev/cs/people/
