Tony Wang7 Min. LesezeitLetterboxd scrapen 2026: API & Python-Anleitung
Letterboxd 2026 scrapen: Filmbewertungen, Reviews, Member-Stats, Popular-Charts — DIY, No-Code oder API, inklusive der rechtlichen Lage.
Am schnellsten scrapst du Letterboxd 2026, indem du eine strukturierte API aufrufst, die normalisiertes JSON zurückgibt — Film-Details, Rating-Histogramme, Member-Reviews, ähnliche Filme und Popular-Charts — statt Letterboxds serverseitig gerenderte Seiten selbst zu parsen. Letterboxd hat noch keine offene Self-Service-API, deshalb bauen die meisten Integrationen entweder einen DIY-Scraper, setzen auf ein No-Code-Tool oder rufen eine Scraping-API auf, die die Seitenstruktur bereits im Griff hat. Dieser Guide zeigt dir alle drei Ansätze: was jeder liefert, wo jeder scheitert, und vorab die rechtliche Realität.
Warum Letterboxd scrapen?
Letterboxd ist nicht einfach nur ein weiterer Rating-Aggregator neben IMDb oder Metacritic — es ist eine soziale Film-Tagebuch-Plattform. Nutzer loggen jeden Film, den sie sehen, bewerten ihn mit bis zu fünf Sternen, schreiben eine Review und folgen anderen Mitgliedern, deren Geschmack sie schätzen. Diese Community-Ebene ist das eigentliche Produkt, und das zeigt sich auch darin, was sich zu sammeln lohnt:
- Community-Stimmung, nicht nur ein Score — die Durchschnittsbewertung eines Films und seine komplette Sterneverteilung (über das Rating-Histogramm) zeigen dir, ob die Meinung polarisiert oder konsensfähig ist — etwas, das eine einzelne aggregierte Zahl verschleiert.
- Signal auf Member-Ebene — Films-watched-Counts, Jahres-Totals, Follower-Counts und List-Counts beschreiben, wie engagiert ein bestimmtes Mitglied oder Publikumssegment wirklich ist — losgelöst von kritikerorientierten Scores.
- Was gerade trendet — die Popular-Charts zeigen Filme nach Engagement diese Woche/diesen Monat/dieses Jahr/aller Zeiten, filterbar nach Genre und Jahrzehnt — das bildet ab, was ein sehr aktives, geschmacksbewusstes Publikum tatsächlich schaut.
- Geschmacksgraphen und Discovery — Similar-Film-Beziehungen und Personen-Filmografien (Regie/Cast) treiben Empfehlungen und „Wenn dir X gefallen hat"-Features an.
- Review- und Rezeptionsforschung — öffentliche Reviews tragen eine Sternebewertung, ein Spoiler-Flag, einen Like-Count und einen Comment-Count — nützlich, um Rezeptionstrends über die Zeit zu verfolgen.
Ist es legal, Letterboxd zu scrapen?
Option 1: DIY in Python (und warum das scheitert)
Letterboxds Film- und Member-Seiten sind serverseitig gerendertes HTML, deshalb holt ein DIY-Scraper die Seite und parst das Markup nach den Feldern, die er braucht:
import requests
from bs4 import BeautifulSoup
resp = requests.get(
"https://letterboxd.com/film/parasite-2019/",
headers={"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"},
)
soup = BeautifulSoup(resp.text, "html.parser")
# Title, year, and synopsis are in visible markup, but the rating
# average and histogram load from separate /csi/ endpoints, not this page
Es funktioniert in der Demo und geht dann kaputt:
- Die ToS ist eindeutig. Automatisierte Datensammlung ist ohne schriftliche Zustimmung rundweg verboten — ein reales Risiko, kein theoretisches, also grenz jedes Projekt eng auf öffentliche Referenzfelder ein.
- Ratings und Histogramme leben off-page. Die Durchschnittsbewertung und die komplette Sterneverteilung holt sich das Frontend von separaten
/csi/-Endpoints (Client-Side Include), nachdem die initiale Seite geladen ist — ein reiner HTML-Fetch der Film-Seite allein bekommt sie also nicht mit. - Reviews und Similar Films paginieren getrennt. Jedes ist eine eigene Unterseite (
/reviews/by/activity/,/similar/), ein vollständiger Film-Datensatz bedeutet also mehrere Requests statt einem einzigen. - Markup verschiebt sich mit Redesigns. Selektoren, die heute funktionieren, können nach einer Frontend-Änderung stillschweigend kaputtgehen — die einzige Warnung sind leere Felder.
Option 2: No-Code-Tools
Marketplace-Scraper-Actors (zum Beispiel auf Apify) gibt es für einmalige Letterboxd-Abzüge — Film-Seiten, Member-Profile und Reviews — und sie eignen sich, um mal kurz in eine kleine Stichprobe reinzuschauen. Sie tragen dasselbe Terms-of-Use-Risiko wie das oben beschriebene DIY-Scraping, und sie sind umständlich, um sie nach Zeitplan laufen zu lassen oder in eine Pipeline einzubauen, die täglich frische Daten braucht. Für alles über einen manuellen, gelegentlichen Abzug hinaus passt eine strukturierte API oder Letterboxds eigenes Beta-Programm besser.
Option 3: Eine strukturierte Letterboxd-API
Für einen wiederholbaren Workflow ohne Seiten-Parsing oder /csi/-Endpoint-Jagd liefert eine Letterboxd scraping API normalisiertes JSON. Suche nach einem Film oder einer Person:
curl "https://api.crawlora.net/api/v1/letterboxd/search?q=bong+joon+ho" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "bong joon ho",
"results": [
{ "type": "person", "title": "Bong Joon Ho", "slug": "bong-joon-ho", "role": "director", "uri": "https://letterboxd.com/director/bong-joon-ho/" },
{ "type": "film", "title": "Being John Malkovich", "slug": "being-john-malkovich", "year": 1999, "uri": "https://letterboxd.com/film/being-john-malkovich/" }
],
"source_url": "https://letterboxd.com/s/search/bong%20joon%20ho/"
}
}
Dann holst du die Details, die Rating-Verteilung und die Reviews eines Films per Slug in Python:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/letterboxd"
film = requests.get(f"{base}/film/parasite-2019", headers=h).json()["data"]
histogram = requests.get(f"{base}/film/parasite-2019/rating-histogram", headers=h).json()["data"]
reviews = requests.get(f"{base}/film/parasite-2019/reviews", headers=h, params={"limit": 20}).json()["data"]
Film-Detail ist normalisiertes JSON (echte Felder — sieh dir die docs an):
{
"data": {
"slug": "parasite-2019",
"title": "Parasite",
"year": 2019,
"runtime_minutes": 133,
"directors": [{ "name": "Bong Joon Ho", "slug": "bong-joon-ho" }],
"genres": ["Thriller", "Comedy", "Drama"],
"rating": { "average": 4.52, "count": 5553202, "review_count": 740173 }
}
}
Das Rating-Histogramm schlüsselt diesen Durchschnitt in jeden Halb-Stern-Bucket auf — genau da steckt das Signal, ob die Community sich einig ist oder polarisiert:
{
"data": {
"slug": "parasite-2019",
"buckets": [
{ "stars": 4, "count": 1231158, "percent": 22 },
{ "stars": 4.5, "count": 960428, "percent": 17 },
{ "stars": 5, "count": 2785234, "percent": 50 }
],
"total_ratings": 5553315
}
}
Member-Profile funktionieren genauso — /letterboxd/member/{username} liefert films_watched, films_this_year, lists, following und followers für ein öffentliches Profil —, und /letterboxd/popular liefert trendende Filme, filterbar nach period, genre und decade. Speichere eine Zeile pro Film (oder pro Review, pro Member) und lass es nach Zeitplan erneut laufen.
Was du sammeln kannst
Öffentliche Film- und Community-Metadaten: Suchergebnisse (Film-, Personen-, List- und Tag-Treffer); Film-Detail (Titel, Jahr, Synopsis, Laufzeit, Regie, Cast, Genres, Länder, Sprachen, Poster, Durchschnittsbewertung); komplette Rating-Histogramme (Counts und Prozente pro Halb-Stern); öffentliche Reviews (Rating, Liked-Flag, Datum, Text, Spoiler-Flag, Like- und Comment-Counts); Similar-Film-Beziehungen; Personen-Filmografien nach Rolle (Regie, Cast); öffentliche Member-Profil-Stats (Films watched, Films this year, Lists, Following, Followers); und Popular-Film-Charts nach Zeitraum, Genre und Jahrzehnt. Nur öffentliche Daten — niemals private Diary-Einträge, Watchlists oder in großem Stil erneut veröffentlichter Review-Text.
Grenzen und typische Herausforderungen
- Explizite ToS-Beschränkung. Letterboxds Bedingungen verbieten automatisierte Datensammlung ohne schriftliche Zustimmung — grenz jedes Projekt auf öffentliche Referenzfelder ein, veröffentlich niemals kompletten Review-Text in großem Stil erneut, und zieh für größere kommerzielle Nutzung eine Bewerbung für die offizielle API-Beta in Betracht.
- Ratings laden client-seitig. Die Durchschnittsbewertung und das Histogramm kommen von separaten Endpoints, die der Browser nach dem Laden der Film-Seite holt, nicht aus dem initialen HTML.
- Fan-out pro Film. Reviews und Similar Films paginieren jeweils auf ihrer eigenen Unterseite, ein vollständiger Film-Datensatz braucht also mehrere Requests.
- Member-Daten sind personenbezogene Daten. Selbst öffentliche Profil-Stats (Watch-Counts, Follower-Counts) können unter DSGVO/CCPA fallen, wenn sie mit einer identifizierbaren Person verknüpft sind — sammle nur öffentliche, faktische Felder und bau ohne Rechtsgrundlage keine Profildatenbank auf.
- Nur öffentliche Daten. Das sammelt, was eine Film- oder Profilseite ohnehin schon öffentlich zeigt — niemals ein Weg um eine Login-Wall herum oder ein Weg, ein konkurrierendes Katalog-Produkt zu bauen.
Wo das eingesetzt wird
- Film-Geschmack- und Rating-Dashboards — die Durchschnittsbewertung und Ratingverteilung eines Films über die Zeit verfolgen.
- Empfehlungs-Features — „ähnliche Filme" und Discovery auf Basis von Regie/Cast antreiben.
- Trending- und Popularitäts-Tracking — beobachten, was in den Popular-Charts nach Genre oder Jahrzehnt aufsteigt.
- Rezeptionsforschung — Review-Sentiment und -Volumen mit dem Release-Fenster eines Films kombinieren.
Sources
Leg los mit dem Sammeln
Probier es zuerst kostenlos aus: jage eine beliebige öffentliche URL durch den Free Web Scraper oder prüfe mit dem Anti-Bot Checker, ob eine Seite Bots blockiert — ohne Anmeldung.
Teste die Search-, Film- und Rating-Histogram-Endpoints im Playground, sieh dir das Schema in den API docs an und wirf einen Blick aufs pricing. Letterboxd zeigt dir, was eine Community aktiver Filmfans wirklich bewertet und bespricht; kombinier es mit how to scrape IMDb für den kanonischen Cast/Crew-Datensatz, how to scrape TMDB für einen sauberen Katalog und eine Image-API, oder how to scrape Metacritic für Kritiker-Score-Aggregation, um eine vollständige „Was ist gut, wer hat's gemacht, und was denken die Leute"-Pipeline zu bauen. Siehe auch how to choose a web scraping API und is web scraping legal.
Häufig gestellte Fragen
Wie scrape ich Letterboxd?
Ruf einen strukturierten Letterboxd-API-Endpoint mit einer Suchanfrage oder einem Film-Slug auf, um normalisiertes JSON für Film-Details, Rating-Histogramme, Reviews, ähnliche Filme und Popular-Charts zu bekommen — ganz ohne Login oder HTML-Parsing.
Hat Letterboxd eine öffentliche API?
Noch keine offene Self-Service-API. Es gibt ein Beta-Programm unter letterboxd.com/api-beta, Zugang bekommst du auf Anfrage an api@letterboxd.com, allerdings ohne Antwortgarantie.
Ist es legal, Letterboxd zu scrapen?
Letterboxds Nutzungsbedingungen verbieten ausdrücklich Robots, Scraper und automatisierte Tools zur Datensammlung ohne schriftliche Genehmigung. Behandle jede Sammlung als reine öffentliche Referenzdaten und hol dir für große kommerzielle Nutzung eine schriftliche Erlaubnis.
Kann ich Letterboxds komplette Sterne-Ratingverteilung bekommen, nicht nur den Durchschnitt?
Ja — der Rating-Histogramm-Endpoint liefert Counts und Prozente pro Halb-Stern zusammen mit der Gesamt-Rating-Zahl und zeigt so, ob die Meinung zu einem Film konsensfähig oder polarisiert ist.
Kann ich das Diary oder die Watchlist eines Members scrapen?
Nein. Das deckt nur öffentliche Profil-Stats ab — Films watched, Films this year, Lists, Following und Followers — niemals private Diary-Einträge oder Watchlist-Inhalte.
Was unterscheidet Letterboxd von IMDb oder Metacritic für Scraping-Zwecke?
Letterboxd ist eine soziale Film-Tagebuch-Plattform, deshalb zählt Signal auf Member-Ebene (Watch-Counts, Follower-Graphen, Community-Ratingverteilung) neben den Film-Metadaten — anders als bei einer reinen Kritiker-Score- oder Cast/Crew-Datenbank.
Wie verfolge ich, was auf Letterboxd gerade trendet?
Nutze den /letterboxd/popular-Endpoint, filterbar nach Zeitraum (Tag/Woche/Monat/Jahr/aller Zeiten), Genre und Jahrzehnt, um zu sehen, welche Filme gerade beim Community-Engagement aufsteigen.