# API des crédits

> Les points de terminaison de crédits renvoient la distribution et l'équipe d'un film sur GET /3/movie/{movie_id}/credits, et celles des séries, saisons et épisodes sous /3/tv. Le JSON suit TMDB v3, avec credit_id, order, department et job. Les crédits d'épisodes ajoutent un tableau guest_stars à côté de crew, et leur tableau cast est vide.

## Point de terminaison

`GET /3/movie/{movie_id}/credits`

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

Réponse:

```json
{
  "id": 27205,
  "cast": [
    {
      "adult": false,
      "gender": 2,
      "id": 6193,
      "known_for_department": "Acting",
      "name": "Leonardo DiCaprio",
      "original_name": "Leonardo DiCaprio",
      "popularity": 9.3213,
      "profile_path": "/wo2hJpn04vbtmh0B9utCFdsQhxM.jpg",
      "character": "Dom Cobb",
      "credit_id": "52fe4534c3a368484e04de03",
      "order": 0
    },
    {
      "adult": false,
      "gender": 2,
      "id": 24045,
      "known_for_department": "Acting",
      "name": "Joseph Gordon-Levitt",
      "original_name": "Joseph Gordon-Levitt",
      "popularity": 5.6202,
      "profile_path": "/z2FA8js799xqtfiFjBTicFYdfk.jpg",
      "character": "Arthur",
      "credit_id": "52fe4534c3a368484e04de0b",
      "order": 1
    },
    {
      "adult": false,
      "gender": 2,
      "id": 3899,
      "known_for_department": "Acting",
      "name": "Ken Watanabe",
      "original_name": "Ken Watanabe",
      "popularity": 3.1459,
      "profile_path": "/psAXOYp9SBOXvg6AXzARDedNQ9P.jpg",
      "character": "Saito",
      "credit_id": "52fe4534c3a368484e04de07",
      "order": 2
    }
  ],
  "crew": [
    {
      "adult": false,
      "gender": 2,
      "id": 1025090,
      "known_for_department": "Crew",
      "name": "Jim Wilkey",
      "original_name": "Jim Wilkey",
      "popularity": 0.9114,
      "profile_path": "/peEdS7ZYHwEeMJAwInJj732AeYs.jpg",
      "credit_id": "6634553bad59b501286dab5f",
      "department": "Crew",
      "job": "Stunt Driver"
    },
    {
      "adult": false,
      "gender": 2,
      "id": 1741194,
      "known_for_department": "Sound",
      "name": "James Thatcher",
      "original_name": "James Thatcher",
      "popularity": 0.6215,
      "profile_path": null,
      "credit_id": "5bcdece8925141613e0216d3",
      "department": "Sound",
      "job": "Musician"
    },
    {
      "adult": false,
      "gender": 2,
      "id": 1899036,
      "known_for_department": "Crew",
      "name": "Kyle Photo Bucher",
      "original_name": "Kyle Photo Bucher",
      "popularity": 0,
      "profile_path": null,
      "credit_id": "5bcdfa639251416134024237",
      "department": "Crew",
      "job": "Set Production Assistant"
    }
  ]
}
```

## Obtenir les crédits d'un film

`GET /3/movie/{movie_id}/credits` renvoie deux tableaux pour un film : `cast` pour les personnes qui apparaissent à l'écran et `crew` pour celles qui ont travaillé derrière la caméra. Chaque entrée contient l'identifiant de la personne : vous pouvez donc ouvrir sa fiche complète sur la page [personnes](https://amodb.dev/fr/people/). Les mêmes données sont disponibles dans la réponse du film avec `append_to_response=credits`.

L'exemple lit Inception, affiche le réalisateur et liste les cinq premiers acteurs au générique.

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

```js
const url = 'https://api.amodb.dev/3/movie/27205/credits?language=en-US';
const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` } });
if (!res.ok) throw new Error(`amodb returned ${res.status}`);
const credits = await res.json();
const director = credits.crew.find((c) => c.job === 'Director');
console.log('Director:', director?.name);
for (const c of [...credits.cast].sort((a, b) => a.order - b.order).slice(0, 5)) {
  console.log(c.order, c.name, 'as', c.character);
}
```

```python
import os
import requests

