Rotten Tomatoes API endpoint
Returns movie rows from Rotten Tomatoes' browse listing. Use `/rottentomatoes/browse/filters` to discover current values for each list. Filters accept comma-separated values; pagination uses the opaque `after` cursor from the previous response.
/rottentomatoes/browse/moviesReturns movie rows from Rotten Tomatoes' public browse JSON route. The filter
menus are exposed by /rottentomatoes/browse/filters; values can vary by list,
so discover them before submitting a filtered request.
Query parameters:
list: movies_in_theaters, movies_at_home, or movies_coming_soon.
Defaults to movies_in_theaters.sort: live-verified union of values: popular, newest, top_box_office,
a_z, critic_highest, critic_lowest, audience_highest,
audience_lowest. Available values vary by list.genres: comma-separated live values: action, adventure, animation,
anime, biography, comedy, crime, documentary, drama,
entertainment, faith_and_spirituality, fantasy, game_show, lgbtq,
health_and_wellness, history, holiday, horror, house_and_garden,
kids_and_family, music, musical, mystery_and_thriller, nature,
news, reality, romance, sci_fi, short, soap, special_interest,
sports, stand_up, talk_show, travel, variety, war, western.ratings: g, pg, pg_13, r, nc_17, nr, ur.audience: verified_hot, upright, spilled.critics: certified_fresh, fresh, rotten.affiliates: live-verified union: theaters, fandango, apple-tv-plus,
netflix, prime-video, disney-plus, max, peacock, hulu,
paramount-plus, amc-plus, acorn-tv, apple-tv. Values are only
available on lists that expose the Affiliates menu.after: opaque cursor from data.page_info.end_cursor; omit for the first
page.limit: rows to return, default 10, maximum 30.Notable response behavior:
data.page_info includes the upstream cursor and next/previous-page flags.items: [] with
its title and page flags; missing grid or page markers still return an error.data.public_page_derived is true.| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| position | 10 | 1 to 10, median 5 |
| media_type | 10 | Movie in all 10 |
| title | 10 | “Other Mommy” and 9 other values |
| path | 10 | “/m/other_mommy” and 9 other values |
| url | 10 | rottentomatoes.com |
| image_url | 10 | resizing.flixster.com |
| date_created | 10 | Opened Oct 09, 2026 (6), Opens Oct 16, 2026 (3), Re-releasing Oct 14, 2026 (1) |
| tomatometer_score | 8 | 16 to 100, median 55 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| list | string | No | Movie browse list: movies_in_theaters, movies_at_home, movies_coming_soon Allowed values: movies_in_theaters, movies_at_home, movies_coming_soon. | movies_in_theaters | |
| sort | string | No | Sort value from the selected list's browse/filters response Allowed values: popular, newest, top_box_office, a_z, critic_highest, critic_lowest, audience_highest, audience_lowest. | popular | |
| genres | string | No | Comma-separated genre values from browse/filters Allowed values: action, adventure, animation, anime, biography, comedy, crime, documentary, drama, entertainment, faith_and_spirituality, fantasy, game_show, lgbtq, health_and_wellness, history, holiday, horror, house_and_garden, kids_and_family, music, musical, mystery_and_thriller, nature, news, reality, romance, sci_fi, short, soap, special_interest, sports, stand_up, talk_show, travel, variety, war, western. | action,drama | |
| ratings | string | No | Comma-separated content ratings from browse/filters Allowed values: g, pg, pg_13, r, nc_17, nr, ur. | pg_13 | |
| audience | string | No | Comma-separated Popcornmeter values from browse/filters Allowed values: verified_hot, upright, spilled. | upright | |
| critics | string | No | Comma-separated Tomatometer values from browse/filters Allowed values: certified_fresh, fresh, rotten. | certified_fresh | |
| affiliates | string | No | Comma-separated streaming/service values from browse/filters Allowed values: theaters, fandango, apple-tv-plus, netflix, prime-video, disney-plus, max, peacock, hulu, paramount-plus, amc-plus, acorn-tv, apple-tv. | netflix | |
| after | string | No | Opaque next-page cursor returned in data.page_info.end_cursor | Mjk= | |
| limit | integer | No | Rows to return, default 10, max 30 | 10 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/rottentomatoes/browse/movies?list=movies_in_theaters&sort=popular&genres=action&ratings=g&audience=verified_hot&critics=certified_fresh&affiliates=theaters&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"list": "movies_in_theaters",
"sort": "popular",
"limit": 2,
"title": "Movies in Theaters",
"items": [
{
"position": 1,
"media_type": "Movie",
"title": "Example Movie",
"path": "/m/example_movie",
"url": "https://www.rottentomatoes.com/m/example_movie"
}
],
"page_info": {
"has_next_page": true,
"end_cursor": "Mjk="
},
"public_page_derived": true
}
}Request schema
No body schema
Response schema
#/definitions/rottentomatoes.browseResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | rottentomatoes.BrowseResponse | No | ||||
| data.fetched_at | string | No | 2026-06-07T14:46:16Z | Time the data was fetched, in UTC (RFC 3339). | ||
| data.items | array | No | Titles on this page of the browse list. | |||
| data.items[].critics_review_count | integer | No | 136 | Number of critic reviews behind the Tomatometer score. | ||
| data.items[].date_created | string | No | 2026 | Release date text shown on the browse card, such as `2026`. | ||
| data.items[].image_url | string | No | URL of the poster image. | |||
| data.items[].media_type | string | No | Movie | Kind of title, such as `Movie`. | ||
| data.items[].path | string | No | /m/wildwood_nj | Rotten Tomatoes path of the title page, such as `/m/wildwood_nj`. | ||
| data.items[].position | integer | No | 1 | Position of the title in the returned list, starting at 1. | ||
| data.items[].title | string | No | Wildwood, NJ | Title name as shown on the browse card. | ||
| data.items[].tomatometer_score | integer | No | 87 | Tomatometer critics score, as a percentage. | ||
| data.items[].url | string | No | https://www.rottentomatoes.com/m/wildwood_nj | Rotten Tomatoes page URL of the title. | ||
| data.items[].video | object | No | Featured video of the title, when Rotten Tomatoes provides one. | |||
| data.items[].video.description | string | No | Description of the video. | |||
| data.items[].video.duration | string | No | 2:32 | Length of the video as text, such as `2:32`. | ||
| data.items[].video.thumbnail | string | No | URL of the video thumbnail image. | |||
| data.items[].video.title | string | No | Breaking Bad: Official Clip - Walter Wants to Cook | Title of the video. | ||
| data.items[].video.upload_date | string | No | 2024-07-11T19:23:03 | Date and time the video was uploaded, such as `2024-07-11T19:23:03`. | ||
| data.items[].video.url | string | No | https://www.rottentomatoes.com/tv/breaking_bad/s01/e01/videos/JR3ymbH1dpLb | Rotten Tomatoes page URL of the video. | ||
| data.limit | integer | No | 10 | Maximum number of rows requested. | ||
| data.list | string | No | movies_in_theaters | Browse list that was returned, such as `movies_in_theaters`. | ||
| data.page_info | object | No | Paging information. Pass `end_cursor` as `after` to get the next page. | |||
| data.page_info.end_cursor | string | No | Mjk= | Cursor of the last item on this page. Pass it as `after` to get the next page. | ||
| data.page_info.has_next_page | boolean | No | true | Whether more items follow this page. | ||
| data.page_info.has_previous_page | boolean | No | true | Whether items precede this page. | ||
| data.page_info.start_cursor | string | No | MA== | Cursor of the first item on this page. | ||
| data.public_page_derived | boolean | No | true | Always `true`: the data comes from publicly visible Rotten Tomatoes pages. | ||
| data.sort | string | No | popular | Sort order applied to the list, such as `popular`. | ||
| data.source_url | string | No | https://www.rottentomatoes.com/browse/movies_in_theaters/sort:popular | URL the data was read from. | ||
| data.title | string | No | Movies in Theaters (2026) | Title of the browse list, as Rotten Tomatoes shows it. | ||
| 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/rottentomatoes/browse/movies?list=movies_in_theaters&sort=popular&genres=action&ratings=g&audience=verified_hot&critics=certified_fresh&affiliates=theaters&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"