Details
Get the top level details of a movie by ID.
Get the top level details of a movie by ID. Supports appending sub-resources in a single request via append_to_response.
async details<T extends readonly MovieAppendToResponseNamespace[] = []>(
params: MovieDetailsParams & { append_to_response?: T }
): Promise<T extends [] ? MovieDetails : MovieDetailsWithAppends<T>>TMDB Reference: Movie Details
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
movie_id | number | ✅ | TMDB movie identifier. |
append_to_response | MovieAppendToResponseNamespace[] | ❌ | Sub-resources to append to the response. |
language | Language | ❌ | Language for localized results. Defaults to en-US. |
include_image_language | (Language | "null")[] | ❌ | Extra languages for an appended images block. Serialized comma-separated. |
When you append images and pass a language, TMDB treats the language as a filter on the appended block and
returns only images tagged with it. Logos are always language-tagged and most backdrops are untagged, so both come back
empty. Pass include_image_language to get them:
const movie = await tmdb.movies.details({
movie_id: 550,
language: "it-IT",
append_to_response: ["images"],
include_image_language: ["null", "en"], // untagged + English
});
// 68 posters, 87 backdrops, 23 logos
// without include_image_language: 3 posters, 0 backdrops, 0 logosUse "null" for untagged images (textless posters, most backdrops), and pair it with at least one real language code —
["null"] alone still returns zero logos.
Returns
MovieDetails when no appends are provided,
or MovieDetailsWithAppends<T> when append_to_response is specified.
Example
// Basic details
const movie = await tmdb.movies.details({ movie_id: 550 });
console.log(movie.title); // "Fight Club"
// With appended data
const movie = await tmdb.movies.details({
movie_id: 550,
append_to_response: ["credits", "videos", "images"],
});
console.log(movie.credits.cast);
console.log(movie.videos.results);