Letterboxd hub

Letterboxd Statistics API

A member's all-time counters and featured-list progress, with a typed restricted answer when statistics are not available.

GET /v1/letterboxd/users/{username}/stats

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

About this endpoint

GET /v1/letterboxd/users/{username}/stats returns data.user, data.stats and data.url. stats carries filmCount, hours, directors, countries, longestStreak (value and note), twoPlusFilmDays, every labelled counter in statistics, and listProgress with each featured list's name, total and URL. A meaningful watched count or percentage is not available for those lists, so neither is returned. A membership badge is not available on this route, so user.badge is null.

Statistics are available for Pro and Patron members. When they are not public, the route returns lookupStatus: restricted with stats: null. not_found means the username does not exist. HTTP 200 only means the request finished, so branch on lookupStatus.

Letterboxd Statistics API FAQ

Why is stats null?

lookupStatus restricted means the member's statistics are not public. user carries the username you asked for; the other header fields are null, including displayName, avatar and badge. The counters are not invented.

What do longestStreak and twoPlusFilmDays mean?

longestStreak is the streak value, for example 9w, with its tooltip note when available. twoPlusFilmDays is the number of days with two or more films.

What is in listProgress?

One row per featured list with the list name, total films and a link to the list. A meaningful watched count or completion percentage is not available, so those fields are not returned.

How many credits does a statistics 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.stats is the member's statistics. restricted means the member's statistics are not public, and not_found means the username does not exist.