Поиск актера и его фильмографии

GET /3/person/{person_id} возвращает биографию, данные о рождении и путь к изображению профиля для одного человека. Добавьте append_to_response=combined_credits, и в том же ответе будут все роли в фильмах и сериалах. Идентификаторы: числовые id людей, которые использует TMDB, например 31 для Tom Hanks.

Вы получаете запись человека, фильмографию с актерскими и съемочными ролями, фото профиля и списки для обзора. Актеры, режиссеры и сценаристы лежат в одних и тех же эндпоинтах и различаются значением known_for_department.

Какие данные вы получаете

ЭндпоинтЧто возвращает
GET /3/person/{person_id}name, biography, birthday, deathday, place_of_birth, known_for_department, profile_path, imdb_id
GET /3/person/{person_id}/movie_creditsРоли в фильмах в cast и должности в crew
GET /3/person/{person_id}/tv_creditsТо же для сериалов
GET /3/person/{person_id}/combined_creditsФильмы и сериалы в одном списке с пометкой media_type
GET /3/person/{person_id}/imagesМассив фото profiles
GET /3/person/popularПостраничный список популярных людей
GET /3/search/personЛюди, подходящие под query

Начало работы в 3 шага

  1. Выберите тариф на странице цены. Все тарифы возвращают одни и те же данные и различаются только числом запросов в минуту.
  2. Создайте ключ в личном кабинете.
  3. Отправьте GET /3/person/31 с заголовком Authorization: Bearer YOUR_API_KEY или передайте api_key в строке запроса.

Пример запроса

Этот запрос получает Tom Hanks вместе с combined credits. Пример на Python оставляет роли в фильмах, у которых есть дата выхода, сортирует их от новых к старым и выводит пять, а также URL фото.

bashpy
curl -s "https://api.amodb.dev/3/person/31?language=en-US&append_to_response=combined_credits" \
  -H "Authorization: Bearer $AMODB_KEY"
import os
import requests

BASE = "https://api.amodb.dev/3"
HEADERS = {"Authorization": f"Bearer {os.environ['AMODB_KEY']}"}

r = requests.get(
    f"{BASE}/person/31",
    params={"language": "en-US", "append_to_response": "combined_credits"},
    headers=HEADERS,
    timeout=10,
)
r.raise_for_status()
person = r.json()

movies = [
    c for c in person["combined_credits"]["cast"]
    if c["media_type"] == "movie" and c.get("release_date")
]
movies.sort(key=lambda c: c["release_date"], reverse=True)

print(person["name"], person["birthday"], person["known_for_department"])
if person.get("profile_path"):
    print("Photo:", "https://img.amodb.dev/t/p/w342" + person["profile_path"])
for c in movies[:5]:
    print(c["release_date"][:4], c["title"], "as", c.get("character") or "n/a")

Сокращенный ответ для language=en-US. combined_credits урезан до 2 строк актерского состава и 1 строки съемочной группы, биография сокращена.

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...",
  "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",
  "combined_credits": {
    "cast": [
      {
        "adult": false,
        "backdrop_path": "/owUcU7WcM42uPXIVJHglDQceY5R.jpg",
        "genre_ids": [
          12,
          16,
          35
        ],
        "id": 1084244,
        "original_language": "en",
        "original_title": "Toy Story 5",
        "overview": "",
        "popularity": 158.5027,
        "poster_path": "/sfQtVlIHljToOwYjhe21KPGzZWK.jpg",
        "release_date": "2026-06-17",
        "title": "Toy Story 5",
        "video": false,
        "vote_average": 8.285,
        "vote_count": 2649,
        "media_type": "movie",
        "credit_id": "65edd5772790bf01634423c9",
        "character": "Woody (voice)",
        "order": 0
      },
      {
        "adult": false,
        "backdrop_path": "/1dvOCqKgBcXvfqzVPmAAM5Rv4PP.jpg",
        "genre_ids": [
          16,
          35,
          10751
        ],
        "id": 863,
        "original_language": "en",
        "original_title": "Toy Story 2",
        "overview": "",
        "popularity": 49.6885,
        "poster_path": "/4rbcp3ng8n1MKHjpeqW0L7Fnpzz.jpg",
        "release_date": "1999-10-30",
        "title": "Toy Story 2",
        "video": false,
        "vote_average": 7.6,
        "vote_count": 15484,
        "media_type": "movie",
        "credit_id": "5ac0152ec3a368443f034084",
        "character": "Woody (voice)",
        "order": 0
      }
    ],
    "crew": [
      {
        "adult": false,
        "backdrop_path": "/23GjGDQdMHW5C2UYwSV00fE3FNi.jpg",
        "first_air_date": "2001-09-09",
        "genre_ids": [
          18,
          10768
        ],
        "id": 4613,
        "name": "Band of Brothers",
        "origin_country": [],
        "original_language": "en",
        "original_name": "Band of Brothers",
        "overview": "",
        "popularity": 63.5427,
        "poster_path": "/pGzV187ogXzgJrvPRy2YPi29ofH.jpg",
        "vote_average": 8.608,
        "vote_count": 4424,
        "media_type": "tv",
        "credit_id": "5257765d760ee36aaa522862",
        "department": "Production",
        "job": "Executive Producer"
      }
    ]
  }
}

