Endpoint Playground
Returns Rotten Tomatoes movie reviews, newest first. All four `type` values return the full review feed in one request: each review carries a stable `id`, ISO `created_at`/`updated_at` timestamps, the critic identity and the original article URL, and the list is pageable `limit` reviews at a time: pass `data.page_info.end_cursor` back as `after` for the next page and keep `limit` the same while paging. `data.transport` is `feed_api` for that path. A title with no reviews yet, or a top-critics or audience list that is still empty, returns 200 with an empty `reviews` array. If the feed cannot be read the service loads the movie's own review page the way a visitor's browser does and reads the list that page receives (`transport: browser_render`, slower, at most five pages); if that also fails for the first page, the movie page's embedded sample of about 6 reviews is served with `render_error` set (`transport: public_page`) and the call is not charged. `data.subject.kind` is `movie`, and `data.movie` remains present for compatibility. `data.fetched_at` and the `X-Cache` and `X-Availability-Last-Success-*` response headers show how fresh the data is. Pass exactly one of `path` or `url`. Supported `type` values are `critics`, `top-critics`, `audience`, and `verified-audience`.
14 Oct 2026: 6 reviews; 17 fields had a value in every checked item and 1 varied between items.
Sample value profiles: critic_url: rottentomatoes.com; top_review: true in 0 of 6; review: median 116 characters.
curl 'https://api.crawlora.net/api/v1/rottentomatoes/movie/reviews?type=critics' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| path | string | No | Rotten Tomatoes movie path | |
| url | string | No | Absolute https://www.rottentomatoes.com movie URL | |
| type | string | No | critics | Review type: critics, top-critics, audience, verified-audience |
| limit | integer | No | Reviews per page, default 10, max 20. Keep it the same on every page of one walk: the critic cursor is a page index times this value. | |
| after | string | No | Pagination cursor: pass data.page_info.end_cursor from the previous response. Critic cursors are base64 page indexes; audience cursors are opaque keyset values that should be passed back unchanged. The feed can serve up to 500 reviews; browser fallback is capped at five pages. Invalid cursors are rejected before upstream work. |
{
"code": 200,
"msg": "OK",
"data": {
"subject": {
"kind": "movie",
"path": "/m/clayface",
"url": "https://www.rottentomatoes.com/m/clayface",
"title": "Clayface",
"ems_id": "d5639ed5-2dfe-44a3-8ed2-1cb3ea99855f",
"media_type": "movie"
},
"movie": {
"title": "Clayface",
"path": "/m/clayface",
"url": "https://www.rottentomatoes.com/m/clayface",
"ems_id": "d5639ed5-2dfe-44a3-8ed2-1cb3ea99855f",
"media_type": "movie"
},
"type": "critics",
"limit": 20,
"transport": "feed_api",
"source_url": "https://www.rottentomatoes.com/m/clayface/reviews/all-critics",
"reviews_api_url": "https://www.rottentomatoes.com/napi/rtcf/v1/movies/d5639ed5-2dfe-44a3-8ed2-1cb3ea99855f/reviews?type=critic&pageCount=20",
"fetched_at": "2026-10-29T02:31:40Z",
"page_info": {
"has_next_page": true,
"end_cursor": "MQ=="
},
"reviews": [
{
"id": "103175211",
"type": "critic",
"display_name": "Mark Kermode",
"publication": "Kermode and Mayo's Take",
"created_at": "2026-10-28T22:12:45.000Z",
"updated_at": "2026-10-28T22:12:45.000Z",
"status": "ACTIVE",
"language": "English",
"review": "A representative review excerpt.",
"score_sentiment": "POSITIVE",
"top_review": true,
"top_critic": true,
"tomatometer_approved": true,
"critic_url": "https://www.rottentomatoes.com/critic/mark-kermode",
"critic_vanity": "mark-kermode",
"publication_review_url": "https://www.youtube.com/watch?v=example"
}
],
"public_page_derived": false
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.