Tony Wang6 min de lecturaCómo scrapear Box Office Mojo en 2026 (API y Python)
Box Office Mojo no tiene API pública. Obtén recaudaciones, charts de fin de semana y datos de franquicias vía scraping DIY, licencia o API.
La respuesta honesta por delante: Box Office Mojo no ofrece una API pública a la que puedas registrarte. Es propiedad de IMDb, que a su vez es propiedad de Amazon, y la única vía oficial a sus cifras de taquilla es una licencia de datos empresarial vendida a través de AWS Data Exchange — no algo que un desarrollador solo pida en un fin de semana. Esta guía cubre cómo es en realidad el scraping DIY, cuánto cuesta la vía licenciada, y una API estructurada que devuelve las recaudaciones, charts y rollups de franquicias de Box Office Mojo como JSON normalizado.
¿Por qué scrapear datos de Box Office Mojo?
Box Office Mojo es la fuente de referencia a la que recurren la mayoría de las herramientas de cine/TV y finanzas cuando la pregunta es "cuánto dinero recaudó esto", lo que alimenta:
- Investigación de tendencias de taquilla — hacer seguimiento de cómo rinde un título, género o ventana de estreno frente a los estándares históricos.
- Análisis de rendimiento de franquicias y estudios — agregar recaudaciones de por vida por franquicia, marca (estudio/productora) o género.
- Seguimiento de charts de fin de semana — seguir el top 10 nacional del fin de semana, la cuota de mercado por distribuidor y la precisión entre la estimación y el resultado real.
- Investigación de mercado y periodismo — citar recaudaciones verificadas en lugar de estimaciones sacadas de publicaciones sociales o comunicados de prensa.
- Pipelines de IA y analítica — alimentar un dataset normalizado de taquilla en un modelo de previsión o un dashboard de la industria de medios.
¿Es legal scrapear Box Office Mojo?
Opción 1: DIY en Python (y por qué falla)
Las páginas de Box Office Mojo siguen siendo en gran parte tablas HTML renderizadas en el servidor, así que un scraper DIY parsea filas del markup:
import requests
from bs4 import BeautifulSoup
resp = requests.get(
"https://www.boxofficemojo.com/year/2025/",
headers={"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"},
)
soup = BeautifulSoup(resp.text, "html.parser")
rows = soup.select("table tr")
# Rank, release title, and gross figures live in <td> cells with
# formatted currency strings ("$423,778,855") you have to re-parse to int
Funciona como demo y luego falla:
- Las Condiciones de Uso nombran esta actividad directamente. A diferencia de sitios que solo restringen una función tras login, los términos de Box Office Mojo prohíben explícitamente el data mining y el screen scraping — un riesgo real, no teórico.
- Anti-bot a nivel de Amazon. Box Office Mojo está detrás de la misma infraestructura que IMDb; los clientes ingenuos y las IPs de datacenter se topan rápido con rate-limiting o bloqueos.
- Números formateados, no en bruto. Cada cifra de recaudación se renderiza como un string de moneda (
$423,778,855) dentro de una celda de tabla — tienes que re-parsearlo tú mismo a entero, y la estructura de la tabla cambia entre las plantillas de fin de semana, año y detalle de título. - Todo pagina o se ramifica por separado. Los rollups de franquicia, marca, género y showdown viven cada uno en su propia página, y el historial completo de estrenos de un título ocupa una subpágina de grupo de estreno aparte.
Opción 2: Herramientas sin código / listas para usar
Existen actores de scraping de marketplace para las páginas públicas de Box Office Mojo y pueden producir una exportación CSV puntual para un informe o una hoja de cálculo. Cargan con la misma exposición a las Condiciones de Uso que el scraping DIY, no te resuelven el problema de "string de moneda a entero" y son incómodos de ejecutar de forma recurrente junto a otras plataformas.
Opción 3: Una API estructurada de Box Office Mojo
Si quieres las recaudaciones de Box Office Mojo como JSON limpio y tipado — con los strings de moneda ya parseados a números —, una Box Office Mojo API te da eso. Empieza con el chart doméstico de un año, sin necesitar id:
curl "https://api.crawlora.net/api/v1/boxofficemojo/year/domestic?year=2025" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"year": 2025,
"grosses_option": "calendar_grosses",
"results": [
{ "rank": 1, "release": "Lilo & Stitch", "gross_raw": "$423,778,855" }
],
"public_page_derived": true
}
}
Luego obtén el detalle de un título, un chart de fin de semana, la lista histórica de por vida y un rollup de franquicia en Python — los títulos usan el mismo id con prefijo tt que IMDb:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/boxofficemojo"
title = requests.get(f"{base}/title", headers=h, params={"id": "tt0499549"}).json()["data"]
weekend = requests.get(f"{base}/weekend/domestic", headers=h, params={"year": 2025, "week": 52}).json()["data"]
lifetime = requests.get(f"{base}/lifetime-grosses", headers=h, params={"area": "worldwide"}).json()["data"]
franchise = requests.get(f"{base}/franchise", headers=h, params={"id": "fr541495045"}).json()["data"]
El detalle de título agrupa cada estreno y reestreno en cines bajo un mismo registro (campos reales — revisa la documentación):
{
"code": 200,
"msg": "OK",
"data": {
"title": "Avatar",
"title_id": "tt0499549",
"release_groups": [
{ "name": "Original Release", "markets": "77 markets", "worldwide": 2743577587, "worldwide_raw": "$2,743,577,587" }
],
"public_page_derived": true
}
}
Un chart de fin de semana devuelve los estrenos mejor clasificados de ese año y semana ISO:
{
"code": 200,
"msg": "OK",
"data": {
"year": 2025,
"week": 52,
"results": [
{ "rank": 1, "release": "Avatar: Fire and Ash", "gross_raw": "$63,087,667" }
],
"public_page_derived": true
}
}
Los rollups de franquicia (/boxofficemojo/franchise) y de marca (/boxofficemojo/brand) devuelven todos los estrenos bajo esa agrupación con un summary.movie_count y summary.top_release; /boxofficemojo/franchises, /brands y /genres listan cada agrupación e id disponibles para profundizar. /boxofficemojo/calendar y /calendar/date cubren la programación de próximos estrenos, /weekend/domestic/estimates compara las estimaciones del viernes con los resultados reales del domingo, y /date/domestic y /showdown cubren recaudaciones diarias y comparaciones franquicia contra franquicia. Guarda una fila por estreno (o por fin de semana) y vuelve a ejecutarlo con un calendario.
Qué puedes recolectar
Cifras públicas de taquilla: charts nacionales y mundiales anuales; charts nacionales de fin de semana (clasificados, por distribuidor y estimación vs. real); recaudaciones diarias nacionales por fecha; detalle de título con cada grupo de estreno y desglose por mercado; rankings históricos de recaudación de por vida (nacional, internacional o mundial); rollups de franquicia, marca (estudio) y género con conteo de películas y totales de por vida; programación del calendario de estrenos e historial de cambios; y comparaciones showdown (franquicia contra franquicia).
Limitaciones
- Las Condiciones de Uso son explícitas y se aplican. Limita cualquier proyecto a cifras públicas de referencia, nunca republiques contenido masivamente en otro lugar de la web, y consigue permiso por escrito para uso comercial a gran escala.
- No hay nivel de API de autoservicio. La única vía comercial oficial es la licencia empresarial de IMDb vía AWS Data Exchange — no hay un equivalente a la clave gratuita de TMDB ni a los datasets TSV no comerciales de IMDb específicamente para Box Office Mojo.
- Strings de moneda, no números en bruto, en la página. Cada recaudación se renderiza como texto formateado; parsearlo tú mismo implica manejar comas, signos de dólar y el ocasional "N/A" para cifras no estrenadas o no reportadas.
- Los ids no son todos uniformes. Los títulos reutilizan el id
ttde IMDb, pero franquicias, marcas, géneros, showdowns y estrenos usan cada uno su propio id con prefijo, que descubres primero desde el endpoint de lista correspondiente. - Solo datos públicos. Esto recolecta las mismas recaudaciones que Box Office Mojo ya publica en sus páginas públicas — nunca una forma de eludir sus términos de licencia ni de reconstruir la base de datos completa.
Dónde se usa esto
- Dashboards de analítica de taquilla — seguir el rendimiento de fin de semana y las tendencias interanuales.
- Scorecards de franquicias y estudios — comparar recaudaciones de por vida a lo largo del historial completo de estrenos de un estudio o franquicia.
- Periodismo de medios y finanzas — citar recaudaciones verificadas en lugar de estimaciones.
- Investigación de recepción entre plataformas — combinar el rendimiento de taquilla con los datos de valoración de TMDB o IMDb, o las puntuaciones de crítica de Rotten Tomatoes, para ver cómo se correlacionan realmente el dinero y la recepción.
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 año, fin de semana y título en el Playground, revisa el esquema en la documentación de la API y consulta los precios. Box Office Mojo te dice cuánto recaudó realmente un título; TMDB añade metadatos de catálogo y reparto, y Rotten Tomatoes añade puntuaciones de crítica y público — combina las recaudaciones con los datos de recepción en lugar de confiar en una sola fuente. Consulta también how to choose a web scraping API e 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
¿Tiene Box Office Mojo una API pública?
No. Box Office Mojo no ofrece una API de autoservicio para desarrolladores. El sitio forma parte de IMDb desde 2008, y la única vía comercial oficial de acceso a datos es la licencia empresarial de IMDb vía AWS Data Exchange ("IMDb and Box Office Mojo for Movies/TV/OTT"), con precios y alcance pensados para compradores empresariales, no para desarrolladores individuales.
¿Es legal scrapear Box Office Mojo?
Las Condiciones de Uso de Box Office Mojo prohíben explícitamente el data mining, los robots y el screen scraping sin consentimiento por escrito, y su robots.txt bloquea a todos los crawlers salvo una allowlist nombrada. Limita cualquier recolección a cifras públicas de referencia, evita republicar contenido en otro lugar, y consigue permiso por escrito para uso a gran escala o comercial. Esto no es asesoría legal.
¿Cómo encuentro el id de Box Office Mojo de un título?
Los títulos usan el mismo id con prefijo tt que IMDb (por ejemplo tt0499549 para Avatar), así que puedes resolver un título primero con la búsqueda de IMDb y reutilizar ese id directamente en el endpoint de título de Box Office Mojo. Franquicias, marcas (estudios), géneros y showdowns usan cada uno sus propios ids con prefijo, que descubres a través del endpoint de lista correspondiente (franchises, brands, genres, showdowns).
¿Qué datos de taquilla puedo recolectar realmente?
Charts nacionales y mundiales anuales, charts nacionales de fin de semana (clasificados, por distribuidor y estimación vs. real), recaudaciones diarias por fecha, detalle completo de título con desglose por mercado y grupo de estreno, rankings históricos de recaudación de por vida, rollups de franquicia/marca/género con conteo de películas y totales de por vida, programación del calendario de estrenos y comparaciones showdown franquicia contra franquicia.
¿Por qué Box Office Mojo muestra las recaudaciones como strings de moneda formateados?
El sitio público renderiza cada cifra de recaudación como texto de visualización (por ejemplo "$423,778,855") dentro de una celda de tabla en lugar de un número en bruto, así que un scraper DIY tiene que quitar las comas y los signos de dólar él mismo y re-parsear cada cifra a entero — además de manejar el ocasional "N/A" para recaudaciones no estrenadas o no reportadas.
¿En qué se diferencia Box Office Mojo de IMDb o TMDB para scraping?
IMDb y TMDB cubren principalmente metadatos de catálogo, reparto/equipo técnico y valoraciones. Box Office Mojo se especializa en datos de rendimiento financiero — recaudaciones, charts de fin de semana y rollups de franquicia/estudio — no reseñas ni puntuaciones por estrellas. Combinar las cifras de Box Office Mojo con los datos de catálogo y valoración de IMDb o TMDB da una imagen más completa de cuánto ganó un título frente a cómo fue recibido.
¿Puedo usar una API estructurada en lugar de scrapear Box Office Mojo yo mismo?
Sí. Una API estructurada de Box Office Mojo devuelve las recaudaciones, charts de fin de semana y rollups de franquicia/marca/género del sitio como JSON normalizado, con los números de moneda ya parseados — te ahorras el trabajo de parsing y la exposición a las Condiciones de Uso que implica scrapear el HTML directamente.