Filmography
GET/v1.3/persons/{type}/{id}/filmography
Every title a person worked on, with their roles, plus the catalog’s filters and sorting.
A title comes once, with all the person’s roles in it: in The Dark Knight, Christopher Nolan is director, writer and producer. The roles are in credits.
roles describes the whole career, not the page: how many titles each role has and the role labels. It doesn’t depend on role, filters or the page, so draw tabs from it.
Appearing as oneself (broadcasts, ceremonies, making-of films) is a role of its own, self, and archive footage is archive. role=actor doesn’t pick them up, role=self gathers them separately, and role.not=self,archive keeps only the film work: 33 of Nolan’s 131 titles.
Without sort, the filmography runs from newest to oldest, so announcements come first; order=asc reverses it. To lead with the main work, sort by votes (sort=-votes_imdb) or take a preset: preset=top goes by IMDb rating. All the catalog’s filters and sorting work here, and so does fields; in fields, the roles are called credits.
You can pick a person’s titles in the catalog too: /titles?person=kp:41477. The catalog pages with a cursor and combines a person with a title search, but its response has no roles.
Path parameters
typestringrequiredThe catalog the ID comes from: IMDb, Kinopoisk, TMDB or Kinorium.
imdbkptmdbkinoriumidstringrequiredThe person’s ID in that catalog. IMDb IDs are
nmfollowed by digits (nm0634240); the others are digits (41477).
Query parameters
rolecsvKeep the titles where the person had any of these roles.
role.notdrops the titles where they had only such roles:role.not=self,archivekeeps everything but broadcasts and archive footage.creditsstill lists every role they had: a film they directed and produced comes with both.directoractorselfarchivewriterproducercinematographercomposersoundarteditorvoice_directorvoiceauthortranslatorproducer_ussrcrewExample:role=director,writerfilters and sortThe catalog’s filters and sorting:
kind=movie,votes_imdb.gte=100000,sort=-rating_imdb. Details in Filters and sorting.Default:sort=-yearorderenumThe direction of the default order:
order=ascruns from oldest to newest. Whensortis set, its sign decides the direction.ascdescDefault:
Example:descorder=ascfieldscsvWhich item fields to return, as in the catalog, plus
credits, the person’s roles. IDs always come back.Example:fields=title,year,creditsgroupenumSplit the list into sections.
nonegives a flat list. How sections work is in Lists and pagination.rolenoneDefault:no sections
langru | enKeep one language in the response. Without it, text fields come in
_ruand_enpairs. More in Response languages.Example:lang=enlimitintegerHow 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=20offsetintegerHow many items to skip, a whole number from 0. Only in a flat list: with sections it returns
400.Default:0
Response fields
rolesarrayHow many titles across the whole career, by role:
role, the labelslabel_ruandlabel_en,count. The order follows the credits: directors, actors, self, archive footage, writers, producers and so on.itemsarrayTitles. With
group=role, sections by role, each withrole, labels,total,has_moreanditems.Show 25 fields
imdb_id · kp_id · tmdb_id · tmdb_tv_id · kinorium_idstring | nullThe title’s catalog IDs. Always returned, even with
fields.title_ru · title_en · title_originalstring | nullTitles: Russian, English and in the original language.
yearinteger | nullRelease year.
release_datestring | nullFirst release date,
YYYY-MM-DD.kindenumKind of title:
movie,series,mini_series,tv_show,anime,cartoon,short.poster_url_ru · poster_url_enstring | nullPoster for a Russian and an English storefront.
posters_by_sourceobjectEach source’s poster:
kp,tmdb,imdb,kinorium.rating_kp · rating_tmdb · rating_imdb · rating_kr · rating_letterboxdnumber | nullKinopoisk, TMDB, IMDb, Kinorium and Letterboxd ratings, 0–10 scale.
votes_kp · votes_tmdb · votes_imdbinteger | nullKinopoisk, TMDB and IMDb votes.
countriesarrayCountries:
code,name_ru,name_en.genresarrayGenres:
slug,name_ru,name_en.creditsarrayThe person’s roles on this title, in the same order as
roles.Show 9 fields
roleenumThe role. Labels are in
/enums, setcredit_roles.character_ru · character_enstring | nullThe character, for actors and dubbing, without the source’s notes, as in the cast. For
self, what the person appears as: “Guest”, «гость».job_ru · job_enstring | nullThe crew job: “Executive Producer”, «Исполнительный продюсер».
ordinteger | nullBilling order: for actors, the order in the credits; for the crew, within their department.
nullwhen the place is unknown: the role comes from the person’s filmography, not the title’s credits.sourcesarrayWhich catalogs confirmed the credit:
kp,tmdb,kinorium, always in this order.uncreditedbooleantruemeans the title’s credits don’t name the person: the source marked the part “uncredited” («в титрах не указан»).disputedbooleantruemeans only TMDB has the credit, and the title’s Kinopoisk or Kinorium cast doesn’t list the person. The title’s cast leaves such credits out; in a list of work, hide them by checkingdisputed.
totalintegerHow many titles match the request. The filmography counts exactly, with filters too.
limit · offset · has_morePaging, as in every list.
Errors
| status | code | when |
|---|---|---|
| 400 | invalid_request | An unknown role in |
| 400 | invalid_request | The catalog is not |
| 404 | not_found | No person found for this ID. |
| 401 | unauthorized | The |
| 429 | rate_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.