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

## Point de terminaison

`GET /3/person/{person_id}`

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

Réponse:

```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"
}
```

## Obtenir les détails d'une personne

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

```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)
}
```

### Paramètres

| Paramètre            | Dans    | Requis        | Description                                                                                                                                   |
| -------------------- | ------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `person_id`          | chemin  | oui           | Identifiant numérique de la personne, par exemple `31`.                                                                                       |
| `api_key`            | requête | l'un des deux | Votre clé. Utilisez-la ou l'en-tête `Authorization: Bearer`.                                                                                  |
| `language`           | requête | non           | Balise TMDB comme `en-US` ou `ru-RU`. La biographie est renvoyée dans cette langue quand une traduction existe.                               |
| `append_to_response` | requête | non           | Liste 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://img.amodb.dev/t/p/{size}`. Voir [images](https://amodb.dev/fr/images-api/). |
| `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 /3/person/31?language=en-US`, avec la biographie raccourcie :

```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"
}
```

## 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 /person/{person_id}/movie_credits`    | Films, avec `character` et `order` dans `cast` et `department` et `job` dans `crew` | aucun                      |
| `GET /person/{person_id}/tv_credits`       | Séries, avec `character` dans `cast` et `department` et `job` dans `crew`           | aucun                      |
| `GET /person/{person_id}/combined_credits` | 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.

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

## 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 /person/{person_id}/images`       | Photos de profil dans un tableau `profiles`                                                      | aucun                      |
| `GET /person/{person_id}/external_ids` | `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](https://amodb.dev/fr/images-api/), et les identifiants externes sur [recherche par identifiant externe](https://amodb.dev/fr/find-by-external-id/).

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](https://amodb.dev/fr/errors/), et les fenêtres par offre sont sur [limites de débit](https://amodb.dev/fr/rate-limits/).

## 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_credits` via `append_to_response` au lieu de faire un second appel. Les deux façons renvoient les mêmes données.
- Dans `movie_credits`, chaque entrée de `cast` a une valeur `order`, 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 par `first_air_date`.
- Utilisez `known_for_department` pour décider quelle liste montrer en premier : `cast` pour les acteurs, `crew` pour les réalisateurs et les scénaristes.
- Cherchez une personne par son nom sur [recherche](https://amodb.dev/fr/search/), puis utilisez l'identifiant ici.

## Questions et réponses

### Comment obtenir la filmographie complète d'un acteur ?

Appelez GET /3/person/{person_id}/combined_credits pour les films et les séries en une réponse, ou ajoutez append_to_response=combined_credits à la requête de la personne. Chaque entrée a media_type pour séparer les films des séries.

### Que signifient les valeurs de gender ?

0 signifie non précisé, 1 féminin, 2 masculin et 3 non binaire. De nombreuses fiches gardent 0 : ne le traitez donc pas comme une erreur et ne bâtissez pas de logique qui en dépend.

### Quelle taille utiliser pour les photos de profil ?

Utilisez w185 pour les listes et h632 pour les pages de détails, toutes deux sur img.amodb.dev. Les chemins de profil peuvent être null : gardez une image de remplacement prête pour les personnes sans photo.

### Peut-on chercher des personnes par nom ?

Oui, GET /3/search/person avec un paramètre query. Il se trouve sur la page de recherche, et l'identifiant qu'il renvoie est le person_id utilisé par tous les points de terminaison ici.

## Pages liées

- [API des crédits](https://amodb.dev/fr/credits/): API crédits aux chemins et au JSON de TMDB v3. Distribution et équipe des films, séries, saisons et épisodes, avec les champs order, department et job.
- [API acteurs](https://amodb.dev/fr/actor-api/): API acteurs sur les points de terminaison people de TMDB v3 : biographie, filmographie complète, photos de profil et liste populaire en 14 langues.
- [API de recherche](https://amodb.dev/fr/search/): API de recherche aux chemins et au JSON de TMDB v3 : films, séries, personnes, collections, sociétés et mots-clés par texte, filtres d'année et pagination.
- [API d'images et hôte d'images](https://amodb.dev/fr/images-api/): API d'images de films aux chemins TMDB v3 : listez affiches, fonds, logos et images par titre, puis chargez-les depuis img.amodb.dev en 10 tailles sans clé.
- [Recherche par identifiant externe](https://amodb.dev/fr/find-by-external-id/): Retrouvez un film, une série ou une personne par id IMDb, TVDB, Wikidata ou Kinopoisk avec find de TMDB, puis lisez ids externes et faits Wikidata.
- [Démarrage rapide](https://amodb.dev/fr/quickstart/): Faites votre premier appel amodb : obtenez une clé, demandez un film en curl, JavaScript, Python, PHP ou Go, puis chargez l'affiche. En moins de 2 minutes.

Mis à jour: 2026-10-18. Source: https://amodb.dev/fr/people/
