Restaurant Availability API
Search restaurants and check real-time reservation availability across OpenTable and Resy. Find open tables by date, party size, and time window. Returns restaurant details including cuisine, location, price tier, ratings, and available booking slots with direct reservation links.
Use with the agent-data CLI
Section titled “Use with the agent-data CLI”Inspect every route, parameter, and response schema straight from your agent:
agent-data docs e79d7149-781a-482c-b101-0d1e15d29c9cCall any route below by its slug:
agent-data call e79d7149-781a-482c-b101-0d1e15d29c9c <route-slug> [--param value ...]Routes
Section titled “Routes”| Route slug | Method & path | Description |
|---|---|---|
search-restaurants | GET /v1/restaurants/search | Search Restaurants |
check-availability | GET /v1/availability | Get Availability |
search-restaurants
Section titled “search-restaurants”GET /v1/restaurants/search
Search Restaurants
agent-data call e79d7149-781a-482c-b101-0d1e15d29c9c search-restaurants --platform <platform> [--text <text>] [--name <name>] --city <city> [--state <state>] [--neighborhood <neighborhood>] [--cuisine <cuisine>] [--price_tier <price_tier>] [--min_price_tier <min_price_tier>] [--max_price_tier <max_price_tier>] [--page_token <page_token>] [--max_page_size <max_page_size>] [--strict_location <strict_location>] [--strict_cuisine <strict_cuisine>]| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
platform | query | ”opentable” | “resy” | yes | Choose exactly one platform. Do not omit this field. Use resy or opentable explicitly. |
text | query | string | null | no | Use this for broad discovery words such as a restaurant name, dining style, or keyword. Do not rely on text alone when you need strict cuisine or geography matching. |
name | query | string | null | no | Use this when you are trying to find a specific restaurant by identity rather than category. |
city | query | string | yes | Provide the city or platform location name you want to search in. This field is required. If you provide a close synonym or spelling variant, the API may normalize it and echo the resolved value. |
state | query | string | null | no | Provide the two-letter state code when you know it. Include this whenever the city name could be ambiguous. |
neighborhood | query | string | null | no | Provide the neighborhood you want to constrain the search to. Always pair this with city and state for the most reliable matching. |
cuisine | query | array | null | no | Provide one or more cuisine labels you want enforced. The API may normalize close variants and will echo the resolved values it applied. |
price_tier | query | integer, min: 1, max: 4 | null | no | Provide an exact canonical price tier from 1 through 4 when you need an exact price match. |
min_price_tier | query | integer, min: 1, max: 4 | null | no | Provide the inclusive minimum price tier when you want a price range instead of an exact tier. |
max_price_tier | query | integer, min: 1, max: 4 | null | no | Provide the inclusive maximum price tier when you want a price range instead of an exact tier. |
page_token | query | string | null | no | |
max_page_size | query | integer, min: 1, max: 50, default: 10 | no | |
strict_location | query | boolean, default: true | no | Keep this as true when location fields must match returned restaurant metadata exactly after normalization. |
strict_cuisine | query | boolean, default: true | no | Keep this as true when cuisine fields must match returned restaurant metadata after normalization. |
Full REST reference — parameters, schemas, and curl →
check-availability
Section titled “check-availability”GET /v1/availability
Get Availability
agent-data call e79d7149-781a-482c-b101-0d1e15d29c9c check-availability --platform <platform> [--platform_id <platform_id>] [--query <query>] [--location <location>] --date <date> --party_size <party_size> [--time_start <time_start>] [--time_end <time_end>] [--include_raw <include_raw>]| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
platform | query | string | yes | Required. Set this to resy or opentable. Do not omit it. |
platform_id | query | string | null | no | Use this when you already know the provider-specific restaurant ID. Prefer this field because it avoids an extra name-resolution step. |
query | query | string | null | no | Use this only for platform=opentable when platform_id is unknown. Provide the restaurant name to resolve before fetching availability. |
location | query | string | null | no | Use this only with OpenTable query resolution. Provide the city or market needed to disambiguate the restaurant name. |
date | query | string (date) | yes | Required. Provide the target dining date in YYYY-MM-DD format. |
party_size | query | integer, min: 1, max: 20 | yes | Required. Provide the total number of diners as an integer from 1 to 20. |
time_start | query | string (time) | null | no | Optional. Use this to keep only slots at or after the specified local time. |
time_end | query | string (time) | null | no | Optional. Use this to keep only slots at or before the specified local time. |
include_raw | query | boolean, default: false | no | Optional. Set this to true only when you need provider raw payload fragments for debugging. Leave it false for normal agent use. |
Full REST reference — parameters, schemas, and curl →
REST reference
Section titled “REST reference”Prefer plain HTTP? The Restaurant Availability API REST reference documents every operation with full request/response schemas and ready-to-run curl and agent-data CLI examples.