Opentable reviews API documentation
We provide a simple to setup REST API that returns reviews in JSON format. Before integrating the API you should be aware of the following:
- The Opentable API returns 10 reviews per request.
- The order in which reviews are returned is by descending date(from newest to oldest).
- You can get all reviews from a single place by using the
offset
parameter.
To get reviews from Wextractor you will need to perform GET
requests against
the https://wextractor.com/api/v1/reviews/opentable
endpoint.
Reviews endpoint parameters:
Parameter | Required | Description | Example |
---|---|---|---|
auth_token | Required | Your API token for authentication. Once you register to Wextractor you can extract this key from your account's setting page. | - |
id | Required | The full url in Opentable. | https://www.opentable.com/r/rh-rooftop-restaurant-at-rh-oak-brook |
offset | Optional | This parameter defines the result offset. It skips the given number of reviews. It's used for pagination. (e.g., 0 (default) is the first page of results, 20 is the 2nd page of results, 40 is the 3rd page of results, etc.). | 10 |
Example usage:
https://wextractor.com/api/v1/reviews/opentable?id=https%3A%2F%2Fwww.opentable.com%2Fr%2Frh-rooftop-restaurant-at-rh-oak-brook&auth_token=XXXXX&offset=0
Example response:
{
"totals": {
"review_count": 3664,
"average_rating": "4.6"
},
"reviews": [
{
"id": "OT-1092886-297086-130227359843",
"datetime": "2025-01-20T00:40:20",
"reviewer": "Leslie",
"text": "Beautiful area and views! The service was great as was the food!",
"rating": "5",
"ratings": {
"food": "5",
"service": "5",
"ambience": "5",
"value": "5",
"noise": "MODERATE"
},
"reply": {
"text": null,
"datetime": null
}
},
{
"id": "OT-1092886-293202-150079004825",
"datetime": "2025-01-19T19:54:55",
"reviewer": "Joey",
"text": "5 for dinner. Everyone enjoyed their selections. Limited menu but everything is excellent.",
"rating": "5",
"ratings": {
"food": "5",
"service": "5",
"ambience": "5",
"value": "5",
"noise": "ENERGETIC"
},
"reply": {
"text": null,
"datetime": null
}
},
{
"id": "OT-1092886-296684-130015846303",
"datetime": "2025-01-19T02:10:55",
"reviewer": "Rhonda",
"text": "The only - only - suggestion\nTo offer a bigger menu\n\nThank you",
"rating": "5",
"ratings": {
"food": "4",
"service": "5",
"ambience": "5",
"value": "3",
"noise": "DO_NOT_RECALL"
},
"reply": {
"text": null,
"datetime": null
}
},
{
"id": "OT-1092886-296855-170043715107",
"datetime": "2025-01-19T02:29:44",
"reviewer": "Patrick",
"text": "The hostess was rude and kept seating others even though we checked in early. She tried to lie about they too had the same time but checked in before us even though we saw all 3 couples come into the store one the 1st level after us and while they stayed downstairs we went up and checked in. They just didn’t look like us.",
"rating": "3",
"ratings": {
"food": "4",
"service": "3",
"ambience": "4",
"value": "3",
"noise": "MODERATE"
},
"reply": {
"text": null,
"datetime": null
}
},
{
"id": "OT-1092886-294246-160107873226",
"datetime": "2025-01-17T16:44:11",
"reviewer": "Flor",
"text": "Food and scenery was great! Only bad part was our server. It took a very long time to get a drink served or for her to come check up on us. We felt almost forgotten while we were there.",
"rating": "3",
"ratings": {
"food": "5",
"service": "2",
"ambience": "5",
"value": "2",
"noise": "MODERATE"
},
"reply": {
"text": null,
"datetime": null
}
},
{
"id": "OT-1092886-295701-150011091635",
"datetime": "2025-01-15T18:08:17",
"reviewer": "Gary",
"text": "This is a stunning restaurant.\nI haven’t been in surroundings like this since my days globetrotting as a working professional. Buddah Bar in Paris is the one that first comes to mind as a comparison.\nThe service was flawless and my companion was wowed. I felt great. Thank you RH!",
"rating": "5",
"ratings": {
"food": "5",
"service": "5",
"ambience": "5",
"value": "5",
"noise": "QUIET"
},
"reply": {
"text": null,
"datetime": null
}
},
{
"id": "OT-1092886-286295-190095475959",
"datetime": "2025-01-12T22:46:39",
"reviewer": "Manal",
"text": "I celebrated my birthday here. The staff was super attentive and brought me a cookie with a candle. Food was fine. Ambience was amazing.",
"rating": "4",
"ratings": {
"food": "4",
"service": "5",
"ambience": "5",
"value": "4",
"noise": "MODERATE"
},
"reply": {
"text": null,
"datetime": null
}
},
{
"id": "OT-1092886-294919-100136360330",
"datetime": "2025-01-12T18:04:28",
"reviewer": "Kenneth",
"text": "Great. Loved the meal, everything tasted great and excellent",
"rating": "4",
"ratings": {
"food": "5",
"service": "5",
"ambience": "5",
"value": "4",
"noise": "ENERGETIC"
},
"reply": {
"text": null,
"datetime": null
}
},
{
"id": "OT-1092886-294039-110151181311",
"datetime": "2025-01-07T20:18:59",
"reviewer": "Bobby",
"text": "My family had a wonderful time and service match the food",
"rating": "5",
"ratings": {
"food": "5",
"service": "5",
"ambience": "5",
"value": "5",
"noise": "QUIET"
},
"reply": {
"text": null,
"datetime": null
}
},
{
"id": "OT-1092886-293985-140085779904",
"datetime": "2025-01-05T23:45:51",
"reviewer": "Armani",
"text": "I loved the food and atmosphere. The facility is clean and welcoming. We will be back.",
"rating": "5",
"ratings": {
"food": "5",
"service": "5",
"ambience": "5",
"value": "3",
"noise": "QUIET"
},
"reply": {
"text": null,
"datetime": null
}
}
]
}
Frequently asked questions:
- How do I get all the reviews for a single place?
- Does the API have rate limits?
You need to perform multiple requests incrementing the offset until you get a response without any reviews in it.
Yes, since Opentable is pretty strict at blocking requests you will be rate limited if you perform more than ten requests per second.