Letterboxd API
Letterboxd API
/letterboxd/v1/film1 creditFull Letterboxd film detail by film slug or URL: title, year, directors, cast, genres, runtime, poster, IMDb/TMDb IDs, average rating, total ratings, watch count, like count, and list appearances.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| film | optional | — | Letterboxd film slug, OR a full film URL (https://letterboxd.com/film/parasite-2019/) — the path is parsed to the slug. |
/letterboxd/v1/user1 creditPublic Letterboxd member profile and stats by username: display name, avatar, bio, film/list/follower counts, and the member's favourite films.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| user | required | — | Letterboxd username (the handle in a profile URL), OR a profile URL. |
/letterboxd/v1/user_films1 creditPaginated list of films a Letterboxd member has watched and rated, with their personal star rating for each.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| user | required | — | Letterboxd username (the handle in a profile URL), OR a profile URL. |
| page = 1 | optional | 1– | 1-based page number. Use meta.has_more to know when to stop; values < 1 clamp to 1. |
| per_page | optional | — | Hint only — Letterboxd fixes the page size per view (films 72, reviews 12, diary/list 100); reported back in meta.per_page. |
/letterboxd/v1/user_diary1 creditPaginated diary entries for a Letterboxd member: film slug, name, watch date, and star rating for each viewing.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| user | required | — | Letterboxd username (the handle in a profile URL), OR a profile URL. |
| page = 1 | optional | 1– | 1-based page number. Use meta.has_more to know when to stop; values < 1 clamp to 1. |
| per_page | optional | — | Hint only — Letterboxd fixes the page size per view (films 72, reviews 12, diary/list 100); reported back in meta.per_page. |
/letterboxd/v1/list1 creditA public Letterboxd curated film list: title, description, and the paginated film entries with user ratings.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| user | required | — | Letterboxd username (the handle in a profile URL), OR a profile URL. |
| list | required | — | List slug (the segment after /list/ in a list URL). |
| page = 1 | optional | 1– | 1-based page number. Use meta.has_more to know when to stop; values < 1 clamp to 1. |
| per_page | optional | — | Hint only — Letterboxd fixes the page size per view (films 72, reviews 12, diary/list 100); reported back in meta.per_page. |
/letterboxd/v1/film_reviews1 creditPaginated public reviews for a Letterboxd film: reviewer username, display name, star rating, review text, and like count.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| film | optional | — | Letterboxd film slug, OR a full film URL (https://letterboxd.com/film/parasite-2019/) — the path is parsed to the slug. |
| page = 1 | optional | 1– | 1-based page number. Use meta.has_more to know when to stop; values < 1 clamp to 1. |
| per_page | optional | — | Hint only — Letterboxd fixes the page size per view (films 72, reviews 12, diary/list 100); reported back in meta.per_page. |
/letterboxd/v1/browse1 creditBrowse Letterboxd's most popular or highest-rated films (paginated): slug, name, URL, and average user rating.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| sort = popular | optional | popular · rating · by/rating | Ordering for the films browser. |
| page = 1 | optional | 1– | 1-based page number. Use meta.has_more to know when to stop; values < 1 clamp to 1. |
| per_page | optional | — | Hint only — Letterboxd fixes the page size per view (films 72, reviews 12, diary/list 100); reported back in meta.per_page. |
/letterboxd/v1/search1 creditSearch Letterboxd for films, members, or curated lists by keyword — returns matching results with ratings and links.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | Free-text search query. |
| type = films | optional | films · members · lists | Which catalog to search. |
| page = 1 | optional | 1– | 1-based page number. Use meta.has_more to know when to stop; values < 1 clamp to 1. |
| per_page | optional | — | Hint only — Letterboxd fixes the page size per view (films 72, reviews 12, diary/list 100); reported back in meta.per_page. |
curl -X POST https://api.reefapi.com/letterboxd/v1/film \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"film":"parasite-2019"}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}