OpenTable Reviews API: How to Access Verified Diner Reviews, Sub-Ratings, and Noise Levels Programmatically

Denis Gramm, StayAPI
By Denis Gramm, StayAPI · · 11 min read

I hope you enjoy reading this blog post. If you want our team to help you with hotel data integration, click here.

Quick summary

This guide covers what makes OpenTable review data different, what the official programs actually expose, and the working route to verified-diner reviews for any restaurant as JSON, with live Chicago and Paris responses.

OpenTable Reviews API: How to Access Verified Diner Reviews, Sub-Ratings, and Noise Levels Programmatically — StayAPI

OpenTable has no public reviews API.
Its partner catalog lists reputation and reviews among the things a partner can access, and that access covers the restaurants a partner serves, which is the shape every official OpenTable program takes (our OpenTable partner API guide maps them).
What OpenTable does publish, on every restaurant profile, is a review corpus with an unusual property: every review comes from a diner who booked and honored a reservation.
Five sub-ratings and a noise level ride along with each one.
This guide covers what makes that data different, what the official routes actually expose, and the working path to OpenTable reviews for any restaurant as structured JSON, documented on the OpenTable API page from StayAPI, with real responses from Chicago and Paris.

Key Takeaways

  • OpenTable has no public reviews API. Partner programs expose reviews for the restaurants a partner serves; reading reviews for arbitrary restaurants isn't in any of them.
  • Every review is from a verified diner. Only diners who booked and honored a reservation can review, so the corpus has no drive-by ratings.
  • Each review carries five sub-ratings and a noise level. Overall, food, service, ambience, and value, plus quiet, moderate, or energetic, which no other major review source structures this way.
  • Two timestamps per review. When the diner ate and when they wrote, which makes reaction lag measurable.
  • Data APIs return it as JSON. Newest, highest, or lowest first, 25 per page, keyed by the restaurant ID from a URL or a coordinate search.

Why OpenTable Review Data Is Different

Why OpenTable Review Data Is Different — StayAPI

Most restaurant review sources accept a rating from anyone with an account.
OpenTable's help center states the rule that changes the data: only diners who booked and honored a reservation through OpenTable can leave a review.
That one property shapes everything in the schema.

Field Example (Chicago, this week) Why It Matters
ratings.overall 5 The 1-to-5 score, integer per review
ratings.food / service / ambience / value 5 / 5 / 5 / 5 Four sub-scores per review, not just per restaurant
ratings.noise "moderate" Quiet, moderate, energetic, or not recalled; a dimension no hotel site has
dined_at 2026-09-09T13:45:00-05:00 The reservation the review is tied to
submitted_at 2026-09-09T20:49:20Z When the diner wrote, seven hours later here
verified true The honored-reservation flag
reviewer.is_vip true OpenTable's frequent-diner status
reviewer.review_count 45 How many reviews this diner has written

Two counts matter when you size a corpus.
The Paris bistro Le Petit Saint Honoré shows 230 ratings but 94 text reviews, because diners can score without writing; the Chicago pizzeria in the examples below has 3,473 text reviews.
Text is what sentiment work needs, so count that number.
The sub-ratings are the reason this data beats a single star for restaurant analysis.
A comp set where every restaurant scores 4.7 overall splits apart on value (4.5 versus 4.3) and ambience, and the noise field turns "too loud" from a text-mining problem into a filter.

Does OpenTable Have a Reviews API?

Does OpenTable Have a Reviews API? — StayAPI

Not one you can sign up for.
OpenTable publishes documentation for its partner APIs, and the partner catalog's access areas include reputation and reviews.
The scope is the restaurants a partner works with: software serving a restaurant can read that restaurant's reviews under a partner agreement, in the same way it reads that restaurant's reservations.
The other official surfaces don't touch reviews for reading.
The Consumer API is a booking path for a restaurant's own website, and the restaurant-side reviews hub (where restaurants reply to their OpenTable, Google, and Facebook reviews) is a screen, with no export.
What doesn't exist is an endpoint that returns reviews for a restaurant you don't operate.
Comp-set monitoring, market research, and hotel food-and-beverage benchmarking all need exactly that, and the rest of this guide is the route.

Three Ways to Access OpenTable Reviews

Three Ways to Access OpenTable Reviews — StayAPI

Option 1: The partner APIs

