Endpoint Playground
Test Crawlora's Grubhub Restaurant Reviews API with realistic prefilled parameters. Generate a cURL request, inspect the expected structured JSON response, and open the full docs or pricing page when you are ready to integrate this public web data extraction endpoint into your application.
curl "https://api.crawlora.net/api/v1/grubhub/restaurant/reviews?restaurant_id=<restaurant_id>&sort=timeCreated_desc" \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| restaurant_id | string | Yes | Grubhub's numeric restaurant id, from /grubhub/search | |
| page_size | integer | No | Reviews per page, 1-50 (default 20) | |
| page | integer | No | 1-based page number (default 1) | |
| sort | string | No | timeCreated_desc | One of timeCreated_desc, ratingValue_desc. Default timeCreated_desc. |
{
"code": 200,
"msg": "OK",
"data": {
"restaurant_id": "6238960",
"reviews": [
{
"review_id": "2bdfed50-940c-11f1-ad51-f9818357fcae",
"rating": 5,
"text": "Staff are great and burgers are great!",
"author_name": "Annie",
"created_at": "2026-08-09T12:05:42Z",
"sentiment": "Positive",
"diner_type": "Regular",
"reviewer_review_count": 21,
"items": [
{
"item_id": "275127198449",
"name": "Cheeseburger"
}
]
}
],
"total_count": 61,
"total_pages": 13,
"page": 1,
"star_breakdown": {
"1": 2,
"2": 1,
"3": 2,
"4": 5,
"5": 90
},
"available_sorts": [
"timeCreated_desc",
"ratingValue_desc"
],
"source_url": "https://api-gtm.grubhub.com/ratings/search/restaurant/6238960",
"fetched_at": "2026-08-31T14:20:00Z"
}
}Public Playground
Sample responses, schemas, request previews, and code snippets are visible before sign in. Create an account when you are ready to save an API key and run authenticated requests.
Returns one restaurant's customer reviews plus its 1-5 star rating histogram. Each review carries the star rating, the written body, the reviewer's display name and how many reviews they have written, the review date, Grubhub's own sentiment classification, the diner type, and the specific menu items the review is attached to -- Grubhub ties each review to what the diner actually ordered. sort accepts `timeCreated_desc` (most recent, the default) and `ratingValue_desc` (highest rated). Note the written-review corpus and the headline rating shown in search are separate systems upstream, so a restaurant can report a large rating count in search while returning few or no written reviews here.
{
"code": 200,
"msg": "OK",
"data": {
"restaurant_id": "6238960",
"reviews": [
{
"review_id": "2bdfed50-940c-11f1-ad51-f9818357fcae",
"rating": 5,
"text": "Staff are great and burgers are great!",
"author_name": "Annie",
"created_at": "2026-08-09T12:05:42Z",
"sentiment": "Positive",
"diner_type": "Regular",
"reviewer_review_count": 21,
"items": [
{
"item_id": "275127198449",
"name": "Cheeseburger"
}
]
}
],
"total_count": 61,
"total_pages": 13,
"page": 1,
"star_breakdown": {
"1": 2,
"2": 1,
"3": 2,
"4": 5,
"5": 90
},
"available_sorts": [
"timeCreated_desc",
"ratingValue_desc"
],
"source_url": "https://api-gtm.grubhub.com/ratings/search/restaurant/6238960",
"fetched_at": "2026-08-31T14:20:00Z"
}
}curl "https://api.crawlora.net/api/v1/grubhub/restaurant/reviews?restaurant_id=<restaurant_id>" \
-H "x-api-key: $CRAWLORA_API_KEY"