Letterboxd hub

Letterboxd Member Lists API

A member's public lists with film counts, likes, comments, a note and the poster slugs on each card.

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

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

About this endpoint

GET /v1/letterboxd/users/{username}/lists returns data.user, and data.lists. Each list summary has id, owner, slug, title, url, filmCount, likes, comments, note and posterSlugs. posterSlugs names up to ten films whose posters are included on the list card, which is enough to build a preview without fetching every list.

One call returns the first 12 lists; there is no page or cursor parameter and no next page. The summary is for browsing; call GET /v1/letterboxd/users/{username}/lists/{slug} when you need the list description, tags and the film rows. Counts are nullable when not available. The owner's note is the short note on the card, not the full description.

Letterboxd Member Lists API FAQ

What is the difference between this route and the list route?

This route lists a member's lists with summary fields such as filmCount, likes, comments and posterSlugs. The single list route returns the description, tags, films and visibility for one list.

Why are likes or comments null?

Those counters are nullable because they are not always available. A null means the number was not on the card, not that it is zero.

How do I go from a summary to the list's films?

Use owner and slug from the summary. GET /v1/letterboxd/users/{owner}/lists/{slug} returns the list with its first 100 films.

How many credits does a lists 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 the member exists, even if they have no public lists. not_found means the username does not exist, and data.user is null.