Tony Wang7 min de lecturaCómo scrapear Rotten Tomatoes en 2026 (API y Python)
Consigue el Tomatometer y el Audience Score de Rotten Tomatoes 2026 — DIY, no-code o API estructurada — más la realidad legal y los costos.
La forma más rápida de scrapear Rotten Tomatoes en 2026 es llamar a una API estructurada que devuelve JSON normalizado — detalle del título, Tomatometer, Audience Score y fragmentos de reseñas — para películas, series de TV, temporadas y episodios con la misma forma de request, en lugar de parsear tú mismo las páginas de Rotten Tomatoes o esperar el propio proceso de aprobación para developers de Fandango. Rotten Tomatoes es la referencia por defecto de «¿debería ver esto?» para gran parte de la web en inglés, pero su API oficial no es gratuita, no es rápida de conseguir, y los términos de su propietario prohíben explícitamente la recopilación automatizada. 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 datos de Rotten Tomatoes?
El Tomatometer y el Audience Score de Rotten Tomatoes anclan una enorme cantidad de investigación de recepción downstream, que alimenta:
- Agregación de sentimiento y reseñas — obtener el consenso de crítica y audiencia para un título sin tener que rederivarlo tú mismo a partir de reseñas en bruto.
- Señales de calidad para catálogos de streaming — asociar una señal de confianza (Tomatometer, «Certified Fresh») a un título antes de recomendarlo o licenciarlo.
- Investigación de divergencia entre crítica y audiencia — comparar el Tomatometer con el Audience Score para detectar títulos donde la reacción de la prensa y del público difieren marcadamente.
- Investigación de mercado y de estrenos — seguir cómo puntúan los nuevos estrenos revisando las listas de «en cartelera» y «mejores series de TV» a medida que llegan los scores.
- Cruce con otras fuentes de valoraciones — combinar el sistema de dos scores de Rotten Tomatoes con los metadatos de catálogo de TMDB o el Metascore de Metacritic para obtener una imagen de recepción más completa que la que da una sola fuente.
¿Es legal scrapear Rotten Tomatoes?
Opción 1: DIY en Python (y por qué se rompe)
Las páginas de películas y series de Rotten Tomatoes están renderizadas con React, con los datos del score incrustados en un payload JSON junto al markup, así que un scraper DIY generalmente tiene que o bien controlar un navegador headless o extraer ese estado incrustado:
import requests
from bs4 import BeautifulSoup
resp = requests.get(
"https://www.rottentomatoes.com/m/inception",
headers={"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"},
)
soup = BeautifulSoup(resp.text, "html.parser")
# Tomatometer and Audience Score render client-side from a score-details
# JSON blob embedded in the page — there's no clean <script type="application/ld+json">
# AggregateRating block to lean on the way there is on some other review sites
Funciona como demo y luego se rompe:
- Los ToS mencionan el scraping directamente, y es la prohibición más estricta de esta serie hasta ahora. Los Terms of Use de Fandango nombran explícitamente robots, spiders, crawlers y «data gathering or extraction software», más una restricción explícita de entrenamiento de IA/ML — no hay ambigüedad sobre la que argumentar.
- Sin fallback limpio de datos estructurados. A diferencia de sitios que exponen un bloque JSON-LD
AggregateRating, el Tomatometer y el Audience Score de Rotten Tomatoes viven dentro del estado de componentes renderizado en cliente, lo que significa que hay que ejecutar un navegador headless o hacer ingeniería inversa de la forma de un payload interno que no está documentado y cambia sin previo aviso. - Cuatro tipos de contenido distintos, cuatro formas de página distintas. Películas, series de TV, temporadas y episodios se renderizan cada uno de forma distinta — un parser ajustado para páginas de película normalmente necesita un manejo separado para TV.
- Las reseñas se paginan tras requests de «load more» basados en cursor. Los fragmentos de reseñas de crítica y audiencia no están completamente presentes en el HTML inicial; obtener más de la primera página implica replicar una llamada de paginación interna.
Opción 2: Herramientas no-code / ya hechas
Existen actors de scraping en marketplaces para extracciones puntuales de Rotten Tomatoes, y sirven bien para exportar a una hoja de cálculo un puñado de títulos. Sin embargo, cargan con la misma exposición a los Terms of Use que el scraping DIY, y ninguno resuelve el problema de programación ni el de esquema multi-plataforma para un pipeline real. Las dos alternativas licenciadas — la propia Developer Network de Fandango y la API B2B de Fabric Origin — requieren ambas una suscripción de pago y un proceso de aprobación; ninguna ofrece un camino de alta gratuito o el mismo día.
Opción 3: Una API estructurada de Rotten Tomatoes
Para un flujo de trabajo repetible sin una licencia anual de cinco cifras ni una espera de aprobación de 60 días, una API de scraping de Rotten Tomatoes devuelve JSON normalizado sin necesidad de mantener parsing de páginas. Busca un título para obtener su path:
curl "https://api.crawlora.net/api/v1/rottentomatoes/search?query=inception" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "inception",
"limit": 2,
"results": [
{
"title": "Inception",
"path": "/m/inception",
"url": "https://www.rottentomatoes.com/m/inception",
"release_year": "2010",
"tomatometer_score": 87,
"tomatometer_sentiment": "POSITIVE"
}
]
}
}
Luego obtén el detalle de película, serie o persona por path en Python:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/rottentomatoes"
hits = requests.get(f"{base}/search", headers=h, params={"query": "inception"}).json()["data"]["results"]
movie = requests.get(f"{base}/movie", headers=h, params={"path": hits[0]["path"]}).json()["data"]
reviews = requests.get(f"{base}/movie/reviews", headers=h, params={"path": hits[0]["path"], "type": "critics", "limit": 10}).json()["data"]
El detalle de película devuelve el Tomatometer y el Audience Score como objetos separados (campos reales — revisa los docs):
{
"code": 200,
"msg": "OK",
"data": {
"title": "Inception",
"path": "/m/inception",
"url": "https://www.rottentomatoes.com/m/inception",
"media_type": "Movie",
"critics_score": { "score_percent": "87%" },
"audience_score": { "score_percent": "91%" },
"public_page_derived": true
}
}
TV funciona igual pero como una jerarquía serie/temporada/episodio — /rottentomatoes/series para el show, /rottentomatoes/season para una temporada, /rottentomatoes/episode para un episodio individual:
series = requests.get(f"{base}/series", headers=h, params={"path": "/tv/breaking_bad"}).json()["data"]
season = requests.get(f"{base}/season", headers=h, params={"path": "/tv/breaking_bad/s01"}).json()["data"]
episode = requests.get(f"{base}/episode", headers=h, params={"path": "/tv/breaking_bad/s01/e01"}).json()["data"]
{
"code": 200,
"msg": "OK",
"data": {
"title": "Breaking Bad",
"path": "/tv/breaking_bad",
"url": "https://www.rottentomatoes.com/tv/breaking_bad",
"media_type": "TvSeries",
"number_of_seasons": 5,
"critics_score": { "score_percent": "96%" },
"audience_score": { "score_percent": "97%" },
"public_page_derived": true
}
}
/rottentomatoes/person devuelve la filmografía de un miembro del cast/crew con los scores de crítica por título; /rottentomatoes/browse/movies y /rottentomatoes/browse/tv devuelven listas curadas (películas en cartelera, mejores series de TV y similares) filtrables por sort y limit. Guarda una fila por título (o por reseña) y vuelve a ejecutar las extracciones de search y browse según un calendario.
Qué puedes recopilar
Búsqueda de título (título, path, url, año de estreno, score y sentimiento del Tomatometer); detalle de película, serie, temporada y episodio (Tomatometer y Audience Score como objetos de porcentaje separados, tipo de medio, conteo de temporadas/episodios, referencias a la serie y temporada padre, fechas de emisión); fragmentos de reseñas de crítica y audiencia por título (nombre visible y extracto de la reseña, paginado por cursor); detalle de persona (nombre, fecha de nacimiento, lugar de nacimiento, título mejor valorado y filmografía con scores de crítica por título); y listas curadas para películas en cartelera y mejores series de TV. Solo datos públicos agregados y de reseñas.
Limitaciones
- Los ToS más estrictos de esta serie hasta ahora. Fandango nombra explícitamente robots, spiders, crawlers y software de extracción de datos, y por separado prohíbe el uso para entrenamiento de IA/ML — acota cualquier proyecto a scores agregados y una muestra de reseñas limitada y atribuida, y persigue acceso licenciado para cualquier cosa a escala.
- No hay API oficial gratuita, y ambas vías licenciadas son de pago y sujetas a aprobación. La propia Developer Network de Fandango supuestamente empieza en torno a los 60.000 $/año con hasta 60 días de revisión; la alternativa B2B de Fabric Origin también requiere una suscripción de pago y aprobación de cuenta.
- Sin fallback limpio de JSON-LD. Los scores se renderizan desde el estado de componentes del lado cliente en lugar de un bloque de datos estructurados, así que el parsing DIY implica o bien un navegador headless o hacer ingeniería inversa de un payload no documentado.
- Las reseñas se paginan tras un cursor. Una muestra completa de reseñas para un título necesita llamadas repetidas siguiendo
page_info.end_cursor, no una sola carga de página. - La identidad del reseñador es atribuible. Los fragmentos de reseñas de crítica y audiencia están vinculados a un reseñador con nombre — trata la recopilación de reseñas bajo la misma óptica de datos personales que cualquier otro scraping de reseñas con nombre, y evita republicar el texto completo de las reseñas de forma masiva.
Dónde se usa esto
- Investigación de recepción — comparar el Tomatometer con el Audience Score para estudiar la divergencia entre crítica y audiencia entre géneros o ventanas de estreno.
- Señales de calidad de catálogo — asociar un score de confianza a un título antes de destacarlo o licenciarlo en un producto de streaming o descubrimiento.
- Seguimiento de estudios y estrenos — seguir cómo puntúan los nuevos estrenos a medida que llegan a cartelera o a la TV.
- Enriquecimiento multi-fuente — combinar el sistema de dos scores de Rotten Tomatoes con los metadatos de catálogo de TMDB o los scores de crítica/usuario de Metacritic en un mismo pipeline.
Fuentes
Empieza a recopilar
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 necesidad de registro.
Prueba los endpoints de search, movie, series y person en el Playground, revisa el esquema en los API docs, y consulta el pricing. Rotten Tomatoes te dice cómo puntuaron un título la crítica y la audiencia; TMDB aporta metadatos de catálogo limpios y artwork, y Metacritic añade un segundo sistema de puntuación de crítica/usuario para comparar — combina cualquiera de los dos para obtener una imagen de recepción más completa que la que da una sola fuente. Para ver si la recepción se correlacionó con la recaudación, how to scrape Box Office Mojo añade los datos de recaudación y taquilla que los scores de crítica no cubren. Ver también how to choose a web scraping API y is web scraping legal.
Parte de nuestra serie de guías how-to-scrape — todas las plataformas que cubrimos, en un solo índice.
Preguntas frecuentes
¿Rotten Tomatoes tiene una API pública?
Rotten Tomatoes opera una Fandango Developer Network, pero no es de autoservicio ni gratuita. Los nuevos solicitantes envían una propuesta describiendo el uso previsto, la revisión puede tardar hasta 60 días, y la licencia supuestamente empieza en torno a los 60.000 $/año para acceso a scores y fragmentos de reseñas.
¿Es legal scrapear Rotten Tomatoes?
Los Terms of Use de Fandango prohíben explícitamente robots, spiders, crawlers y software de extracción de datos, y por separado prohíben usar el contenido de Rotten Tomatoes para entrenar un modelo de IA/ML. La recopilación automatizada fuera de la API licenciada o de la API B2B de Fabric Origin implica un riesgo real respecto a los Terms of Use — es una de las plataformas más estrictas de esta serie.
¿Qué datos puedes obtener de Rotten Tomatoes?
Resultados de búsqueda de títulos, detalle de película/serie/temporada/episodio con Tomatometer y Audience Score, fragmentos de reseñas de crítica y audiencia, filmografías de cast y crew con scores por título, y listas curadas como películas en cartelera o las mejores series de TV.
¿Cuál es la diferencia entre el Tomatometer y el Audience Score?
El Tomatometer es el porcentaje de reseñas de críticos profesionales que son positivas (un score de consenso de la crítica). El Audience Score es el porcentaje de compradores de entradas verificados o usuarios registrados que valoraron positivamente un título. Ambos suelen divergir, por lo que compararlos es uno de los usos más habituales de los datos de Rotten Tomatoes.
¿Hay una alternativa gratuita a la API oficial de Rotten Tomatoes?
No hay un plan oficial gratuito. Fabric Origin licencia una API B2B de Rotten Tomatoes de pago y sujeta a aprobación, que cubre películas, shows, temporadas y episodios, como alternativa a solicitar directamente a Fandango, pero también requiere suscripción y aprobación de cuenta.
¿Cómo obtienes datos de Rotten Tomatoes para una serie de TV, no solo una película?
Rotten Tomatoes estructura la TV como una jerarquía serie/temporada/episodio. Un endpoint de serie devuelve el Tomatometer y el Audience Score a nivel de show más el número de temporadas; un endpoint de temporada devuelve los scores de esa temporada; un endpoint de episodio devuelve el detalle por episodio, incluida la fecha de emisión y la referencia a la serie y temporada padre.
¿Puedes obtener reseñas individuales de crítica y audiencia, no solo el score agregado?
Sí — los fragmentos de reseñas están disponibles por título, separados por tipo de crítica y audiencia, y se paginan tras un cursor. Como el texto de la reseña está vinculado a un reseñador con nombre, trata la recopilación como una muestra limitada y atribuida, no como una republicación masiva.