Box Office Mojo API endpoint
Returns Box Office Mojo's genre chart, ranked, with each genre's `name`, `id`, `path`, `url`, release count and lifetime gross (an integer in `lifetime_gross`, the displayed text in `lifetime_gross_raw`). Reorder with `sort` (`totalGross`, `numTitles` or `grossToDate`) and `sortDir` (`asc` or `desc`); they are echoed back only when applied.
/boxofficemojo/genresReturns ranked genre rows from Box Office Mojo's public /genre/ page.
Query parameters:
sort (optional): totalGross, numTitles, grossToDatesortDir (optional): asc, descNotable response behavior: rows include genre id, path, absolute url, release count, and lifetime gross. sort/sort_dir are echoed in the response only when applied. Unusable upstream responses return an upstream error instead of 200 [].
| Field | Filled in, of 246 checked | Values in the sample |
|---|---|---|
| rank | 246 | 1 to 246, median 123 |
| name | 246 | “Supernatural” and 244 other values |
| id | 246 | |
| path | 246 | “/genre/sg3185570049/” and 245 other values |
| url | 246 | boxofficemojo.com |
| releases | 246 | 1 to 2,502, median 39 |
| lifetime_gross | 246 | 15,342,746 to 76,392,388,068, median 1,802,159,961 |
| lifetime_gross_raw | 246 | “$63,057,751,968” and 201 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| sort | string | No | Sort field Allowed values: totalGross, numTitles, grossToDate. | ||
| sortDir | string | No | Sort direction Allowed values: asc, desc. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/boxofficemojo/genres?sort=totalGross&sortDir=asc" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"kind": "genre",
"public_page_derived": true,
"results": [
{
"rank": 1,
"name": "Animation",
"id": "sg3621777665",
"path": "/genre/sg3621777665/",
"releases": 900,
"lifetime_gross": 80000000000
}
]
}
}Request schema
No body schema
Response schema
#/definitions/boxofficemojo.taxonomyListResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | boxofficemojo.TaxonomyListResponse | No | ||||
| data.fetched_at | string | No | 2026-06-07T14:46:16Z | Time the data was fetched, in UTC (RFC 3339). | ||
| data.kind | string | No | franchise | Type of group listed: `franchise`, `brand` or `genre`. | ||
| data.public_page_derived | boolean | No | true | Always `true`; the values come from Box Office Mojo's public pages. | ||
| data.results | array | No | Groups on the chart, one item per franchise, brand or genre. | |||
| data.results[].id | string | No | fr541495045 | Box Office Mojo id of the franchise, brand or genre. Use it with the matching detail endpoint. | ||
| data.results[].lifetime_gross | integer | No | 12345678901 | Lifetime gross of all releases in the group, in US dollars. | ||
| data.results[].lifetime_gross_raw | string | No | $12,345,678,901 | Lifetime gross of the group, as Box Office Mojo displays it, for example `$12,345,678,901`. | ||
| data.results[].name | string | No | Marvel Cinematic Universe | Name of the franchise, brand or genre. | ||
| data.results[].path | string | No | /franchise/fr541495045/ | Path of the group's page on Box Office Mojo, for example `/franchise/fr541495045/`. | ||
| data.results[].rank | integer | No | 1 | Position on the chart. | ||
| data.results[].releases | integer | No | 37 | Number of releases in the group (titles for genres). | ||
| data.results[].url | string | No | https://www.boxofficemojo.com/franchise/fr541495045/ | Full URL of the group's page on Box Office Mojo. | ||
| data.sort | string | No | grossToDate | Sort order applied: `totalGross`, `numReleases`, `numTitles` or `grossToDate`. | ||
| data.sort_dir | string | No | desc | Sort direction applied: `asc` or `desc`. | ||
| data.source_url | string | No | https://www.boxofficemojo.com/franchise/ | URL of the Box Office Mojo page the data was read from. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/genres?sort=totalGross&sortDir=asc" \
-H "x-api-key: $CRAWLORA_API_KEY"