Browse documentation
GET

OpenTable Exact Availability API

Check whether a restaurant can seat a party at one exact reservation time. The response is a single availability boolean.

Overview

Use this endpoint after selecting a restaurant from OpenTable search. Supply the restaurant ID in the path, then send the reservation date, exact time, and party size as query parameters. StayAPI handles OpenTable's internal availability data; callers do not send or receive availability tokens.

Endpoint URL

GET https://api.stayapi.com/v1/opentable/restaurants/{restaurant_id}/availability

Parameters

Parameter Location Type Required Description
restaurant_id path integer Required Positive OpenTable restaurant ID returned by restaurant search.
date query string Required Reservation date in YYYY-MM-DD format. It cannot be in the past.
time query string Required Exact reservation time in 24-hour HH:MM format.
party_size query integer Required Number of diners, from 1 to 30.

Need alternative times?

Use the Nearby Availability Slots endpoint with preferred_time to return OpenTable's bookable window around the requested time.

Response Format

Success (200 OK)

{
  "success": true,
  "available": true
}

Response Data

Field Type Description
success boolean Always true on a 2xx response.
available boolean true only when the exact supplied time appears in OpenTable's current nearby availability.

A false result is still successful

available: false means the exact time is not currently offered. It is a normal 200 response, not an API error.

Error Responses

Endpoint errors use RFC 7807 Problem Details with provider: "opentable" and product: "availability".

400 Bad Request

Invalid date or time format, or a date in the past. Error codes include INVALID_DATE_FORMAT, INVALID_TIME_FORMAT, and PAST_DATE.

422 Unprocessable Entity

A required parameter is missing, restaurant_id is not positive, or party_size is outside 1-30.

502 Bad Gateway

OpenTable did not return usable availability after retries. The error code is UPSTREAM_ERROR.

{
  "type": "https://api.stayapi.com/errors/invalid-time-format",
  "title": "Invalid Time Format",
  "status": 400,
  "detail": "time must be in HH:MM 24-hour format",
  "instance": "/v1/opentable/restaurants/404046/availability",
  "provider": "opentable",
  "product": "availability",
  "error_code": "INVALID_TIME_FORMAT",
  "correlation_id": "req_abc123"
}

Usage Tips

  • Get restaurant_id from the Restaurant Search endpoint.
  • Use 24-hour times such as 19:00; do not send values such as 7pm.
  • If available is false, call Nearby Availability Slots to offer alternatives.

Rate Limiting

Each availability check counts as one API call and is subject to your plan's rate limits.

Related Endpoints

Nearby Availability Slots

Return the bookable times OpenTable offers around a preferred time.

View Documentation →

Restaurant Search

Find restaurants and collect the restaurant IDs used by this endpoint.

View Documentation →
Request
curl -X GET "https://api.stayapi.com/v1/opentable/restaurants/404046/availability?date=2026-07-15&time=19:00&party_size=2" \
  -H "X-API-Key: YOUR_API_KEY"
Response
{
  "success": true,
  "available": true
}