2026 · Live at watchlistmatch.com
Watchlist Match
Enter two or more Letterboxd usernames and it finds the films on everyone's watchlist, sorted by rating. Then a slot machine picks one, so nobody has to.
- Stack
- JavaScript, Vercel serverless functions
- Data
- Letterboxd pages, fetched and cached on request
- Also
- A randomizer for a single watchlist
No API, so it reads the pages
Letterboxd has no public API, and CORS stops a browser from reading its pages directly. So the site calls its own serverless functions, which fetch each watchlist eight pages at a time and parse out the films.
Ratings for older films barely move. The CDN caches them for 90 days, or a week for films released this year. Watchlists are cached for an hour. A group that compares twice in one evening costs Letterboxd almost nothing the second time.
Keeping a free tool up
A free site that scrapes on request is easy to abuse. Before the page can call the API, the browser solves a small proof-of-work puzzle and passes a Cloudflare Turnstile check. In return it gets a 15-minute token signed for its IP. Tokens have quotas, and the API rate-limits on top of that.
One person, one watchlist
With a single username, the same reel picks something from your own watchlist. That version lives at watchlistmatch.com/randomizer.