Letterboxd hub

Letterboxd Film API

One film as typed JSON: cast, crew, releases, rating summary and the films it is compared with.

GET /v1/letterboxd/films/{slug}

1 credit Failed requests are free A not-found answer is still charged

About this endpoint

GET /v1/letterboxd/films/{slug} takes the slug from the film URL, for example parasite-2019. On data.lookupStatus: found, data.film carries id, slug, title, year, kind, originalTitle, tagline, description, runtimeMinutes, tmdb, imdbId, directors, cast, crew, studios, countries, primaryLanguage, spokenLanguages, alternativeTitles, genres, themes, releases, poster, backdrop, trailer, rating, similar, popularReviews and collection. data.url is the canonical film URL.

cast entries add character to the person name and slug. crew is grouped by department, with the people under each. releases are normalized to ISO date values and carry country, type, certification and note. rating has average, count, reviewCount, best and worst, and is null for a title with no rating yet. themes distinguish theme from mini_theme. popularReviews are review cards whose text may be truncated and whose textTruncated flag says so; use a review route when you need the full text. spokenLanguages mirrors primaryLanguage when only one language is listed. Posters and backdrops are linked URLs and are never rehosted.

Letterboxd Film API FAQ

Which inputs does the film route take?

Only the path slug, for example parasite-2019 or the-godfather. Input is accepted in either case and lowercased. Malformed slugs are refused by the schema before any request is made.

What is in data.film?

Identity and copy fields (id, slug, title, year, originalTitle, tagline, description, runtimeMinutes), external ids (tmdb, imdbId), credits (directors, cast, crew by department), production facts (studios, countries, languages, genres, themes, releases), media links (poster, backdrop, trailer), rating, similar films, popularReviews and collection.

Why is rating null?

rating is null when the film has no public rating yet, which is normal for an unreleased or barely seen title. The rest of the film object is still returned. When present, rating.average is the 0.5 to 5 scale and rating.count is the number of ratings.

How many credits does a film lookup cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.

What does lookupStatus mean here?

found means data.film is the film. not_found means no film matches the slug, and data.film is null. HTTP 200 only means the request finished.