r = requests.get(
    "https://api.amodb.dev/3/movie/27205/credits",
    params={"language": "en-US"},
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
r.raise_for_status()
credits = r.json()
director = next((c for c in credits["crew"] if c["job"] == "Director"), None)
print("Director:", director and director["name"])
for c in sorted(credits["cast"], key=lambda c: c["order"])[:5]:
    print(c["order"], c["name"], "as", c["character"])
```

```php
<?php
$url = 'https://api.amodb.dev/3/movie/27205/credits?language=en-US';
$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");
}
$credits = json_decode($body, true);
usort($credits['cast'], fn ($a, $b) => $a['order'] <=> $b['order']);
foreach (array_slice($credits['cast'], 0, 5) as $c) {
    echo $c['order'], ' ', $c['name'], ' as ', $c['character'], PHP_EOL;
}
```

```go
package main

import (
	"encoding/json"
	"fmt"
	"net/http"
	"os"
	"time"
)

type Credits struct {
	Cast []struct {
		Order     int    `json:"order"`
		Name      string `json:"name"`
		Character string `json:"character"`
	} `json:"cast"`
	Crew []struct {
		Name string `json:"name"`
		Job  string `json:"job"`
	} `json:"crew"`
}

func main() {
	req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/movie/27205/credits?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 c Credits
	if err := json.NewDecoder(res.Body).Decode(&c); err != nil {
		panic(err)
	}
	for _, m := range c.Crew {
		if m.Job == "Director" {
			fmt.Println("Director:", m.Name)
		}
	}
	for i, a := range c.Cast {
		if i == 5 {
			break
		}
		fmt.Println(a.Order, a.Name, "as", a.Character)
	}
}
```

### Paramètres

| Paramètre  | Dans    | Requis        | Description                                                                                         |
| ---------- | ------- | ------------- | --------------------------------------------------------------------------------------------------- |
| `movie_id` | chemin  | oui           | Identifiant numérique du film, par exemple `27205`.                                                 |
| `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 `fr-FR`. Les balises hors des 14 langues de base se replient sur `en`. |

### Champs de la réponse

