Letterboxd hub

Letterboxd Review API

One review with the full text, rating, watched date, tags and rewatch number; a viewing without review text is found with text null.

GET /v1/letterboxd/users/{username}/films/{slug}/review

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

About this endpoint

GET /v1/letterboxd/users/{username}/films/{slug}/review returns data.review for one member and one film. The review has id, entry, rewatch, author, film, rating, watchedDate, text, containsSpoilers, tags, likes and url. author carries username, displayName and badge, and film uses the shared film reference shape.

Call it without entry for the viewing without a number, for example /users/dave/films/avatar-fire-and-ash/review. When the review URL ends with a number, pass it as the entry query parameter. An entry request is best effort: when it is refused, the route returns HTTP 503 and does not charge. entry is null when the review URL carries no number and the number when it does; rewatch says whether the viewing is a rewatch, so read it rather than inferring it from entry. A viewing with no review text is found with text: null; its rating and watched date are still returned. The full text is returned here even when the member's reviews list carries a truncated version. Comment threads under a review are not part of this API.

Letterboxd Review API FAQ

How do I request a rewatch review?

Pass entry with the number from the review URL. A URL ending in /1/ is entry=1, and so on. Omit entry for the viewing without a number; rewatch tells you whether it is a rewatch. An entry request is best effort: a refusal is an HTTP 503 and is not billed. The response reports the number in review.entry, which is null when the URL carries no number.

Is this the route for the full text?

Yes. review.text is the full text on this route, including when the member's reviews list returned textTruncated: true. The list still gives you the card, rating, likes and tags for scanning many reviews cheaply.

Does a review include its comments?

No. This route returns the review and its author, film, rating, watched date, text, tags, likes and url. Comment threads under the review are not exposed.

How many credits does a review 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.review is the review. not_found means the member, film or entry does not exist, and data.review is null.