Discover/Letterboxd API
live

Letterboxd APIletterboxd.com

Search Letterboxd's film catalog, fetch film details with community ratings, and retrieve user profiles, watchlists, and favorites via a simple REST API.

This API takes change requests — .
Endpoint health
verified 3h ago
search_films
get_user_profile
get_film
3/3 passing latest checkself-healing
Endpoints
3
Updated
3h ago

What is the Letterboxd API?

This API gives you access to Letterboxd data across 3 endpoints: search the film catalog by title, retrieve full film details including community rating and runtime, and pull user profile data covering bio, stats, favorites, watchlist, and follower lists. The get_film endpoint alone returns 7 fields per film, while get_user_profile surfaces favorites, likes, and followers in a single call.

Try it
Page number for paginated results.
Search query to match against film titles.
api.parse.bot/scraper/dce779fe-5a60-4d3a-864c-c47bc53e42df/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/dce779fe-5a60-4d3a-864c-c47bc53e42df/search_films?page=1&query=inception' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace letterboxd-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Letterboxd SDK — bounded, re-runnable; every call capped."""
from parse_apis.letterboxd_com_api import Letterboxd, NotFound

client = Letterboxd()

# Search for films by title query
for film in client.film_summaries.search(query="inception", limit=3):
    print(film.title, film.year, film.director)

# Drill-down: take one search result and get full details
hit = client.film_summaries.search(query="inception", limit=1).first()
if hit:
    full = hit.details()
    print(full.title, full.year, full.runtime_minutes, full.rating)

# Fetch a user profile with favorites, watchlist, likes, and followers
try:
    profile = client.user_profiles.get(username="bug39")
    print(profile.display_name, profile.stats.films, profile.followers_count)
    for fav in profile.favorites:
        print(fav.title, fav.slug)
except NotFound as e:
    print("user not found:", e)

# Fetch film details by slug, handling not-found
try:
    film = client.films.get(slug="the-dark-knight")
    print(film.title, film.director, film.runtime_minutes, film.rating)
except NotFound as e:
    print("film not found:", e)

print("exercised: film_summaries.search, FilmSummary.details, films.get, user_profiles.get")
All endpoints · 3 totalmissing one? ·

Full-text search over Letterboxd's film catalog. Returns title, year, director, URL, and slug for each match. Results are auto-iterated across pages; each page returns up to 20 films. Films without a listed director return null for that field.

Input
ParamTypeDescription
pageintegerPage number for paginated results.
queryrequiredstringSearch query to match against film titles.
Response
{
  "type": "object",
  "fields": {
    "count": "number of films returned on this page",
    "films": "array of film search results with title, year, director, url, and slug"
  },
  "sample": {
    "count": 20,
    "films": [
      {
        "url": "https://letterboxd.com/film/inception/",
        "slug": "inception",
        "year": "2010",
        "title": "Inception",
        "director": "Christopher Nolan"
      }
    ]
  }
}

About the Letterboxd API

Film Search and Lookup

The search_films endpoint accepts a query string and returns paginated results — up to 20 films per page — each with title, year, director, url, and slug. The page parameter lets you iterate through deeper results. Films without a credited director return null for that field rather than an error, so handle that case in your client. Slugs returned here feed directly into get_film for full detail lookups.

Film Detail Data

get_film takes a Letterboxd URL slug (e.g. 'the-dark-knight') and returns the film's title, year, director, runtime_minutes, community rating out of 5, slug, and canonical url. The rating reflects the average of all user ratings logged on Letterboxd. If the slug does not match a known film, the endpoint returns an input_not_found response rather than an empty result.

User Profiles

get_user_profile takes a username and returns a structured profile object. The stats field contains films, following, and followers counts. favorites returns the user's pinned films with title, slug, and url. watchlist and likes each return the first page (approximately 28 items) with watchlist_count reflecting the user's total. The followers array includes each follower's display_name, username, and url. Accounts that don't exist return input_not_found.

Reliability & maintenanceVerified

The Letterboxd API is a managed, monitored endpoint for letterboxd.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when letterboxd.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official letterboxd.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3h ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a film recommendation tool seeded by a user's favorites and watchlist entries.
  • Track community rating trends across a director's filmography using get_film in bulk.
  • Map social graphs by crawling followers arrays returned by get_user_profile.
  • Auto-complete film search in a movie tracking app using search_films with the query param.
  • Sync a user's Letterboxd watchlist into an external to-watch list or calendar.
  • Cross-reference runtime_minutes and year data for film scheduling or curation tools.
  • Analyze which films appear most frequently in users' likes across a cohort of profiles.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Letterboxd have an official developer API?+
Yes. Letterboxd offers an official API available at https://api-docs.letterboxd.com. It requires application approval and covers a broader surface including reviews and lists. This Parse API provides immediate access to film search, film detail, and user profile data without an approval process.
What does get_user_profile return for watchlists and likes?+
It returns the first page of each — approximately 28 items — as arrays of objects with title, slug, and url. The watchlist_count field reflects the user's total watchlist size, so you can determine whether more entries exist beyond what's returned.
Does the API return individual film reviews or diary entries?+
Not currently. The three endpoints cover film search results, film-level metadata, and user profile summaries including favorites, watchlist, and likes. You can fork this API on Parse and revise it to add an endpoint targeting a user's diary entries or film-specific reviews.
Does get_film return cast members or genre tags?+
Not currently. get_film returns title, year, director, runtime_minutes, rating, slug, and url. Cast lists and genre classifications are not included in the current response shape. You can fork the API on Parse and revise it to add those fields.
How does pagination work in search_films?+
Each page returns up to 20 films. Pass an integer to the page parameter to retrieve subsequent pages. The response includes a count field showing how many films were returned on that page, which helps you detect the last page when fewer than 20 results come back.
Page content last updated . Spec covers 3 endpoints from letterboxd.com.
Related APIs in EntertainmentSee all →
filmaffinity.com API
Search FilmAffinity's film database by title, director, genre, year, and more. Retrieve detailed movie information including cast, crew, synopsis, ratings, and user reviews. Access top-rated lists, box office rankings, theatrical and streaming releases, and full filmographies for cast and crew members.
tmdb.org API
Search for movies and TV shows to discover details like cast, crew, reviews, images, videos, and where to watch them. Get information about actors, browse trending and popular titles, and access comprehensive metadata for entertainment planning.
rottentomatoes.com API
Search for movies and TV shows, get detailed information like ratings and reviews, and browse curated collections to discover what to watch. Access comprehensive Rotten Tomatoes data including critic and audience scores, plot details, and user reviews all in one place.
editorial.rottentomatoes.com API
Search for movies and TV shows, browse ratings and reviews from critics and audiences, and discover celebrity filmographies and entertainment news. Get detailed information about films, shows, and entertainment professionals all in one place.
imdb.com API
Search and retrieve comprehensive IMDb movie information including ratings, genres, cast, crew, and box office data in one place. Get full cast and crew details alongside plot summaries and financial insights for any movie title.
the-numbers.com API
Search and discover comprehensive movie industry data including box office statistics, cast and crew information, and all-time records directly from the-numbers.com. Track daily box office charts and retrieve detailed movie information to stay informed about film performance and historical cinema records.
mymovies.it API
Search for movies and showtimes across Italian cinemas, find what's playing near you by city, and discover detailed information about films, cast members, and box office rankings. Browse upcoming releases and get comprehensive cinema details to plan your movie nights.
criterion.com API
Browse and search the Criterion Collection's curated film catalog, explore editorial content and posts from Current magazine, and retrieve Top 10 lists and Closet Picks. Get detailed information about individual films and curated collections.