OpenTable API

The OpenTable API from restaurant URL to complete live profile.

Resolve restaurant IDs, then pull profile details, structured menus with prices, search results, guest reviews, availability, 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 and structured menus with item prices, search by coordinates, get reviews, check one exact date and time, request nearby bookable slots, or ask for private dining contacts. 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, structured menus, search, reviews, availability, nearby slots, and private dining behind one base URL.

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 menu items, prices, cuisine, ratings, and private dining contacts are current to the request, not a stale nightly snapshot.

Endpoints

Every OpenTable endpoint, one base URL.

Each returns normalized JSON in the same shape. Click any endpoint for parameters, an example response, and a live playground.

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, menu, review, and availability calls.

02

Menu aggregation and price analysis.

Normalize lunch, dinner, drinks, and tasting menus into one nested shape while preserving string prices such as MKT and size or portion variations.

03

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.

04

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.

05

AI concierge and dining agents.

Give an agent live restaurant details, menus, reviews, and availability so it can answer dining questions with current fields instead of stale embeddings.

Also over MCP

OpenTable data, inside your AI agent.

The same endpoints are exposed as MCP tools. Connect Claude, Cursor, or Claude Code, ask in plain English, and the agent calls the tool and answers from live OpenTable data.

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 an OpenTable restaurant menu and item prices?

Yes. Resolve the public restaurant URL with /v1/opentable/restaurant/url-to-id, then pass the returned ID to /v1/opentable/restaurant/menu. The response keeps menus, sections, items, descriptions, currency codes, string prices, and variations nested as OpenTable publishes them. See the restaurant menu 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.

Can an AI agent query OpenTable through MCP?

Yes. Connect the StayAPI MCP server and use the OpenTable tools for URL resolution, restaurant details, menus, reviews, availability, search, and private dining. The menu tool takes the same numeric restaurant ID as the REST endpoint. See the MCP setup and tool reference.

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