Tony Wang7 min de lecturaCómo scrapear Letterboxd en 2026 (API y Python)
Scrapea Letterboxd en 2026: ratings, reviews, stats de miembros y charts populares — DIY, no-code o API estructurada, con la legalidad.
La forma más rápida de scrapear Letterboxd en 2026 es llamar a una API estructurada que devuelve JSON normalizado — detalle de película, histogramas de rating, reviews de miembros, películas similares y charts populares — en vez de parsear tú mismo las páginas renderizadas en servidor de Letterboxd. Letterboxd todavía no tiene una API pública self-service, así que la mayoría de las integraciones construyen un scraper DIY, se apoyan en una herramienta no-code, o llaman a una API de scraping que ya se encarga de la estructura de la página. Esta guía cubre los tres enfoques, qué devuelve cada uno, dónde se rompe cada uno, y la realidad legal por adelantado.
¿Por qué scrapear Letterboxd?
Letterboxd no es simplemente otro agregador de ratings junto a IMDb o Metacritic — es una plataforma social de diario de cine. La gente registra cada película que ve, la puntúa sobre cinco estrellas, escribe una review y sigue a otros miembros cuyo gusto le interesa. Esa capa de comunidad es el producto real, y se nota en lo que vale la pena recolectar:
- Sentimiento de comunidad, no solo un score — el rating promedio de una película y su distribución completa de estrellas (vía el histograma de rating) te dicen si la opinión está polarizada o hay consenso, algo que un único número agregado oculta.
- Señal a nivel de miembro — los conteos de películas vistas, los totales del año, los conteos de seguidores y los conteos de listas describen cuán activo está realmente un miembro o segmento de audiencia dado, algo distinto de los scores orientados a la crítica.
- Qué está en tendencia ahora mismo — los charts populares muestran películas por engagement esta semana/mes/año/de siempre, filtrables por género y década, lo que refleja qué está viendo realmente una audiencia muy activa y con criterio propio.
- Grafos de gusto y descubrimiento — las relaciones de películas similares y las filmografías de personas (director/reparto) alimentan funciones de recomendación y de "si te gustó X".
- Investigación de reviews y recepción — las reviews públicas llevan un rating en estrellas, una marca de spoiler, un conteo de likes y un conteo de comentarios, útiles para seguir tendencias de recepción a lo largo del tiempo.
¿Es legal scrapear Letterboxd?
Opción 1: DIY en Python (y por qué se rompe)
Las páginas de película y miembro de Letterboxd son HTML renderizado en servidor, así que un scraper DIY obtiene la página y parsea el markup en busca de los campos que necesita:
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
Funciona en la demo y luego se rompe:
- Los ToS son explícitos. La recolección automatizada de datos está prohibida de plano sin consentimiento por escrito — un riesgo real, no teórico, así que acota cualquier proyecto de forma estrecha a campos de referencia públicos.
- Los ratings y los histogramas viven fuera de la página. El rating promedio y la distribución completa de estrellas los obtiene el frontend desde endpoints
/csi/(client-side include) separados después de que carga la página inicial, así que un simple fetch HTML de la página de la película por sí solo no los captura. - Las reviews y las películas similares paginan por separado. Cada una es su propia subpágina (
/reviews/by/activity/,/similar/), así que un registro completo de película implica varias peticiones, no una. - El markup cambia con los rediseños. Selectores que funcionan hoy pueden romperse silenciosamente tras un cambio de frontend, sin más aviso que campos vacíos.
Opción 2: Herramientas no-code
Existen actors de scraping de marketplace (por ejemplo en Apify) para extracciones puntuales de Letterboxd — páginas de película, perfiles de miembro y reviews — y son una forma razonable de echarle un vistazo a una muestra pequeña. Cargan con la misma exposición a los Terms of Use que el scraping DIY descrito arriba, y son incómodas de programar o de conectar a un pipeline que necesite datos frescos a diario. Para cualquier cosa más allá de una extracción manual y ocasional, una API estructurada o el propio programa beta de Letterboxd encaja mejor.
Opción 3: Una API estructurada de Letterboxd
Para un flujo de trabajo repetible sin parseo de páginas ni caza de endpoints /csi/ que mantener, una Letterboxd scraping API devuelve JSON normalizado. Busca una película o una persona:
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/"
}
}
Luego obtén el detalle, la distribución de ratings y las reviews de una película por slug en 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"]
El detalle de película es JSON normalizado (campos reales — revisa los docs):
{
"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 }
}
}
El histograma de rating desglosa ese promedio en cada bucket de medio punto, que es donde realmente vive la señal de consenso frente a polarización de la comunidad:
{
"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
}
}
Los perfiles de miembro funcionan igual — /letterboxd/member/{username} devuelve films_watched, films_this_year, lists, following y followers para un perfil público — y /letterboxd/popular devuelve películas en tendencia filtrables por period, genre y decade. Guarda una fila por película (o por review, por miembro) y vuelve a ejecutarlo según un calendario.
Qué puedes recolectar
Metadatos públicos de películas y de comunidad: resultados de búsqueda (coincidencias de película, persona, lista y tag); detalle de película (título, año, sinopsis, duración, directores, reparto, géneros, países, idiomas, póster, rating promedio); histogramas de rating completos (conteos y porcentajes por medio punto); reviews públicas (rating, marca de "me gusta", fecha, texto, marca de spoiler, conteos de likes y comentarios); relaciones de películas similares; filmografías de personas por rol (director, actor); estadísticas de perfil público de miembro (películas vistas, películas este año, listas, seguidos, seguidores); y charts de películas populares por periodo, género y década. Solo datos públicos — nunca entradas privadas de diario, watchlists ni texto de reviews republicado en bloque.
Limitaciones y desafíos comunes
- Restricción explícita de los ToS. Los términos de Letterboxd prohíben la recolección automatizada de datos sin consentimiento por escrito — acota cualquier proyecto a campos de referencia públicos, nunca republiques texto completo de reviews en bloque, y considera solicitar la beta oficial de la API para uso comercial más grande.
- Los ratings cargan del lado del cliente. El rating promedio y el histograma vienen de endpoints separados que el navegador obtiene después de que carga la página de la película, no del HTML inicial.
- Fan-out por película. Las reviews y las películas similares paginan cada una en su propia subpágina, así que un registro completo de película requiere varias peticiones.
- Los datos de miembro son datos personales. Incluso las estadísticas de perfil público (conteos de vistas, conteos de seguidores) pueden caer bajo el RGPD/CCPA cuando están ligadas a una persona identificable — recolecta solo campos públicos y factuales y evita construir una base de datos de perfiles sin una base legal.
- Solo datos públicos. Esto recolecta lo que una página de película o de perfil ya muestra públicamente — nunca una forma de sortear un muro de login ni de construir un producto de catálogo competidor.
Dónde se usa esto
- Dashboards de gusto cinematográfico y rating — seguir el rating promedio y la distribución de ratings de una película a lo largo del tiempo.
- Funciones de recomendación — impulsar el descubrimiento de "películas similares" y basado en director/reparto.
- Seguimiento de tendencias y popularidad — monitorear qué está subiendo en los charts populares por género o década.
- Investigación de recepción — emparejar el sentimiento y volumen de reviews con la ventana de estreno de una película.
Fuentes
Empieza a recolectar
Pruébalo primero, gratis: pasa cualquier URL pública por el Free Web Scraper, o comprueba si un sitio bloquea bots con el Anti-Bot Checker — sin registro.
Prueba los endpoints de search, film y rating-histogram en el Playground, revisa el schema en los API docs, y consulta el pricing. Letterboxd te muestra lo que una comunidad de cinéfilos activos realmente puntúa y comenta; combínalo con how to scrape IMDb para el registro canónico de reparto/equipo técnico, how to scrape TMDB para un catálogo limpio y una API de imágenes, o how to scrape Metacritic para agregación de scores de crítica, y construir un pipeline completo de "qué es bueno, quién lo hizo y qué piensa la gente" — y si el anime entra en el alcance, how to scrape anime data cubre las bases de datos de comunidad que Letterboxd no rastrea. Consulta también how to choose a web scraping API y is web scraping legal.
Parte de nuestra serie de guías how-to-scrape — cada plataforma que cubrimos, en un solo índice.
Preguntas frecuentes
¿Cómo scrapeo Letterboxd?
Llama a un endpoint estructurado de la API de Letterboxd con una consulta de búsqueda o un slug de película para obtener JSON normalizado con detalle de película, histogramas de rating, reviews, películas similares y charts populares — sin login ni parseo de HTML.
¿Letterboxd tiene una API pública?
Todavía no una API pública self-service. Existe un programa beta en letterboxd.com/api-beta, y el acceso es por solicitud a [email protected], aunque sin respuesta garantizada.
¿Es legal scrapear Letterboxd?
Los Terms of Use de Letterboxd prohíben explícitamente robots, scrapers y herramientas automatizadas de recolección de datos sin autorización por escrito. Trata cualquier recolección como datos de referencia públicos y consigue permiso por escrito para uso comercial a gran escala.
¿Puedo obtener la distribución completa de rating en estrellas de Letterboxd, no solo el promedio?
Sí — el endpoint del histograma de rating devuelve conteos y porcentajes por medio punto junto con el total de ratings, mostrando si la opinión sobre una película es consensuada o polarizada.
¿Puedo scrapear el diario o la watchlist de un miembro?
No. Esto solo cubre estadísticas de perfil público — películas vistas, películas este año, listas, seguidos y seguidores — nunca entradas privadas de diario ni contenido de watchlist.
¿Qué diferencia a Letterboxd de IMDb o Metacritic para scraping?
Letterboxd es una plataforma social de diario de cine, así que la señal a nivel de miembro (conteos de vistas, grafos de seguidores, distribución de rating de la comunidad) importa junto con los metadatos de película — a diferencia de una base de datos puramente de scores de crítica o de reparto/equipo técnico.
¿Cómo sigo lo que está en tendencia en Letterboxd?
Usa el endpoint /letterboxd/popular, filtrable por periodo (día/semana/mes/año/de siempre), género y década, para ver qué películas están subiendo en engagement de la comunidad.