OpenTable API endpoint
Searches restaurants by free-text term (cuisine, name, neighborhood) near a latitude/longitude, for a given date/time and party size, including inline live availability per result.
/opentable/searchQuery parameters:
term (required) — free-text search term, e.g. dinner, sushi, a restaurant or neighborhood name.latitude (required) — search center latitude.longitude (required) — search center longitude.date_time (optional) — reservation date/time, YYYY-MM-DDTHH:MM local format; defaults to now.party_size (optional, default 2).size (optional, default 10) — max results.Response includes results[], each a restaurant with the same location/availability fields as the restaurant detail endpoint (id, name, description, location fields, availability_date_time, timeslots[]).
| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| id | 10 | |
| name | 10 | “El Gaucho Argentinian Steakhouse - Hai Ba Trung” and 9 other values |
| description | 10 | Coming Soon! (6), OUR EL GAUCHO STEAKHOUSE – CONT… (2), OUR EL GAUCHO STEAKHOUSE – CONT… (1) and 1 more |
| line1 | 10 | “74/1-74/1A Hai Bà Trưng” and 9 other values |
| line2 | 3 | “Ben Nghe ward, District 1” and 2 other values |
| city | 10 | “Ho Chi Minh city” and 6 other values |
| state | 10 | “Vietnam” and 5 other values |
| postal_code | 10 | |
| country | 10 | Vietnam in all 10 |
| latitude | 10 | |
| longitude | 10 | |
| availability_date_time | 1 | 2026-10-14 |
| timeslots | 1 | median 3 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| term | string | Yes | Free-text search term | dinner | |
| latitude | number | Yes | Search center latitude | 10.7873 | |
| longitude | number | Yes | Search center longitude | 106.7407 | |
| date_time | string | No | now | Reservation date/time, RFC3339-minute local format; defaults to now | 2026-08-04T19:00 |
| party_size | integer | No | Party size, default 2 | 2 | |
| size | integer | No | Max results, default 10 | 10 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/opentable/search?term=dinner&latitude=10.7873&longitude=106.7407" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"term": "dinner",
"results": [
{
"id": "131459",
"name": "El Gaucho Argentinian Steakhouse - Hai Ba Trung",
"city": "Ho Chi Minh city",
"country": "Vietnam",
"latitude": 10.7780363,
"longitude": 106.7035966,
"availability_date_time": "2026-08-04T19:30"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/opentable.searchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | opentable.SearchResponse | No | ||||
| data.results | array | No | ||||
| data.results[].availability_date_time | string | No | AvailabilityDateTime/Timeslots mirror RestaurantResponse's inline availability -- search returns the same nested shape per result. | |||
| data.results[].city | string | No | ||||
| data.results[].country | string | No | ||||
| data.results[].description | string | No | ||||
| data.results[].id | string | No | ||||
| data.results[].latitude | number | No | ||||
| data.results[].line1 | string | No | ||||
| data.results[].line2 | string | No | ||||
| data.results[].longitude | number | No | ||||
| data.results[].name | string | No | ||||
| data.results[].postal_code | string | No | ||||
| data.results[].state | string | No | ||||
| data.results[].timeslots | array | No | Timeslot record, 7 fields: available, date_time, points, price_amount, redemption_tier, token, type. Described under OpenTable Restaurant API. | |||
| data.term | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/opentable/search?term=dinner&latitude=10.7873&longitude=106.7407" \
-H "x-api-key: $CRAWLORA_API_KEY"