OpenTable Reviews API

Overview

This API endpoint allows you to retrieve reviews from OpenTable. Here are some important things to know:

  • 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.

Endpoint

GET https://wextractor.com/api/v1/reviews/opentable

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 Request

https://wextractor.com/api/v1/reviews/opentable?id=https%3A%2F%2Fwww.opentable.com%2Fr%2Frh-rooftop-restaurant-at-rh-oak-brook&auth_token=your_auth_token&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\u2019t 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\u2019t 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
      }
    }
  ]
}

Error Codes

Status Code Error Type Description
400 InvalidRequest The request parameters are invalid or missing
401 Unauthorized Invalid or missing API key
403 Forbidden Your account is out of credits
429 RateLimitExceeded You've exceeded the API rate limit(10 requests per second)
500 ServerError An unexpected error occurred on our servers. In these cases we recommend to retry the request for a couple of times. If the error subsists you can reach us to open a ticket.