Box Office Mojo API: Get weekend box office chart
Returns ranked box office grosses for a weekend in a market. Defaults to the latest reported US and Canada weekend; international markets use their own weekend calendar.
Unofficial. Not affiliated with or endorsed by Box Office Mojo.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Date optional
date Any day in the wanted weekend, for example 2025-07-25. Omit for the latest reported weekend.
2025-07-25
- Country optional
country Market name, for example United Kingdom. United States means the domestic US and Canada chart.
United States
Default
United States.- Max Results optional
max_results Maximum number of ranked releases to return, for example 10.
10
Whole number from 1 to 100. Default
50.
Input as JSON
{ "date": "2025-07-25", "country": "United States", "max_results": 10}Output
{ "results": [ { "rank": 1, "title": "The Fantastic Four: First Steps", "theaters": 4125, "distributor": "Walt Disney Studios Motion Pictures", "currency_code": "USD", "weekend_gross": 117644828, "weeks_in_release": 1, "last_weekend_rank": null, "average_per_theater": 28519, "total_gross_to_date": 117644828, "box_office_mojo_link": "https://www.boxofficemojo.com/release/rl2429649665/" , "change_from_last_weekend_percent": null }, { "rank": 2, "title": "Superman", "theaters": 3930, "distributor": "Warner Bros.", "currency_code": "USD", "weekend_gross": 24851443, "weeks_in_release": 3, "last_weekend_rank": 1, "average_per_theater": 6323, "total_gross_to_date": 289493021, "box_office_mojo_link": "https://www.boxofficemojo.com/release/rl1543340801/" , "change_from_last_weekend_percent": -57.5 }, { "rank": 3, "title": "Jurassic World: Rebirth", "theaters": 3550, "distributor": "Universal Pictures", "currency_code": "USD", "weekend_gross": 13201795, "weeks_in_release": 4, "last_weekend_rank": 2, "average_per_theater": 3718, "total_gross_to_date": 301718235, "box_office_mojo_link": "https://www.boxofficemojo.com/release/rl3058794497/" , "change_from_last_weekend_percent": -44.3 } ], "weekend_end_date": "2025-07-27", "weekend_start_date": "2025-07-25"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"boxofficemojo.com/get_weekend_box_office","input":{"date":"2025-07-25","country":"United States","max_results":10}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "boxofficemojo.com/get_weekend_box_office" , "input": { "date": "2025-07-25", "country": "United States", "max_results": 10 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "boxofficemojo.com/get_weekend_box_office" , "input": { "date": "2025-07-25", "country": "United States", "max_results": 10 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run boxofficemojo.com/get_weekend_box_office# with {"date":"2025-07-25","country":"United States","max_results":10}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [], "properties": { "date": { "type": "string", "description": "Any day in the wanted weekend, for example 2025-07-25. Omit for the latest reported weekend." }, "country": { "type": "string", "default": "United States", "description": "Market name, for example United Kingdom. United States means the domestic US and Canada chart." }, "max_results": { "type": "integer", "default": 50, "maximum": 100, "minimum": 1, "description": "Maximum number of ranked releases to return, for example 10." } }}Output schema
{ "type": "object", "required": [ "weekend_start_date", "weekend_end_date", "results" ], "properties": { "results": { "type": "array", "items": { "type": "object", "required": [ "rank", "last_weekend_rank", "title", "weekend_gross", "currency_code", "change_from_last_weekend_percent", "theaters", "average_per_theater", "total_gross_to_date", "weeks_in_release", "distributor", "box_office_mojo_link" ], "properties": { "rank": { "type": "integer" }, "title": { "type": "string" }, "theaters": { "type": [ "integer", "null" ] }, "distributor": { "type": [ "string", "null" ] }, "currency_code": { "type": "string" }, "weekend_gross": { "type": [ "number", "null" ] }, "weeks_in_release": { "type": [ "integer", "null" ] }, "last_weekend_rank": { "type": [ "integer", "null" ] }, "average_per_theater": { "type": [ "number", "null" ] }, "total_gross_to_date": { "type": [ "number", "null" ] }, "box_office_mojo_link": { "type": "string" }, "change_from_last_weekend_percent": { "type": [ "number", "null" ] } }, "additionalProperties": false } }, "weekend_end_date": { "type": "string" }, "weekend_start_date": { "type": "string" } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
boxofficemojo.com/get_weekend_box_office- Returns
- ranked releases with weekend gross, change, theaters, averages, total gross, weeks and distributor
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method boxofficemojo.com/get_weekend_box_office with the inputs above.
Ask your agent
- What were the top 10 movies at the US box office last weekend, with their weekend grosses and theater counts?
- Show me the ranked box office chart for the weekend of 2025-07-25 in the United Kingdom.
- Which films led the domestic chart the weekend of July 4th 2025, and how much did each earn in total so far?
- On boxofficemojo, can you pull the Canada and US weekend rankings for August 8, 2025, including distributors?
- Give me the international box office standings for Japan for the most recent weekend, top 20 releases only.
See more
All Box Office Mojo methodsReturns the domestic US and Canada daily box office rankings for a date, or the latest reported day when no date is given.
boxofficemojo.com/get_daily_box_officeLists the highest-grossing movies of a calendar year, ranked by domestic or worldwide gross, with release dates and distributors.
boxofficemojo.com/list_top_grossing_moviesFinds a movie on Box Office Mojo by title, with an optional year, and returns its box office totals, release details, theater counts and markets.
boxofficemojo.com/get_movie_box_officeGets the ranked entries and chart history for a Billboard chart. It returns the latest published week, or the week that contains a given date. A date between published weeks selects the next published week.
billboard.com/get_chartLists titles in an IMDb movie or TV chart (Top 250 movies, Top 250 TV shows, most popular movies or TV shows) with ratings, votes, runtime, age rating and weekly rank movement for popularity charts. Popular charts contain up to 100 titles.
imdb.com/list_top_chartsLists titles on JustWatch's daily streaming chart for a country, optionally limited to one streaming service.
justwatch.com/list_streaming_chartsLists movies scheduled for theatrical release in a country over the coming three weeks, soonest first, from TMDB's country-specific release calendar, with genres, overview and user score.
themoviedb.org/list_upcoming_moviesGets Netflix's weekly Top 10 movies or TV shows worldwide (English or non-English lists, with views, hours viewed and runtime) or in one country (ranks and weeks in the Top 10 only) for the latest published week or the Monday-to-Sunday week containing a given date.
netflix.com/list_top_10