> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/letterboxd/films-slug>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/letterboxd/films-slug.mdx>

---

# 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}` 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.

## Request

- **Endpoint:** `GET /v1/letterboxd/films/{slug}`
- **Credits:** 1 credit
Failed requests are free
A not-found answer is still charged
- **Input:** by slug
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/letterboxd/films/slug/get)
- **Platform page:** [/platforms/letterboxd](https://www.socialfetch.dev/platforms/letterboxd)

## 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.
