Tony Wang6 Min. LesezeitBox Office Mojo scrapen 2026 (API & Python)
Box Office Mojo hat keine öffentliche API. Hol Einspielergebnisse, Weekend-Charts und Franchise-Daten per DIY, Enterprise-Lizenz oder API.
Die ehrliche Antwort vorweg: Box Office Mojo bietet keine öffentliche API zum Registrieren. Die Seite gehört IMDb, das wiederum Amazon gehört, und der einzige offizielle Weg zu den Box-Office-Zahlen ist eine Enterprise-Datenlizenz, die über AWS Data Exchange verkauft wird — nichts, was du dir als Solo-Entwickler an einem Wochenende besorgst. Dieser Guide behandelt, wie DIY-Scraping tatsächlich aussieht, was der lizenzierte Weg kostet, und eine strukturierte API, die Box Office Mojos Einspielergebnisse, Charts und Franchise-Rollups als normalisiertes JSON zurückgibt.
Warum Box-Office-Mojo-Daten scrapen?
Box Office Mojo ist die Referenzquelle, zu der die meisten Film/TV- und Finance-Tools greifen, wenn die Frage lautet "wie viel Geld hat das eingespielt", was Folgendes speist:
- Box-Office-Trendrecherche — verfolgen, wie ein Title, ein Genre oder ein Release-Fenster im Vergleich zu historischen Normwerten performt.
- Franchise- und Studio-Performance-Analyse — Lifetime-Einspielergebnisse nach Franchise, Brand (Studio/Produktionsfirma) oder Genre aufrollen.
- Weekend-Chart-Tracking — die inländischen Top-10 des Wochenendes, Marktanteile nach Verleih und die Genauigkeit von Schätzung vs. tatsächlichem Ergebnis verfolgen.
- Marktforschung und Journalismus — verifizierte Einspielergebnisse zitieren statt Schätzungen aus Social Posts oder Pressemitteilungen.
- AI- und Analytics-Pipelines — ein normalisiertes Box-Office-Dataset in ein Forecasting-Modell oder ein Media-Industrie-Dashboard einspeisen.
Ist es legal, Box Office Mojo zu scrapen?
Option 1: DIY in Python (und warum es scheitert)
Box Office Mojos Seiten sind größtenteils noch serverseitig gerendertes HTML mit Tabellen, sodass ein DIY-Scraper Zeilen aus dem Markup parst:
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
Es demot und scheitert dann:
- Die Conditions of Use benennen diese Aktivität direkt. Anders als bei Seiten, die nur ein Login-geschütztes Feature einschränken, verbieten Box Office Mojos Bedingungen data mining und screen scraping ausdrücklich — echtes Risiko, keine theoretische Möglichkeit.
- Anti-Bot-Schutz auf Amazon-Niveau. Box Office Mojo läuft auf derselben Infrastruktur wie IMDb; naive Clients und Rechenzentrums-IPs werden schnell gedrosselt oder blockiert.
- Formatierte, keine rohen Zahlen. Jede Einspielsumme wird als Currency-String (
$423,778,855) innerhalb einer Tabellenzelle gerendert — die parst du selbst in eine Ganzzahl um, und die Tabellenstruktur ändert sich zwischen Weekend-, Jahres- und Title-Detail-Templates. - Alles paginiert oder verzweigt separat. Franchise-, Brand-, Genre- und Showdown-Rollups liegen jeweils auf eigenen Seiten, und die vollständige Release-Historie eines Titles erstreckt sich über eine separate Release-Group-Unterseite.
Option 2: No-Code-/Fertig-Tools
Marketplace-Scraper-Actors existieren für Box Office Mojos öffentliche Seiten und können einen einmaligen CSV-Export für einen Report oder eine Tabelle erzeugen. Sie tragen dieselbe Exposition gegenüber den Conditions of Use wie DIY-Scraping, lösen nicht das "Currency-String zu Ganzzahl"-Parsing-Problem für dich, und sind unhandlich, wenn du sie neben anderen Plattformen auf einem wiederkehrenden Zeitplan laufen lassen willst.
Option 3: Eine strukturierte Box-Office-Mojo-API
Wenn du Box Office Mojos Einspielergebnisse als sauberes, typisiertes JSON willst — mit den Currency-Strings bereits in Zahlen geparst —, liefert dir das eine Box Office Mojo API. Starte mit einem Jahres-Domestic-Chart, keine id erforderlich:
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
}
}
Hol dir dann Title-Detail, einen Weekend-Chart, die All-Time-Lifetime-Liste und ein Franchise-Rollup in Python — Titles nutzen dieselbe tt-Präfix-id wie 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"]
Title-Detail gruppiert jede Kino- und Wiederaufführung unter einem Record (echte Felder — prüf die docs):
{
"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
}
}
Ein Weekend-Chart gibt die gerankten Top-Releases für dieses Jahr und die ISO-Woche zurück:
{
"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
}
}
Franchise-Rollups (/boxofficemojo/franchise) und Brand-Rollups (/boxofficemojo/brand) geben jeden Release innerhalb dieser Gruppierung zurück, mit summary.movie_count und summary.top_release; /boxofficemojo/franchises, /brands und /genres listen jede verfügbare Gruppierung und id zum Reindrillen auf. /boxofficemojo/calendar und /calendar/date decken die anstehende Release-Planung ab, /weekend/domestic/estimates vergleicht Freitags-Schätzungen mit den Sonntags-Ist-Werten, und /date/domestic sowie /showdown decken tägliche Einspielergebnisse und direkte Franchise-Vergleiche ab. Speichere eine Zeile pro Release (oder pro Weekend) und lass es nach Zeitplan erneut laufen.
Was du sammeln kannst
Öffentliche Box-Office-Zahlen: jährliche Domestic- und Worldwide-Charts; wöchentliche Domestic-Charts (gerankt, nach Verleih und Schätzung-vs-Ist); tägliche Domestic-Einspielergebnisse nach Datum; Title-Detail mit jeder Release-Group und Marktaufschlüsselung; All-Time-Lifetime-Gross-Rankings (Domestic, International oder Worldwide); Franchise-, Brand- (Studio) und Genre-Rollups mit Filmanzahl und Lifetime-Summen; Release-Kalender-Planung und Änderungshistorie; sowie Showdown-Vergleiche (Franchise gegen Franchise).
Grenzen
- Die Conditions of Use sind explizit und werden durchgesetzt. Beschränke jedes Projekt auf öffentliche Referenzzahlen, republiziere Inhalte niemals in großem Umfang anderswo im Web, und hol dir schriftliche Erlaubnis für großangelegte kommerzielle Nutzung.
- Keine Self-Service-API-Stufe. Der einzige offizielle kommerzielle Weg ist IMDbs Enterprise-AWS-Data-Exchange-Lizenzierung — es gibt kein Äquivalent zu TMDBs kostenlosem Key oder IMDbs nicht-kommerziellen TSV-Datasets speziell für Box Office Mojo.
- Currency-Strings, keine rohen Zahlen, auf der Seite. Jede Einspielsumme wird als formatierter Text gerendert; das eigenständige Parsing bedeutet, Kommas, Dollarzeichen und gelegentliches "N/A" für unveröffentlichte oder nicht gemeldete Zahlen zu behandeln.
- Ids sind nicht alle einheitlich. Titles nutzen IMDbs
tt-id wieder, aber Franchises, Brands, Genres, Showdowns und Releases nutzen jeweils eine eigene präfixierte id, die du zuerst über den entsprechenden List-Endpoint entdeckst. - Nur öffentliche Daten. Das sammelt dieselben Einspielergebnisse, die Box Office Mojo bereits auf seinen öffentlichen Seiten publiziert — nie ein Weg um die Lizenzbedingungen herum oder einen Wiederaufbau der vollständigen Datenbank.
Wo das eingesetzt wird
- Box-Office-Analytics-Dashboards — Weekend-Performance und Year-over-Year-Trends verfolgen.
- Franchise- und Studio-Scorecards — Lifetime-Einspielergebnisse über die gesamte Release-Historie eines Studios oder einer Franchise vergleichen.
- Media- und Finance-Journalismus — verifizierte Einspielergebnisse statt Schätzungen zitieren.
- Plattformübergreifende Rezeptions-Recherche — Box-Office-Performance mit TMDB- oder IMDb-Bewertungsdaten oder Rotten-Tomatoes-Kritikerwertungen kombinieren, um zu sehen, wie Geld und Rezeption tatsächlich korrelieren.
Sources
Jetzt loslegen
Zuerst kostenlos ausprobieren: jag eine beliebige öffentliche URL durch den Free Web Scraper, oder prüf mit dem Anti-Bot Checker, ob eine Seite Bots blockiert — ohne Anmeldung.
Teste die Year-, Weekend- und Title-Endpoints im Playground, sieh dir das Schema in den API docs an und wirf einen Blick aufs pricing. Box Office Mojo sagt dir, was ein Title tatsächlich eingespielt hat; TMDB ergänzt Katalog- und Cast-Metadaten, und Rotten Tomatoes ergänzt Kritiker- und Publikumsbewertungen — kombiniere Einspielergebnisse mit Rezeptionsdaten, statt einer einzelnen Quelle zu vertrauen. Siehe auch how to choose a web scraping API und is web scraping legal.
Häufig gestellte Fragen
Hat Box Office Mojo eine öffentliche API?
Nein. Box Office Mojo bietet keine Self-Service-Entwickler-API. Die Seite ist seit 2008 Teil von IMDb, und der einzige offizielle kommerzielle Datenzugang ist IMDbs Enterprise-Lizenzierung über AWS Data Exchange ("IMDb and Box Office Mojo for Movies/TV/OTT"), die für Enterprise-Käufer bepreist und zugeschnitten ist, nicht für Solo-Entwickler.
Ist es legal, Box Office Mojo zu scrapen?
Box Office Mojos Conditions of Use verbieten data mining, robots und screen scraping ausdrücklich ohne schriftliche Zustimmung, und die robots.txt blockiert alle Crawler außer einer namentlich genannten Allowlist. Beschränke jede Sammlung auf öffentliche Referenzzahlen, vermeide die Weiterveröffentlichung von Inhalten anderswo, und hol dir schriftliche Erlaubnis für großangelegte oder kommerzielle Nutzung. Das ist keine Rechtsberatung.
Wie finde ich die Box-Office-Mojo-id eines Titles?
Titles nutzen dieselbe tt-Präfix-id wie IMDb (zum Beispiel tt0499549 für Avatar), sodass du einen Title zuerst über die IMDb-Suche auflösen und diese id direkt gegen Box Office Mojos Title-Endpoint wiederverwenden kannst. Franchises, Brands (Studios), Genres und Showdowns nutzen jeweils eigene präfixierte ids, die du über den entsprechenden List-Endpoint entdeckst (franchises, brands, genres, showdowns).
Welche Box-Office-Daten kann ich tatsächlich sammeln?
Jährliche Domestic- und Worldwide-Charts, wöchentliche Domestic-Charts (gerankt, nach Verleih und Schätzung-vs-Ist), tägliche Einspielergebnisse nach Datum, vollständiges Title-Detail mit Marktaufschlüsselung nach Release-Group, All-Time-Lifetime-Gross-Rankings, Franchise-/Brand-/Genre-Rollups mit Filmanzahl und Lifetime-Summen, Release-Kalender-Planung sowie Franchise-gegen-Franchise-Showdown-Vergleiche.
Warum zeigt Box Office Mojo Einspielergebnisse als formatierte Currency-Strings?
Die öffentliche Seite rendert jede Einspielsumme als Anzeigetext (zum Beispiel "$423,778,855") innerhalb einer Tabellenzelle statt als rohe Zahl, sodass ein DIY-Scraper Kommas und Dollarzeichen selbst entfernen und jede Zahl in eine Ganzzahl zurückparsen muss — und gelegentliches "N/A" für unveröffentlichte oder nicht gemeldete Einspielergebnisse behandeln muss.
Wie unterscheidet sich Box Office Mojo von IMDb oder TMDB fürs Scraping?
IMDb und TMDB decken primär Katalog-Metadaten, Cast/Crew und Bewertungen ab. Box Office Mojo sind speziell finanzielle Performance-Daten — Einspielergebnisse, Weekend-Charts und Franchise-/Studio-Rollups — keine Reviews oder Sternebewertungen. Box Office Mojos Zahlen mit IMDbs oder TMDBs Katalog- und Bewertungsdaten zu kombinieren, ergibt ein vollständigeres Bild davon, was ein Title verdient hat gegenüber wie er aufgenommen wurde.
Kann ich eine strukturierte API statt eigenem Box-Office-Mojo-Scraping nutzen?
Ja. Eine strukturierte Box-Office-Mojo-API gibt die Einspielergebnisse, Weekend-Charts und Franchise-/Brand-/Genre-Rollups der Seite als normalisiertes JSON zurück, mit Currency-Zahlen bereits in Zahlen geparst — das erspart dir den Parsing-Aufwand und die Exposition gegenüber den Conditions of Use beim direkten Scrapen des HTML.