Сборка фильмографии

Один человек может быть и в cast, и в crew одной и той же работы, например актер, который еще и режиссер. Считайте эти два массива отдельными списками и объединяйте их в своем представлении. Строки фильмов и сериалов используют разные названия полей, поэтому читайте нужное.

ПолеСтрокиЗначение
media_typecombined creditsmovie или tv
title или nameстроки фильмов или сериаловОтображаемое название
release_date или first_air_dateстроки фильмов или сериаловКлюч сортировки, может быть пустым
characterактерский составНазвание роли
job, departmentсъемочная группаНапример, Director в Directing
credit_idобеId строки роли

Сортируйте по дате, строки без даты ставьте в конец и убирайте дубликаты по паре id и media_type. Строки актерского состава сериалов содержат episode_count, но amodb возвращает там 0, поэтому не используйте его для подсчета серий. amodb не предоставляет GET /3/credit/{credit_id} и aggregate_credits. Подробности о полях актеров и съемочной группы описаны на странице актеры и съемочная группа.

Фото профиля

profile_path присоединяется к хосту изображений: https://img.amodb.dev/t/p/{size}{profile_path}. Используйте w185 для миниатюр в списках, h632 для страницы профиля и original для загрузки. Изображениям не нужен ключ, они кэшируются на 30 дней.

Чтобы получить несколько фото, вызовите GET /3/person/{person_id}/images. Массив profiles содержит file_path, width, height, aspect_ratio и vote_average, так что можно выбрать портрет с лучшей оценкой. Таблицы размеров и srcset описаны на странице API изображений.

Популярные люди, поиск и поиск по id

  • GET /3/person/popular?page=1 возвращает постраничный список. Страницы идут от 1 до 500, список кэшируется на 30 минут.
  • GET /3/search/person?query=tom+hanks ищет по имени. Кэшируется на 10 минут.
  • GET /3/find/{external_id}?external_source=imdb_id сопоставляет IMDb name id с человеком. Читайте person_results в ответе. См. поиск по внешнему ID.

Сравнение

ВозможностьПарсинг страниц самостоятельноAPI метаданных с бесплатным тарифомamodb
ФильмографияОбход одной страницы на каждую рольСмотрите их документациюcombined_credits одним вызовом
Разделение актеров и съемочной группыРазбор заголовков разделовСмотрите их документациюМассивы cast и crew
ФотоСкачивание и изменение размера самостоятельноСмотрите их документациюФиксированные размеры на img.amodb.dev, без ключа
Поиск по имениРабота с формой поиска сайтаСмотрите их документациюGET /3/search/person
Сопоставление idСопоставление по имениСмотрите их документацию/3/find с imdb_id
ЯзыкиОдна локаль на сайтСмотрите их документацию14 языков через language

Цены

Предоплата на 1, 3, 6, 12 или 24 месяца. Более длинные периоды дают скидку 0, 10, 20, 30 или 40 процентов, а тарифы никогда не продлеваются сами. Три тарифа допускают 20, 40 и 120 запросов в минуту, и каждый возвращает все эндпоинты people. Сетка актеров для фильма стоит один запрос credits, потому что имена и пути профиля приходят вместе с ним, а страница человека стоит один запрос с добавленными credits. Выберите лимит под ваше число просмотров страниц. Бесплатного тарифа нет. Начните на странице цены.