Box Office Mojo API endpoint
Returns rows from Box Office Mojo's domestic weekend chart. Empty upstream weekend pages return a typed not-found error rather than an empty success.
/boxofficemojo/weekend/domesticQuery parameters:
year - Required domestic weekend year, from 1982 through 2100.week - Required weekend number, from 1 through 53.Notable response behavior:
| Field | Filled in, of 48 checked | Values in the sample |
|---|---|---|
| rank | 48 | 1 to 48, median 24 |
| last_week_rank | 40 | 1 to 55, median 22 |
| release | 48 | “Avatar: Fire and Ash” and 47 other values |
| release_id | 48 | |
| release_path | 48 | “/release/rl3389031937/” and 47 other values |
| release_url | 48 | boxofficemojo.com |
| gross | 48 | 81 to 63,087,667, median 34,164 |
| gross_raw | 48 | “$63,087,667” and 47 other values |
| change_percent | 39 | -0.97 to 6.41, median -0.42 |
| theaters | 48 | 1 to 3,800, median 14 |
| average | 48 | 68 to 25,588, median 1,420 |
| average_raw | 48 | “$16,602” and 46 other values |
| total_gross | 48 | 11,813 to 331,684,695, median 1,437,834 |
| total_gross_raw | 48 | “$216,914,790” and 47 other values |
| weeks | 48 | 1 to 101, median 5 |
| distributor | 48 | “20th Century Studios” and 26 other values |
| new_this_week | 48 | true in 7 of 48 |
| estimated | 48 | true in 2 of 48 |
| theater_change | 35 | -2,183 to 2,662, median -7 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| year | integer | Yes | Domestic weekend year, from 1982 through 2100 | 2025 | |
| week | integer | Yes | Weekend number, 1 through 53 | 52 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/boxofficemojo/weekend/domestic?year=2025&week=52" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"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
}
}Request schema
No body schema
Response schema
#/definitions/boxofficemojo.domesticWeekendResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | boxofficemojo.DomesticWeekendResponse | No | ||||
| data.date_range | string | No | December 26-28, 2025 | Weekend dates, for example `December 26-28, 2025`. | ||
| data.fetched_at | string | No | 2026-06-07T14:46:16Z | Time the data was fetched, in UTC (RFC 3339). | ||
| data.public_page_derived | boolean | No | true | Always `true`; the values come from Box Office Mojo's public pages. | ||
| data.results | array | No | Rows of the domestic weekend chart, one per release, in chart order. | |||
| data.results[].average | integer | No | 16602 | Average weekend gross per theater, in US dollars. | ||
| data.results[].average_raw | string | No | $16,602 | Average weekend gross per theater, as Box Office Mojo displays it, for example `$16,602`. | ||
| data.results[].change_percent | number | No | -0.292 | Change in weekend gross from the previous weekend, as a fraction (-0.292 is -29.2%). | ||
| data.results[].distributor | string | No | 20th Century Studios | Studio or distributor handling the release. | ||
| data.results[].estimated | boolean | No | false | `true` when Box Office Mojo flags the weekend figures as estimates. | ||
| data.results[].gross | integer | No | 63087667 | Gross for the weekend, in US dollars. | ||
| data.results[].gross_raw | string | No | $63,087,667 | Weekend gross, as Box Office Mojo displays it, for example `$63,087,667`. | ||
| data.results[].last_week_rank | integer | No | 1 | Position on the previous weekend's chart. | ||
| data.results[].new_this_week | boolean | No | false | `true` when the release is new on the chart this weekend. | ||
| data.results[].rank | integer | No | 1 | Position on this weekend's chart. | ||
| data.results[].release | string | No | Avatar: Fire and Ash | Release name as shown on the weekend chart. | ||
| data.results[].release_id | string | No | rl3389031937 | Live weekend charts typically link /release/rl…/ rather than /title/tt…. | ||
| data.results[].release_path | string | No | /release/rl3389031937/ | Path of the release page on Box Office Mojo, for example `/release/rl3389031937/`. | ||
| data.results[].release_url | string | No | https://www.boxofficemojo.com/release/rl3389031937/ | Full URL of the release page on Box Office Mojo. | ||
| data.results[].theater_change | integer | No | 0 | Change in theater count from the previous weekend. | ||
| data.results[].theaters | integer | No | 3800 | Number of theaters showing the release that weekend. | ||
| data.results[].title_id | string | No | tt1757678 | Title id of the film, starting with `tt`, when the chart links to a title page. | ||
| data.results[].title_path | string | No | /title/tt1757678/ | Path of the title page on Box Office Mojo, when the chart links to one. | ||
| data.results[].title_url | string | No | https://www.boxofficemojo.com/title/tt1757678/ | Full URL of the title page on Box Office Mojo, when the chart links to one. | ||
| data.results[].total_gross | integer | No | 216914790 | Domestic gross of the release to date, in US dollars. | ||
| data.results[].total_gross_raw | string | No | $216,914,790 | Domestic gross to date, as Box Office Mojo displays it, for example `$216,914,790`. | ||
| data.results[].weeks | integer | No | 2 | Number of weeks the release has been in theaters. | ||
| data.source_url | string | No | https://www.boxofficemojo.com/weekend/2025W52/ | URL of the Box Office Mojo page the data was read from. | ||
| data.week | integer | No | 52 | Week number of the requested weekend within the year. | ||
| data.year | integer | No | 2025 | Year of the requested weekend. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/boxofficemojo/weekend/domestic?year=2025&week=52" \
-H "x-api-key: $CRAWLORA_API_KEY"