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
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_idfrom the Restaurant Search endpoint. - Use 24-hour times such as
19:00; do not send values such as7pm. - If
availableis 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 →