# Box Office Mojo API

> Box Office Mojo returns movie grosses, release details, and box office rankings as a workflow and API.

Get weekend box office returns market rankings by date; List top grossing movies ranks annual leaders by year and scope. Get movie box office returns a movie’s totals, release details, and market breakdowns; enter a title and optionally a year. Get daily box office returns domestic US and Canada rankings; enter a date or leave it blank for the latest reported day.

- Page: https://fous.com/tools/box-office-mojo
- Handle: `@box-office-mojo`
- Category: [Entertainment](https://fous.com/tools/category/entertainment)
- Source website: https://boxofficemojo.com
- Last verified: Sep 30, 2026

## Methods

### Get daily box office

Operation `get_daily_box_office`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get domestic US and Canada daily box office rankings for a date, or the latest reported day when no date is given. Unreported dates fail with the latest available date.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `date` | string | no | `"2025-06-13"` | Domestic box office date, such as 2025-06-13. Leave blank for the latest reported day. |
| `max_results` | integer | no | `3` | Maximum ranked movies to return, such as 20 (default 50, maximum 100). |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "format": "date",
      "description": "Domestic box office date, such as 2025-06-13. Leave blank for the latest reported day.",
      "examples": [
        "2025-06-13"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum ranked movies to return, such as 20 (default 50, maximum 100).",
      "x-fous-developer": true,
      "examples": [
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "date": "2025-06-13",
      "max_results": 3
    },
    {}
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `date` | string | `"2025-06-13"` | Reported box office date. |
| `results` | array |  | Daily releases in rank order. |
| `results[].rank` | integer | `1` | Rank for the day. |
| `results[].title` | string | `"How to Train Your Dragon"` | Movie release title. |
| `results[].theaters` | integer or null | `4356` | Number of theaters, if available. |
| `results[].distributor` | string or null | `"Universal Pictures"` | Distributor, if listed. |
| `results[].currency_code` | string | `"USD"` | Currency of all monetary amounts (USD). |
| `results[].daily_gross_usd` | number or null | `35349740` | Gross earned on this date in US dollars. |
| `results[].days_in_release` | integer or null | `1` | Days since release, if available. |
| `results[].previous_day_rank` | integer or null | `1` | Rank on the preceding day, or null for a new release. |
| `results[].box_office_mojo_link` | string | `"https://www.boxofficemojo.com/release/rl1921090305/"` | Box Office Mojo page for this release. |
| `results[].average_per_theater_usd` | number or null | `8115` | Daily gross per theater in US dollars, if available. |
| `results[].total_gross_to_date_usd` | number or null | `35349740` | Total domestic gross to date in US dollars, if available. |
| `results[].change_from_previous_day_percent` | number or null | `66.2` | Percentage change from the previous day; null if unavailable. |
| `results[].change_from_same_day_last_week_percent` | number or null | `-49.3` | Percentage change from the same day last week; null if unavailable. |

**Example input**

```json
{
  "date": "2025-06-13",
  "max_results": 3
}
```

**Example output**

```json
{
  "date": "2025-06-13",
  "results": [
    {
      "rank": 1,
      "title": "How to Train Your Dragon",
      "theaters": 4356,
      "distributor": "Universal Pictures",
      "currency_code": "USD",
      "daily_gross_usd": 35349740,
      "days_in_release": 1,
      "previous_day_rank": null,
      "box_office_mojo_link": "https://www.boxofficemojo.com/release/rl1921090305/",
      "average_per_theater_usd": 8115,
      "total_gross_to_date_usd": 35349740,
      "change_from_previous_day_percent": null,
      "change_from_same_day_last_week_percent": null
    },
    {
      "rank": 2,
      "title": "Materialists",
      "theaters": 2844,
      "distributor": "A24",
      "currency_code": "USD",
      "daily_gross_usd": 5116356,
      "days_in_release": 1,
      "previous_day_rank": null,
      "box_office_mojo_link": "https://www.boxofficemojo.com/release/rl3442638849/",
      "average_per_theater_usd": 1799,
      "total_gross_to_date_usd": 5116356,
      "change_from_previous_day_percent": null,
      "change_from_same_day_last_week_percent": null
    },
    {
      "rank": 3,
      "title": "Lilo & Stitch",
      "theaters": 3675,
      "distributor": "Walt Disney Studios Motion Pictures",
      "currency_code": "USD",
      "daily_gross_usd": 4755918,
      "days_in_release": 22,
      "previous_day_rank": 1,
      "box_office_mojo_link": "https://www.boxofficemojo.com/release/rl3104735233/",
      "average_per_theater_usd": 1294,
      "total_gross_to_date_usd": 355627727,
      "change_from_previous_day_percent": 66.2,
      "change_from_same_day_last_week_percent": -49.3
    }
  ]
}
```

### Get movie box office

Operation `get_movie_box_office`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get a movie’s box office totals, release details, theater counts, and markets by title. A year can distinguish movies with the same name; figures or dates absent from the listing are null.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `year` | integer | no | `1976` | Release year to distinguish movies with the same title, for example 2024. |
| `title` | string | yes | `"King Kong"` | Movie name, for example Inside Out 2. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "title"
  ],
  "properties": {
    "year": {
      "type": "integer",
      "description": "Release year to distinguish movies with the same title, for example 2024.",
      "examples": [
        1976
      ]
    },
    "title": {
      "type": "string",
      "description": "Movie name, for example Inside Out 2.",
      "examples": [
        "King Kong",
        "Inside Out 2"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "year": 1976,
      "title": "King Kong"
    },
    {
      "title": "Inside Out 2"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `title` | string | `"King Kong"` |  |
| `budget` | any |  |  |
| `genres` | array |  |  |
| `markets` | array |  |  |
| `markets[].country` | string | `"United States and Canada"` |  |
| `markets[].total_gross` | any |  |  |
| `markets[].release_date` | string or null | `"1976-12-17"` |  |
| `markets[].opening_weekend_gross` | any |  |  |
| `age_rating` | string or null | `"PG"` |  |
| `distributor` | string or null | `"Paramount Pictures"` |  |
| `release_date` | string or null | `"1976-12-17"` |  |
| `running_time` | string or null | `"2 hr 14 min"` |  |
| `imdb_title_id` | string | `"tt0074751"` |  |
| `domestic_gross` | any |  |  |
| `worldwide_gross` | any |  |  |
| `opening_theaters` | integer or null | `974` |  |
| `international_gross` | any |  |  |
| `box_office_mojo_link` | string | `"https://www.boxofficemojo.com/title/tt0074751/"` |  |
| `opening_weekend_gross` | any |  |  |
| `widest_release_theaters` | integer or null | `974` |  |

**Example input**

```json
{
  "year": 1976,
  "title": "King Kong"
}
```

**Example output**

```json
{
  "title": "King Kong",
  "budget": {
    "amount": 24000000,
    "currency": "USD"
  },
  "genres": [
    "Adventure",
    "Horror"
  ],
  "markets": [
    {
      "country": "United States and Canada",
      "total_gross": {
        "amount": 52614445,
        "currency": "USD"
      },
      "release_date": "1976-12-17",
      "opening_weekend_gross": {
        "amount": 7023921,
        "currency": "USD"
      }
    }
  ],
  "age_rating": null,
  "distributor": "Paramount Pictures",
  "release_date": "1976-12-17",
  "running_time": "2 hr 14 min",
  "imdb_title_id": "tt0074751",
  "domestic_gross": {
    "amount": 52614445,
    "currency": "USD"
  },
  "worldwide_gross": {
    "amount": 52614445,
    "currency": "USD"
  },
  "opening_theaters": 974,
  "international_gross": null,
  "box_office_mojo_link": "https://www.boxofficemojo.com/title/tt0074751/",
  "opening_weekend_gross": {
    "amount": 7023921,
    "currency": "USD"
  },
  "widest_release_theaters": 974
}
```

### Get weekend box office

Operation `get_weekend_box_office`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get ranked box office grosses for a weekend and market. Defaults to the latest reported weekend in the United States and Canada; international weekends can have different date ranges and some figures may be unavailable.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `date` | string | no | `"2025-07-25"` | Any day in the wanted weekend, for example 2025-07-25. |
| `country` | string | no | `"United States"` | Market name, for example United Kingdom. United States means the domestic US and Canada chart. |
| `max_results` | integer | no | `10` | Maximum number of ranked releases to return, for example 10. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "format": "date",
      "description": "Any day in the wanted weekend, for example 2025-07-25.",
      "examples": [
        "2025-07-25",
        "2026-09-26"
      ]
    },
    "country": {
      "type": "string",
      "default": "United States",
      "description": "Market name, for example United Kingdom. United States means the domestic US and Canada chart.",
      "examples": [
        "United States",
        "United Kingdom",
        "Japan"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of ranked releases to return, for example 10.",
      "x-fous-developer": true,
      "examples": [
        10,
        3,
        5
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "date": "2025-07-25",
      "country": "United States",
      "max_results": 10
    },
    {
      "date": "2026-09-26",
      "country": "United Kingdom",
      "max_results": 3
    },
    {}
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `results` | array |  |  |
| `results[].rank` | integer | `1` |  |
| `results[].title` | string | `"The Fantastic Four: First Steps"` |  |
| `results[].theaters` | integer or null | `4125` |  |
| `results[].distributor` | string or null | `"Walt Disney Studios Motion Pictures"` |  |
| `results[].currency_code` | string | `"USD"` |  |
| `results[].weekend_gross` | number or null | `117644828` |  |
| `results[].weeks_in_release` | integer or null | `1` |  |
| `results[].last_weekend_rank` | integer or null | `1` |  |
| `results[].average_per_theater` | number or null | `28519` |  |
| `results[].total_gross_to_date` | number or null | `117644828` |  |
| `results[].box_office_mojo_link` | string | `"https://www.boxofficemojo.com/release/rl2429649665/"` |  |
| `results[].change_from_last_weekend_percent` | number or null | `-57.5` |  |
| `weekend_end_date` | string | `"2025-07-27"` |  |
| `weekend_start_date` | string | `"2025-07-25"` |  |

**Example input**

```json
{
  "date": "2025-07-25",
  "country": "United States",
  "max_results": 10
}
```

**Example output**

```json
{
  "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"
}
```

### List top grossing movies

Operation `list_top_grossing_movies`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List the highest-grossing movies in a year, domestically or worldwide. Domestic grosses are for that calendar year. Worldwide release dates are domestic dates where listed, otherwise the earliest reported date; distributor means domestic distributor when available.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `year` | integer | no | `2025` | Calendar year to rank, such as 2025. |
| `scope` | string | no | `"domestic"` | Box office market to rank, such as worldwide. |
| `max_results` | integer | no | `5` | Maximum number of ranked movies to return, such as 25. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 1900,
      "description": "Calendar year to rank, such as 2025.",
      "examples": [
        2025,
        2024
      ]
    },
    "scope": {
      "enum": [
        "domestic",
        "worldwide"
      ],
      "type": "string",
      "default": "domestic",
      "description": "Box office market to rank, such as worldwide.",
      "examples": [
        "domestic",
        "worldwide"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 200,
      "minimum": 1,
      "description": "Maximum number of ranked movies to return, such as 25.",
      "x-fous-developer": true,
      "examples": [
        5,
        4,
        200
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "year": 2025,
      "scope": "domestic",
      "max_results": 5
    },
    {
      "year": 2025,
      "scope": "worldwide",
      "max_results": 4
    },
    {
      "year": 2024,
      "scope": "domestic",
      "max_results": 200
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `movies` | array |  |  |
| `movies[].link` | string | `"https://www.boxofficemojo.com/release/rl746096129/"` |  |
| `movies[].rank` | integer | `1` |  |
| `movies[].gross` | number or null | `423949195` |  |
| `movies[].title` | string | `"A Minecraft Movie"` |  |
| `movies[].currency` | string | `"USD"` |  |
| `movies[].distributor` | string or null | `"Warner Bros."` |  |
| `movies[].release_date` | string or null | `"2025-04-04"` |  |
| `movies[].domestic_gross` | number or null | `23308176` |  |
| `movies[].international_gross` | number or null | `2247392194` |  |
| `movies[].widest_release_theaters` | integer or null | `4289` |  |

**Example input**

```json
{
  "year": 2025,
  "scope": "domestic",
  "max_results": 5
}
```

**Example output**

```json
{
  "movies": [
    {
      "link": "https://www.boxofficemojo.com/release/rl746096129/",
      "rank": 1,
      "gross": 423949195,
      "title": "A Minecraft Movie",
      "currency": "USD",
      "distributor": "Warner Bros.",
      "release_date": "2025-04-04",
      "domestic_gross": null,
      "international_gross": null,
      "widest_release_theaters": 4289
    },
    {
      "link": "https://www.boxofficemojo.com/release/rl3104735233/",
      "rank": 2,
      "gross": 423778855,
      "title": "Lilo & Stitch",
      "currency": "USD",
      "distributor": "Walt Disney Studios Motion Pictures",
      "release_date": "2025-05-23",
      "domestic_gross": null,
      "international_gross": null,
      "widest_release_theaters": 4410
    },
    {
      "link": "https://www.boxofficemojo.com/release/rl1543340801/",
      "rank": 3,
      "gross": 354184465,
      "title": "Superman",
      "currency": "USD",
      "distributor": "Warner Bros.",
      "release_date": "2025-07-11",
      "domestic_gross": null,
      "international_gross": null,
      "widest_release_theaters": 4275
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@box-office-mojo",
  "visibility": "public",
  "operation": "get_daily_box_office",
  "version": 1,
  "input": {
    "date": "2025-06-13",
    "max_results": 3
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@box-office-mojo\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_daily_box_office\",\n  \"version\": 1,\n  \"input\": {\n    \"date\": \"2025-06-13\",\n    \"max_results\": 3\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@box-office-mojo",
  "visibility": "public",
  "operation": "get_daily_box_office",
  "version": 1,
  "input": {
    "date": "2025-06-13",
    "max_results": 3
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/box-office-mojo`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_daily_box_office`: Get daily box office. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_movie_box_office`: Get movie box office. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_weekend_box_office`: Get weekend box office. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_top_grossing_movies`: List top grossing movies. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-box-office-mojo https://api.fous.com/mcp/tools/box-office-mojo --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Compare weekend rankings across markets.
- Track a movie’s grosses and release details by market.
- Find the highest-grossing movies for a year.
- Review daily domestic rankings and changes.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Box Office Mojo tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Box Office Mojo account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from boxofficemojo.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 30, 2026.

### Which movies ranked highest at the weekend box office?

Get weekend box office returns ranked releases, weekend grosses, and related details for a selected or default weekend and market.

### How much has a movie grossed?

Get movie box office returns domestic, worldwide, and market-level totals for a movie title, with an optional year to distinguish titles.

### Which movies earned the most in a year?

List top grossing movies ranks movies by domestic or worldwide gross for a selected calendar year.

## Related

- [The Numbers API](https://fous.com/tools/the-numbers.md): Movie box office, home video sales, budgets, and release details.
- [IMDb API](https://fous.com/tools/imdb.md): IMDb returns movie, TV, person, episode, chart and Parents Guide details, including available weekly rank changes; missing details are null, and unaired or unrated episodes lack ratings.
- [TMDB API](https://fous.com/tools/tmdb.md): TMDB returns movie and TV details, cast, trailers, releases, viewing services, scheduled upcoming movies, and up to 20 homepage trending titles; future episode details depend on published schedules.
- [Letterboxd API](https://fous.com/tools/letterboxd.md): Letterboxd provides films with ratings, cast, location-dependent watch services and popular reviews, plus popularity-ranked lists by time period, genre and decade; some details may be unavailable.
- [Fandango API](https://fous.com/tools/fandango.md): Fandango provides nearby U.S. movie showtimes, formats, local times and ticket links; theater listings for selected dates when available; and movies now playing or coming soon with details when listed.
- [Rotten Tomatoes API](https://fous.com/tools/rotten-tomatoes.md): Rotten Tomatoes returns movie and TV details, scores, newest reviews, and listings for theaters, coming soon, or at home; series rating counts may be unavailable.
- [Netflix API](https://fous.com/tools/netflix.md): Netflix offers weekly global and country Top 10 rankings, all-time popularity rankings based on titles’ first 91 days, and title details with country availability that may lag.
- [FlixPatrol API](https://fous.com/tools/flixpatrol.md): FlixPatrol provides daily streaming rankings by service and country, plus current country rankings for titles; older dates and some daily-change or Top 10 duration figures are unavailable.
- [All Entertainment tools](https://fous.com/tools/category/entertainment)
