Skip to content
Sections: Cast and crew

Title

Cast and crew

GET/v1.3/titles/{type}/{id}/cast

A title’s actors, dubbing and crew, merged from Kinopoisk, TMDB and Kinorium.

Without parameters the cast comes split into sections by role: directors, actors, writers, producers and so on, 10 people each. To get everyone in one role, narrow the list: role=actor gives a flat, pageable list.

roles describes the whole cast, not the page: how many people each role has and the role labels. Draw tabs from it; they don’t change while you page.

Dubbing is a role of its own, voice: the voice actor, the character they voiced and, in dubs, the original actor. People who appear as themselves (in talk shows, ceremonies, documentaries) have the role self, and archive footage is archive.

Path parameters

  • typestringrequired

    The catalog the ID comes from: IMDb, Kinopoisk, TMDB (movie or series) or Kinorium.

    imdbkptmdbtmdb_tvkinorium
  • idstringrequired

    The ID in that catalog. IMDb IDs are tt followed by digits (tt1375666); the others are digits (447301).

Query parameters

  • rolecsv

    Keep these roles, comma-separated. The list becomes flat and pageable: role=director,writer gives directors and writers in one list. role.not drops roles and keeps the rest: role.not=self,archive is the cast without broadcasts and archive footage. Sections stay; for a flat list, add group=none.

    directoractorselfarchivewriterproducercinematographercomposersoundarteditorvoice_directorvoiceauthortranslatorproducer_ussrcrew
    Example: role=director,writer
  • sourceenum

    Keep the credits this catalog confirmed.

    kptmdbkinorium
    Example: source=kp
  • groupenum

    Split the list into sections. none gives a flat list. How sections work is in Lists and pagination.

    rolenone
    Default:

    role

  • langru | en

    Keep one language in the response. Without it, text fields come in _ru and _en pairs. More in Response languages.

    Example: lang=en
  • limitinteger

    How many items to return, a whole number from 1. With sections, per section, up to 50. In a flat list, up to 1000. Above the cap isn’t an error: the API lowers it and shows the value in limit.

    Default:

    10 per section, 1000 in a flat list

    Example: limit=20
  • offsetinteger

    How many items to skip, a whole number from 0. Only in a flat list: with sections it returns 400.

    Default:

    0

Response fields

  • rolesarray

    How many people are in the whole cast, by role: role, the labels label_ru and label_en, count. The order follows the credits: directors, actors, self, archive footage, writers, producers and so on.

  • itemsarray

    Sections by role, each with role, labels, total, has_more and items. In a flat list, the credits themselves.

    Show 12 fields
    • personobject

      The person. Any of their IDs opens the person card and the filmography.

      Show 13 fields
      • imdb_id · kp_id · tmdb_id · kinorium_idstring | null

        The person’s catalog IDs.

      • name_ru · name_enstring | null

        Name in Russian and in English.

      • name_originalstring | null

        The name in the person’s own language when it is written in neither Latin nor Cyrillic script.

      • birth_year · death_yearinteger | null

        Years of birth and death.

      • genderenum | null

        Gender: male or female.

      • photo_urlstring | null

        The portrait, one of photos_by_source: the first there is, in the order TMDB, Kinorium, Kinopoisk. As on the person card.

      • photos_by_sourceobject

        Each source’s photo: kp, tmdb, kinorium. TMDB pictures in the cast are 185 px wide (/t/p/w185/); for a larger one, replace that part of the link with h632 or original.

      • professionsarray

        Professions as the sources list them, values from the credit_roles set.

    • roleenum

      Role in this title. Labels are in /enums, set credit_roles.

    • character_ru · character_enstring | null

      The character, for actors and dubbing. It carries no source notes: “uncredited” is uncredited, and “as himself” or “archive footage” is already said by the role self or archive. A name the source left untranslated comes in character_en.

    • character_originalstring | null

      The character’s name in the original language, when it is neither Russian nor English.

    • character_photo_urlstring | null

      A still showing this character.

    • job_ru · job_enstring | null

      The crew job. job_en is how TMDB writes it, job_ru is the Russian translation: “Director of Photography” → «Оператор-постановщик». Rare jobs have no translation, and job_ru is null.

    • dubsobject | null

      For dubbing, whom the voice actor dubbed: their IDs (imdb_id, kp_id, tmdb_id, kinorium_id) and name (name_ru, name_en).

    • ordinteger | null

      Billing order: for actors, the order in the credits; for the crew, within their department. null when the place is unknown: the role comes from the person’s filmography, not the title’s credits.

    • uncreditedboolean

      true means the title’s credits don’t name the person: the source marked the part “uncredited” («в титрах не указан»).

    • sourcesarray

      Which catalogs confirmed the credit: kp, tmdb, kinorium. Two or more mean the person was matched, not guessed. The order is always kp, tmdb, kinorium. A credit only TMDB has is left out when the title’s Kinopoisk or Kinorium cast exists and doesn’t list the person.

  • total · limit · offset · has_more

    Paging, as in every list.

Errors

statuscodewhen
400invalid_request

An unknown role in role or role.not, an unknown source or group; a repeated parameter; offset together with sections; a parameter this list doesn’t understand (such as sort or fields); the response lists the allowed ones.

404not_found

No title found for this ID.

401unauthorized

The X-API-Key header is missing, or the key is unknown or revoked.

429rate_limited

The per-second rate limit or the daily quota is used up.

Every code and what to do about it is on the Errors page.

Esc

Loading the index…

    ↑ ↓ to selectEnter to openEsc to close