Skip to content
All sites
Data API

Opentable Data API

Structured JSON data, on demand, with anti-bot bypass built in.

2endpointsRate Limit handled for you
opentable.comGET/opentable/rev…GET/opentable/sea…{ } JSON
Example
opentable.com
Example
JSON responseclick the page to trace a field
{
"query": "italian",
"location": "New York, NY",
"market": "us",
"party_size": 2,
"sort": "best_match",
"page": 1,
"results": [
{
"restaurant": "carmines-times-square-new-york",
"name": "Carmine's - Times Square",
"rating": 4.4,
"review_count": 13457,
"price": "$$$",
"price_level": 3,
"cuisine": [
"Italian"
],
"address": "200 W 44th St, New York, NY",
"neighborhood": "Midtown West",
"coordinates": {
"latitude": 40.7573,
"longitude": -73.9866
},
"booked_today": 87,
"image": "https://images.otstatic.com/prod/EXAMPLE0/large.jpg",
"url": "https://www.opentable.com/r/carmines-times-square-new-york"
},
{
"restaurant": "trattoria-dopo-teatro-new-york",
"name": "Trattoria Dopo Teatro",
"rating": 4.6,
"review_count": 4821,
"price": "$$",
"price_level": 2,
"cuisine": [
"Italian"
],
"address": "125 W 44th St, New York, NY",
"neighborhood": "Midtown West",
"coordinates": {
"latitude": 40.757,
"longitude": -73.9855
},
"booked_today": 42,
"image": "https://images.otstatic.com/prod/EXAMPLE1/large.jpg",
"url": "https://www.opentable.com/r/trattoria-dopo-teatro-new-york"
}
],
"nextCursor": "2"
}
GET/v1/data/opentable/search1 credit / run

Search Restaurants

Search OpenTable for restaurants by keyword and location, with optional availability and price filters.

Handled for you:Rate Limit
Parameters
NameTypeReqDescription
querystringyesSearch keywords, e.g. 'italian'.
locationstringyesCity or area, e.g. 'New York, NY'.
Advanced filters
cuisinestringnoCuisine hint that refines the search, e.g. 'sushi'.
party_sizeintegernoNumber of diners for the availability query (1-20). (default: 2)
datestringnoReservation date as YYYY-MM-DD.
timestringnoReservation time as HH:MM (24h), e.g. 19:30.
price_levelintegernoPrice tier 1-4 (1 = cheapest, 4 = most expensive).
sortstringnoResult order. (default: best_match)
pageintegernoResult page number (1-based). (default: 1)
marketstringnous | gb. (default: us)