If you build software for restaurants and they're your clients, the partner route is right: apply, sign, and read your clients' reviews alongside their reservations.
The guide linked above covers who qualifies.
It stops at the restaurants you serve.

Option 2: Scraper tools and "unofficial OpenTable API" wrappers

The search results for an OpenTable reviews API include scraper-API vendors and review-aggregation resellers, and that's what "unofficial OpenTable API" means in practice: someone rendering the profile page and reselling the parsed reviews per request or per credit.
Fine for a one-off pull.
For anything scheduled they inherit every profile-page change, and the schema is whatever the wrapper's author chose.

Option 3: A restaurant data API

Third-party data APIs read the public profile pages as documented endpoints with a fixed schema.
StayAPI's OpenTable reviews endpoint is one: any restaurant on the platform, newest, highest, or lowest first, 25 per page, with search, details, menus, availability, and URL-to-ID under the same key.

Partner APIs Scraper wrappers Data API (StayAPI)
Restaurants covered The ones you serve Any, per request Any, by restaurant ID
Access Agreement Self-serve Self-serve, free tier
Schema OpenTable's The wrapper's Documented, fixed
Sub-ratings and noise Yes Sometimes Yes, every review
Maintenance None Inherited None
Sorting and paging Yes Varies Newest, highest, lowest; 25 per page

Reviews on other platforms have their own routes; Google's are covered in our Google reviews API guide.

What OpenTable Review Data Looks Like

What OpenTable Review Data Looks Like — StayAPI

Here's the reviews endpoint for Pizzeria Portofino on the Chicago River, newest first:

curl -X GET "https://api.stayapi.com/v1/opentable/restaurant/reviews?restaurant_id=1072180&sort=newest&page=1&page_size=25" \
  -H "x-api-key: YOUR_API_KEY"

The response (truncated to two reviews):

{
  "success": true,
  "restaurant_id": 1072180,
  "total_count": 3473,
  "page": 1,
  "page_size": 25,
  "total_pages": 139,
  "has_more": true,
  "sort": "newest",
  "reviews": [
    {
      "id": "OT-1072180-397212-170117091077",
      "text": "The service was outstanding and our meals were amazing.",
      "ratings": { "overall": 5, "food": 5, "service": 5, "ambience": 5, "value": 5, "noise": "moderate" },
      "reviewer": { "name": "Jl", "initials": "J", "location": "Chicago", "review_count": 45, "is_vip": true },
      "dined_at": "2026-09-09T13:45:00-05:00",
      "submitted_at": "2026-09-09T20:49:20Z",
      "verified": true,
      "helpfulness": { "up": 0, "down": 0, "score": 0 },
      "photos": []
    },
    {
      "id": "OT-1072180-395958-100081946140",
      "text": "I recommend this place it's amazing . I love it . Best views ever",
      "ratings": { "overall": 5, "food": 5, "service": 5, "ambience": 5, "value": 5, "noise": "energetic" },
      "reviewer": { "name": "Janeth", "initials": "J", "location": "Chicago", "review_count": 2, "is_vip": null },
      "dined_at": "2026-09-08T19:30:00-05:00",
      "submitted_at": "2026-09-09T18:27:24Z",
      "verified": true,
      ...
    }
  ]
}
Field Description
total_count The restaurant's text-review total (3,473 here)
total_pages / has_more Pagination at your page size; follow has_more rather than guessing
sort newest (default), highest, or lowest
ratings.noise quiet, moderate, energetic, or do_not_recall
reviewer.location The diner's home city, for source-market splits
photos[] Diner-uploaded photos with captions when present

Three practical notes.
Newest first is the incremental pattern.
Page from the top and stop at the first review ID you've already stored; a restaurant with 3,473 reviews then costs one page a day rather than 139.
Highest and lowest are sentiment samples.
Sorting by lowest on the same restaurant surfaced a detailed complaint about patio seating and party-size changes this week, which is the operational feedback a five-star average hides.
Restaurant-level ratings live on the details endpoint.
The same restaurant's profile returns the aggregate breakdown (overall 4.7; food 4.7, service 4.7, ambience 4.8, value 4.5), a 42-day booking window, and an editorial review summary, so a dashboard row needs one details call plus the newest page.
Full parameters are in the OpenTable reviews endpoint documentation and the restaurant details documentation.
One limit, stated plainly: the endpoint returns what the public profile shows, so private feedback diners send only to the restaurant isn't in it.