| Champ                           | S'applique à            | Remarques                                                                                                                                            |
| ------------------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                            | niveau supérieur        | Identifiant du film, de la série, de la saison ou de l'épisode auquel appartiennent les crédits.                                                     |
| `cast`, `crew`                  | niveau supérieur        | Tableaux d'entrées. Les crédits d'épisode ajoutent `guest_stars`.                                                                                    |
| `id`                            | chaque entrée           | Identifiant de la personne. Ouvrez-la avec [personnes](https://amodb.dev/fr/people/).                                                                |
| `name`, `original_name`         | chaque entrée           | Le nom de la personne.                                                                                                                               |
| `known_for_department`          | chaque entrée           | Le métier principal de la personne en général, pas son métier sur ce titre.                                                                          |
| `gender`, `popularity`, `adult` | chaque entrée           | Même signification que sur la fiche de la personne.                                                                                                  |
| `profile_path`                  | chaque entrée           | Chemin d'image ou null. À ajouter à `https://img.amodb.dev/t/p/{size}`.                                                                              |
| `credit_id`                     | chaque entrée           | Chaîne qui identifie ce crédit précis.                                                                                                               |
| `character`                     | cast, vedettes invitées | Nom du rôle, vide pour certaines entrées.                                                                                                            |
| `order`                         | cast, vedettes invitées | Position au générique, `0` est la première.                                                                                                          |
| `department`                    | crew                    | Groupe comme `Directing`, `Writing`, `Production`, `Camera`, `Editing`, `Sound`, `Art`, `Visual Effects`, `Lighting`, `Costume & Make-Up` ou `Crew`. |
| `job`                           | crew                    | Métier précis, par exemple `Director`, `Screenplay` ou `Editor`.                                                                                     |

### Exemple de réponse

`GET /3/movie/27205/credits?language=en-US`. La réponse compte aujourd'hui 52 entrées de distribution et 735 d'équipe, et les deux tableaux sont donc réduits à deux ici :

```json
{
  "id": 27205,
  "cast": [
    {
      "adult": false,
      "gender": 2,
      "id": 6193,
      "known_for_department": "Acting",
      "name": "Leonardo DiCaprio",
      "original_name": "Leonardo DiCaprio",
      "popularity": 9.3213,
      "profile_path": "/wo2hJpn04vbtmh0B9utCFdsQhxM.jpg",
      "character": "Dom Cobb",
      "credit_id": "52fe4534c3a368484e04de03",
      "order": 0
    },
    {
      "adult": false,
      "gender": 2,
      "id": 24045,
      "known_for_department": "Acting",
      "name": "Joseph Gordon-Levitt",
      "original_name": "Joseph Gordon-Levitt",
      "popularity": 5.6202,
      "profile_path": "/z2FA8js799xqtfiFjBTicFYdfk.jpg",
      "character": "Arthur",
      "credit_id": "52fe4534c3a368484e04de0b",
      "order": 1
    }
  ],
  "crew": [
    {
      "adult": false,
      "gender": 2,
      "id": 1025090,
      "known_for_department": "Crew",
      "name": "Jim Wilkey",
      "original_name": "Jim Wilkey",
      "popularity": 0.9114,
      "profile_path": "/peEdS7ZYHwEeMJAwInJj732AeYs.jpg",
      "credit_id": "6634553bad59b501286dab5f",
      "department": "Crew",
      "job": "Stunt Driver"
    },
    {
      "adult": false,
      "gender": 2,
      "id": 1741194,
      "known_for_department": "Sound",
      "name": "James Thatcher",
      "original_name": "James Thatcher",
      "popularity": 0.6215,
      "profile_path": null,
      "credit_id": "5bcdece8925141613e0216d3",
      "department": "Sound",
      "job": "Musician"
    }
  ]
}
```

## Crédits des séries, des saisons et des épisodes

Tous les chemins ci-dessous partagent la base `https://api.amodb.dev/3` et acceptent `language`.

| Méthode et chemin                                                             | Renvoie                                                                  |
| ----------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| `GET /tv/{series_id}/credits`                                                 | Distribution et équipe de la série, une entrée par personne et par rôle. |
| `GET /tv/{series_id}/season/{season_number}/credits`                          | Distribution et équipe d'une saison.                                     |
| `GET /tv/{series_id}/season/{season_number}/episode/{episode_number}/credits` | `crew` et `guest_stars` d'un épisode. `cast` est un tableau vide.        |

Les mêmes données sont disponibles avec `append_to_response=credits` sur les chemins de série, de saison et d'épisode. La forme des entrées correspond aux crédits de film ci-dessus. Les vedettes invitées d'un épisode portent `character` et `order`, et les entrées d'équipe portent `department` et `job`.

`GET /3/tv/1399/season/1/episode/1/credits?language=en-US`, avec les tableaux réduits à deux entrées :

```json
{
  "id": 63056,
  "cast": [],
  "crew": [
    {
      "department": "Writing",
      "job": "Writer",
      "credit_id": "5256c8a019c2956ff6046e2b",
      "adult": false,
      "gender": 2,
      "id": 9813,
      "known_for_department": "Writing",
      "name": "David Benioff",
      "original_name": "David Benioff",
      "popularity": 2.0354,
      "profile_path": "/xvNN5huL0X8yJ7h3IZfGG4O2zBD.jpg"
    },
    {
      "department": "Editing",
      "job": "Editor",
      "credit_id": "54eef2ab925141795f005d4f",
      "adult": false,
      "gender": 2,
      "id": 18077,
      "known_for_department": "Editing",
      "name": "Oral Norrie Ottey",
      "original_name": "Oral Norrie Ottey",
      "popularity": 0,
      "profile_path": null
    }
  ],
  "guest_stars": [
    {
      "character": "Benjen Stark",
      "credit_id": "5256c8b919c2956ff604836a",
      "order": 61,
      "adult": false,
      "gender": 2,
      "id": 119783,
      "known_for_department": "Acting",
      "name": "Joseph Mawle",
      "original_name": "Joseph Mawle",
      "popularity": 1.4645,
      "profile_path": "/1Ocb9v3h54beGVoJMm4w50UQhLf.jpg"
    },
    {
      "character": "Rickon Stark",
      "credit_id": "566a83bcc3a3683f56003604",
      "order": 80,
      "adult": false,
      "gender": 2,
      "id": 1050248,
      "known_for_department": "Acting",
      "name": "Art Parkinson",
      "original_name": "Art Parkinson",
      "popularity": 1.2594,
      "profile_path": "/ejAKOJME1DsvHECLWdQ7dEtXyyc.jpg"
    }
  ]
}
```

amodb ne propose ni crédits agrégés pour les séries ni recherche par `credit_id`. Pour la distribution d'une série, lisez `/tv/{series_id}/credits` et triez `cast` par `order`.

## Lire la distribution et l'équipe dans une application

| Tâche                                | Comment                                                                                                                   |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| Afficher le réalisateur              | Choisir les entrées de `crew` dont `job` vaut `Director`. Un film peut en avoir plusieurs.                                |
| Afficher les rôles principaux        | Trier `cast` par `order` et prendre les 10 premiers.                                                                      |
| Regrouper l'équipe                   | Regrouper par `department`. Une personne avec deux métiers apparaît deux fois : fusionnez donc sur l'`id` de la personne. |
| Afficher la distribution d'une série | Lire les crédits de la série et trier `cast` par `order`.                                                                 |
| Lister tous les services et métiers  | Lire la liste de référence décrite sur [genres et listes de référence](https://amodb.dev/fr/genres/).                     |

## 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          | Le film, la série, la saison ou l'épisode n'existe pas, ou le chemin n'est pas 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`.           |

Les détails sont sur [erreurs](https://amodb.dev/fr/errors/) et [limites de débit](https://amodb.dev/fr/rate-limits/).

## Remarques pratiques

- Les crédits sont mis en cache 6 heures, comme les détails. Un nouveau membre de la distribution peut mettre ce temps à apparaître.
- Une grosse production peut lister des centaines d'entrées d'équipe. Découpez les tableaux avant de les afficher.
- `profile_path` est null pour les personnes sans photo. Utilisez `w185` pour les lignes de liste et `h632` pour les vues de détails.
- Les fiches de films et de séries sont sur [films](https://amodb.dev/fr/movies/) et [séries TV](https://amodb.dev/fr/tv-series/). Les fiches de saisons et d'épisodes sont sur [saisons et épisodes](https://amodb.dev/fr/tv-seasons-episodes/).

## Questions et réponses

### Comment obtenir la distribution d'une série ?

Appelez GET /3/tv/{series_id}/credits et triez le tableau cast par order. Les crédits de saison couvrent une saison, et les crédits d'épisode ajoutent guest_stars. amodb ne propose pas les crédits agrégés des séries.

### Comment trouver le réalisateur d'un film ?

Lisez le tableau crew et choisissez l'entrée dont job vaut Director. Un film peut avoir plusieurs réalisateurs : collectez donc toutes les correspondances au lieu de vous arrêter à la première.

### Que signifie le champ order ?

Order est la position au générique d'un membre de la distribution, 0 pour le premier. Triez cast par order pour montrer les rôles principaux d'abord. Les entrées de crew n'ont pas d'order.

### D'où viennent les vedettes invitées ?

Seul le point de terminaison des crédits d'épisode renvoie un tableau guest_stars, à côté de crew. Son tableau cast est vide. Les crédits de saison et de série ne listent pas les vedettes invitées séparément.

## Pages liées

- [API de détails de personne](https://amodb.dev/fr/people/): API de détails de personne aux chemins et au JSON de TMDB v3 : biographie, filmographie, ids externes et liste populaire d'un acteur ou d'un membre de l'équipe.
- [API de détails de film](https://amodb.dev/fr/movies/): API de détails de film aux chemins et au JSON de TMDB v3. Obtenez un film par id, ajoutez crédits, notes et ambiances avec append_to_response, en 14 langues.
- [API des séries TV](https://amodb.dev/fr/tv-series/): API de séries TV aux chemins et au JSON de TMDB v3 : une série par id avec saisons, chaînes et prochain épisode, plus classifications et plateformes.
- [API des saisons et épisodes de séries TV](https://amodb.dev/fr/tv-seasons-episodes/): API de saisons et d'épisodes aux chemins et au JSON de TMDB v3. Lisez une saison avec tous ses épisodes, ou un épisode avec date de diffusion, durée et image.
- [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.
- [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/credits/
