Letterboxd Scraper — Films, Ratings, Watchlists & Lists avatar

Letterboxd Scraper — Films, Ratings, Watchlists & Lists

Pricing

from $0.003 / film scraped

Go to Apify Store
Letterboxd Scraper — Films, Ratings, Watchlists & Lists

Letterboxd Scraper — Films, Ratings, Watchlists & Lists

Scrape Letterboxd films with ratings, rating counts, genres, director, cast, runtime and synopsis. Feed it film pages, a user's films/watchlist/diary, any list URL, or browse pages. Clears Cloudflare. For film data, recommendations and research.

Pricing

from $0.003 / film scraped

Rating

0.0

(0)

Developer

hiper soft

hiper soft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

Extract rich film data from Letterboxdaverage rating, number of ratings, genres, director, cast, runtime, synopsis, countries, languages and poster — into clean JSON, CSV or Excel. Point it at individual films, a user's films / watchlist / diary, any list, or a browse page (popular, by rating, by genre). Automatically handles bot protection.

Great for film datasets, recommendation engines, ranking & analytics, watchlist backups and research.

What you can scrape

  • 🎬 Single filmsletterboxd.com/film/parasite-2019/
  • 👤 A user's films, watchlist or diaryletterboxd.com/USERNAME/watchlist/
  • 📋 Any listletterboxd.com/USERNAME/list/LIST-NAME/
  • 🔥 Browse pages — popular this week, by rating, by genre, by decade…

Give it any mix of these as Start URLs — it walks the poster grid, follows pagination, and pulls full metadata for every film it finds.

Example input

{
"startUrls": [
"https://letterboxd.com/films/popular/this/week/",
"https://letterboxd.com/dave/watchlist/",
"https://letterboxd.com/film/parasite-2019/"
],
"maxFilms": 200,
"maxListPages": 20
}

Output

One row per film:

{
"title": "Parasite",
"year": 2019,
"rating": 4.52,
"ratingCount": 5635651,
"director": ["Bong Joon Ho"],
"genres": ["Thriller", "Comedy", "Drama"],
"runtimeMinutes": 133,
"cast": ["Song Kang-ho", "Lee Sun-kyun", "Cho Yeo-jeong", "…"],
"countries": ["South Korea"],
"languages": ["Korean", "English"],
"synopsis": "…",
"poster": "https://a.ltrbxd.com/resized/film-poster/…jpg",
"imdbUrl": "https://www.imdb.com/title/tt6751668/",
"tmdbUrl": "https://www.themoviedb.org/movie/496243",
"url": "https://letterboxd.com/film/parasite-2019/"
}

Input fields

FieldDescription
startUrlsFilm pages, user pages (watchlist/films/diary), list URLs or browse pages. Bare film slugs also work.
maxFilmsMax films to scrape in total across all start URLs.
maxListPagesFor listing URLs, how many paginated pages to walk.
proxyConfigurationResidential proxy (for reliable access) — leave default.

Use cases

  • Build a film dataset — ratings, genres and crew for thousands of titles
  • Recommendation & ranking — use real Letterboxd ratings and rating counts as signal
  • Watchlist / diary backup — export a user's watched films or watchlist to a spreadsheet
  • Genre & decade analysis — scrape a browse page and crunch the numbers
  • Enrich your movie app — pull posters, runtime, cast and synopsis by URL

FAQ

Does it handle bot protection? Yes. Letterboxd's browse, user and list pages sit behind a bot protection challenge; this Actor handles bot protection automatically, retrying if needed.

How many films can I scrape? Set maxFilms up to 100,000. For listing URLs it pages through the poster grid automatically.

Can I scrape a specific user's watchlist or diary? Yes — use their watchlist/, films/ or films/diary/ URL as a start URL.

How does billing work? Pay per film scraped — you only pay for the films you actually get.

Is a login needed? No. Only public Letterboxd pages are scraped.

Notes

Original clean-room implementation. Scrapes only public Letterboxd pages; you are responsible for how you use the data and for complying with Letterboxd's terms. This is an independent tool and is not affiliated with or endorsed by Letterboxd.