OpenTable Restaurant Details API
Get a live, normalized OpenTable restaurant profile from one numeric restaurant ID.
Overview
Direct profile fetch — no browser required
StayAPI fetches and parses the restaurant profile over HTTP. Callers do not need Chrome, Browserless, cookies, or an OpenTable session.
Supply the stable restaurant_id returned by Restaurant Search or URL to Restaurant ID. The response combines identity, editorial content, ratings, location, contact information, operating details, photos, policies, and OpenTable feature flags in one JSON object.
Endpoint URL
Path Parameter
| Parameter | Type | Required | Description |
|---|---|---|---|
| restaurant_id | integer | Required | Positive numeric OpenTable restaurant ID, such as 404046. |
Response Fields
| Field | Description |
|---|---|
| id, name, url | Restaurant identity and canonical OpenTable profile URL. |
| description, review_summary | Restaurant description and OpenTable's editorial review summary. |
| primary_cuisine, cuisines, dining_style, price_band | Cuisine taxonomy, dining style, and localized price information. |
| rating, ratings | Overall rating plus food, service, ambience, and value ratings. |
| review_count, text_review_count, recent_reservation_count | Review volume and recent reservation activity. |
| address, coordinates, neighborhood, metro, macro | Street address, latitude/longitude, and OpenTable location hierarchy. |
| contact, website, hours | Phone, email, website, and opening-hours text. |
| dress_code, parking, public_transit, cross_street | Arrival and venue guidance when supplied by the restaurant. |
| payment_options, additional_details | Accepted payments and restaurant amenities. |
| photos, photo_count | OpenTable-hosted photo URLs and the profile's photo count. |
| max_advance_days, max_party_size | Reservation-window and party-size limits. |
| has_takeout, order_online_link, private_dining | Takeout, online ordering, and private-dining details. |
| dining_areas, time_zone, features | Bookable areas, timezone metadata, and seating or availability flags. |
Stable null and list handling
Fields OpenTable does not supply remain null, while collection fields such as cuisines, photos, payment_options, and dining_areas remain empty arrays.
Error Responses
Errors follow RFC 7807 Problem Details with provider: "opentable" and product: "details".
404 Restaurant not found
RESTAURANT_NOT_FOUND when OpenTable has no profile for the supplied ID.
502 Upstream error
UPSTREAM_ERROR when OpenTable cannot be fetched or parsed after retries.