Finding the Restaurant ID

Finding the Restaurant ID — StayAPI

Every call above takes a numeric restaurant ID, and there are two ways to get one.
From a URL, with the URL-to-ID endpoint:

curl -X GET "https://api.stayapi.com/v1/opentable/restaurant/url-to-id?url=https://www.opentable.com/r/pizzeria-portofino-chicago" \
  -H "x-api-key: YOUR_API_KEY"
{
  "success": true,
  "restaurant_id": 1072180,
  "name": "Pizzeria Portofino",
  "country": "United States",
  "macro": "Chicago",
  "neighborhood": "River North (Chicago)"
}

The Paris bistro's URL resolves the same way to 404046, with its country and neighborhood echoed so you can confirm the match before pulling reviews.
From a market, with the search endpoint.
OpenTable search is coordinate-based, and because it's a reservation search it also needs a date, a time, and a party size.
Downtown Chicago for an October evening returned 462 restaurants; adding the top price band cut it to 55, including the Miru at The St. Regis (4.7 from 2,371 reviews) and Aba (4.7 from 3,938).
Each result carries the ID, rating, review count, cuisine, price band, and neighborhood.
The free OpenTable explorer does the URL step in a browser, and the parameters are in the URL-to-ID documentation and the search documentation.

Use Cases for OpenTable Review Data

Use Cases for OpenTable Review Data — StayAPI

  • Comp-set benchmarking on sub-ratings. Pull the details breakdown for ten restaurants in a neighborhood and rank on value or ambience rather than the overall score, which converges on 4.7 for everyone.
  • Noise as a metric. The share of reviews marked energetic versus quiet, by restaurant and by day of week, is a dimension no text mining is needed for.
  • Reaction lag. submitted_at minus dined_at, per review, shows how long after a meal diners write, which changes how you read a sudden run of low scores.
  • Hotel food and beverage. Hotel restaurants are on OpenTable (the St. Regis outlet above, a sushi bar inside a Chicago hotel), so a hotel's guest reviews and its restaurant's diner reviews can sit in one dashboard; our hotel review sentiment analysis guide covers the analysis side.
  • Incremental reputation monitoring. Newest-first plus a stop-at-seen rule, the pattern our review scraping tutorial teaches, runs unchanged against this endpoint.

Getting Started

  1. Sign up at stayapi.com. Free tier, no credit card, no partner agreement.
  2. Paste any restaurant's OpenTable URL into the free explorer above to see its structured profile, then resolve your list of restaurants to IDs with the URL-to-ID endpoint, or search a neighborhood by coordinates.
  3. Run the reviews call above for one restaurant, newest first, and store (restaurant_id, review.id) as your key.
  4. Add one details call per restaurant for the aggregate sub-ratings.
  5. Schedule the newest-first pull daily and pipe the JSON into your database, Google Sheets, Power BI, or no-code platforms like N8N and Make.com. For restaurant groups and hotel portfolios monitoring many outlets, book a demo call.

FAQ

Does OpenTable have a reviews API?

Not a public one.
Partner APIs expose reviews for the restaurants a partner serves, under an agreement, and no official endpoint returns reviews for restaurants you don't operate.
Third-party data APIs are the route for reading any restaurant's reviews as JSON.

Is the OpenTable API free?

The official APIs come with partner agreements rather than a price list, and there's no self-serve tier.
Data APIs typically offer free evaluation tiers; StayAPI's covers the first requests with no card.

Can you see reviews on OpenTable?

Yes.
Every restaurant profile shows its diner reviews publicly, and only diners who booked and honored a reservation can write one, which is why the corpus reads differently from open review sites.

Where is the OpenTable reviews API documentation?

OpenTable's documentation site covers its partner APIs and follows the partner agreement.
Data APIs document their own OpenTable endpoints publicly; StayAPI's reviews, details, search, and URL-to-ID pages are linked above.

Can I get reviews for restaurants I don't own?

Through a data API, yes: any restaurant on the platform resolves by URL or search, and its public reviews come back with the same sub-ratings and noise levels as your own.
The official partner route covers only the restaurants you work with.

Ship in 3 days

Ready to simplify your hotel data?

Join other developers using StayAPI to build the next generation of travel applications. Get started for free today.