OpenTable API

The OpenTable API from restaurant URL to complete live profile.

Resolve restaurant IDs, then pull profile details, search results, paginated guest reviews, exact availability, nearby bookable slots, and private dining venues as clean JSON.

REQUEST GET
USE CASE Resolve an OpenTable restaurant profile URL before requesting details, reviews, or availability.
curl "https://api.stayapi.com/v1/opentable/restaurant/url-to-id" \
  -G \
  -H "x-api-key: $STAYAPI_KEY" \
  -d "url=https://www.opentable.com/r/the-ivy-victoria-brasserie-london-2"
RESPONSE 200 OK
2.41s
{
  "success": true,
  "restaurant_id": 180654,
  "name": "The Ivy Victoria Brasserie",
  "country": "United Kingdom",
  "macro": "South West London",
  "neighborhood": "Victoria"
}
99.9% uptime ~3s avg response Live, not cached

Trusted by hospitality teams at

Overview

What the OpenTable API gives you.

OpenTable has no public data API for the restaurant profiles, listings, guest reviews, reservation availability, and private dining venues that product and research teams actually need. Building it yourself means source-specific HTTP and GraphQL transport, proxy routing, and parsers that must keep pace with upstream changes.

StayAPI is that layer, run for you. Start with a full OpenTable restaurant URL and resolve its numeric ID, fetch its complete profile, search by coordinates, get reviews, check one exact date and time, request nearby bookable slots, or ask for private dining contacts. Availability responses stay deliberately small: a boolean for an exact check or an array of HH:MM slots. No browser session or OpenTable availability token is exposed to callers.

01

One key, restaurant data.

x-api-key in, JSON out. URL-to-ID, restaurant details, search, reviews, availability, nearby slots, and private dining behind one base URL. No SDK to install.

02

We run the hard part.

Fetching, parsing, proxy rotation, and source uptime are ours. You consume normalized dining JSON and never handle OpenTable availability tokens.

03

Real-time, not cached.

Every call hits OpenTable live, so cuisine, ratings, and private dining contacts are current to the request, not a stale nightly snapshot.

Use cases

What teams build on the OpenTable API.

The same endpoints, pointed at different jobs. These are the ones we see most.

01

Restaurant discovery and search apps.

Accept an OpenTable profile URL or power a dining search by location and date, then carry the stable restaurant ID into profile, review, and availability calls.

02

Private dining and events sourcing.

Surface venues that host private events near a place, ranked by largest space capacity, with the event contact name, phone, and email ready to reach out.

03

Dining market and competitor analysis.

Benchmark restaurants on cuisine, pricing, amenities, rating, and review volume, then analyze newest, highest-rated, or lowest-rated guest feedback in a consistent schema.

04

AI concierge and dining agents.

Feed structured OpenTable restaurant data and small availability responses into an LLM tool call so your agent can verify a time before recommending it.

Pricing

50 free requests on signup.
Pick a plan when you need more.

Flat monthly plans, every endpoint included on every plan. 1 request = 1 credit. No per-endpoint multipliers, no surprise overages.

01 Free

Wire it up. See the schema.

$0 to start
  • 50 free requests on signup
  • Every endpoint included
  • No credit card required
  • Same schema as paid
Start free
02 Basic

Kick the tires in production.

$49 per month
  • 1,500 requests / month
  • Every endpoint included
  • Per-endpoint usage dashboard
  • Email support
Start Basic
50% off
04 Scale

Daily pulls in production.

$900 $450 per month
  • 100,000 requests / month
  • Every endpoint included
  • Per-endpoint usage dashboard
  • Priority email support
Start scaling
05 Custom

Above 100k / month, annual terms, white-glove onboarding.

Let's talk
  • 1M+ requests / month
  • Volume rate on the call
  • Per-endpoint usage dashboard
  • Priority email + Slack support
Book a scoping call

Every plan ships every endpoint. Same uptime, same schema, same response time.

Questions

What people ask about the OpenTable API.

Don't see your question? Email us at info@stayapi.com.

Does OpenTable have a public API?

OpenTable runs partner and affiliate programs for restaurants and connectivity, but there is no open public API for pulling restaurant listings, cuisine, ratings, or private dining venues. StayAPI gives you that data over plain REST with a key you get in 30 seconds.

How do I search OpenTable restaurants?

Call /v1/opentable/search with a latitude, longitude, date, and time. You get matching restaurants with cuisine, price band, rating, address, phone, photos, and feature flags as JSON. See the restaurant search endpoint docs.

How do I get an OpenTable restaurant ID from a URL?

Call /v1/opentable/restaurant/url-to-id with the full OpenTable /r/{slug} profile URL. StayAPI returns the numeric restaurant_id, name, country, macro area, and neighborhood without browser emulation. See the URL-to-ID endpoint docs.

How do I get OpenTable restaurant details?

Call /v1/opentable/restaurants/{restaurant_id} with the numeric ID from search or URL-to-ID. The normalized response includes cuisine, pricing, ratings, address, coordinates, contact details, hours, photos, policies, dining areas, and feature flags. See the restaurant details endpoint docs.

Can I get private dining options via API?

Yes. /v1/opentable/private-dining returns venues that host private events near your coordinates, each with the event contact name, phone, email, largest space capacity, and an instant book flag. Filter by min_capacity to match your party. See the private dining endpoint docs.

Can I get OpenTable restaurant reviews via API?

Yes. Call /v1/opentable/restaurant/reviews with a restaurant_id. Results default to newest first; use sort=highest or sort=lowest to order by rating. Each page contains up to 25 reviews. See the restaurant reviews endpoint docs.

How do I check whether a restaurant has a table?

Call /v1/opentable/restaurants/{restaurant_id}/availability with a reservation date, exact time, and party_size. The response is {"success":true,"available":true} or the same object with available set to false. To offer alternatives, use the nearby availability slots endpoint.

Is the OpenTable API free?

You get 50 free requests on signup, every endpoint included, no credit card. After that it is flat monthly plans starting at $49. One request equals one credit, with no per-endpoint multipliers.

Two ways to start.

Both end with live OpenTable data in your stack. The fast path is on the left.

01 · the fast path

Try it free

50 free requests after sign up. Fastest way to see if the schema fits.

Start free
  • Live API key in 30 seconds
  • No credit card required
  • Same schema as paid
02 · the scoped path

Book a scoping call

15 minutes. Volume + endpoint mix. Walk out with a quote.

Book a demo
  • Quote on the call, not after
  • Engineering, not sales
  • No deck, no slides