This project provides an unofficial json API interface to search OpenTable restaurant data. It eliminates the need to download, parse and import data from XLS file. Its an open-source project, hosted on Github.
Status: Project and API data are no longer maintained.
GET /api/stats
Returns response:
{
"countries": 20,
"cities": 2700,
"restaurants": 25000
}
GET /api/cities
Returns response:
{
"count": 1234,
"cities": [
"Chicago",
"San Francisco",
"New York"
]
}
GET /api/restaurants
Parameters: (at least one required)
price
- Price range for the restaurant. Values: 1-4.name
- Name of the restaurantaddress
- Address line. Should not contain state or city or zip.state
- State code (ex.: IL)city
- City name (ex.: Chicago)zip
- Zipcode (ex: 60601)country
- Country code (ex: US)page
- Page (default: 1) per_page
- Entries per Page, can be one of [5, 10, 15, 25, 50, 100] (default: 25)Returns response:
{
"count": 521,
"per_page": 25,
"current_page": 1,
"restaurants": [ ... ]
}
GET /api/restaurants/:id
Returns a single restaurant record, see reference for details. Example:
{
"id": 107257,
"name": "Las Tablas Colombian Steak House",
"address": "2942 N Lincoln Ave",
"city": "Chicago",
"state": "IL",
"area": "Chicago / Illinois",
"postal_code": "60657",
"country": "US",
"phone": "7738712414",
"lat": 41.935137,
"lng": -87.662815,
"price": 2,
"reserve_url": "http://www.opentable.com/single.aspx?rid=107257",
"mobile_reserve_url": "http://mobile.opentable.com/opentable/?restId=107257",
"image_url": "https://www.opentable.com/img/restimages/107257.jpg"
}
Restaurant attributes:
{
"id": 107257,
"name": "Las Tablas Colombian Steak House",
"address": "2942 N Lincoln Ave",
"city": "Chicago",
"state": "IL",
"area": "Chicago / Illinois",
"postal_code": "60657",
"country": "US",
"phone": "7738712414",
"lat": 41.935137,
"lng": -87.662815,
"price": 2,
"reserve_url": "http://www.opentable.com/single.aspx?rid=107257",
"mobile_reserve_url": "http://mobile.opentable.com/opentable/?restId=107257",
"image_url": "https://www.opentable.com/img/restimages/107257.jpg"
}
To generate a proper reservation link just ref parameter with your affiliate ID to reserve_url or mobile_reserve_url
You can use simple client library i wrote — https://gist.github.com/2504683
Example:
api = OpenTable::Client.new
# Find restaurants
resp = api.restaurants(:city => "Chicago")
# Process response
resp['count'] # => records found
resp['restaurants'] # => restaurant records
# Fetch a single record
api.restaurant(81169)
Please DO NOT contact author about services and products not related to this project.
This software is distributed under MIT license