OpenTable API
opentable.com
OpenTable restaurants: search, details, menus, open times and table holds.
- Actions
- 7
- Category
- Food Dining
- Login
- Not required
- Output
- JSON
Call the OpenTable API
Submit a task, then poll the job until it settles. This example runs opentable_cancel_reservation.
curl -X POST https://api.anakin.io/v1/wire/task \
-H "X-API-Key: $ANAKIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"action_id": "opentable_cancel_reservation",
"params": {
"restaurant_id": "1207555"
}
}'7 actions on opentable.com
Read
Cancel Reservation
opentable_cancel_reservationread10 credits / callStep 7 (if needed). Cancel a booking made with Confirm Reservation. Needs the restaurant_id, confirmation_number and security_token that Confirm Reservation returned.
- restaurant_id
- string · required
- confirmation_number
- string
- security_token
- string
Confirm Reservation
opentable_confirm_reservationread10 credits / callStep 6. Book the table. Two ways to call it: (A) after Hold Table, pass its slot_lock_id, slot_hash, slot_availability_token and datetime; (B) without a hold, give date, time and party_size and it holds the nearest open table itself. With confirm=false (default) nothing is booked: it holds the table and shows what would be booked. With confirm=true and the guest's first_name, last_name, email and phone it books and returns confirmation_number and security_token (keep both: Cancel Reservation needs them). OpenTable emails the guest. Restaurants that require a credit card can't be booked here and return a clear message.
- restaurant_id
- string · required
- date
- string
- time
- string
- party_size
- integer
- confirm
- boolean
- first_name
- string
- last_name
- string
- string
- phone
- string
- phone_country
- string
- special_requests
- string
- occasion
- string
- datetime
- string
- slot_lock_id
- string
- slot_hash
- string
- slot_availability_token
- string
Hold Table
opentable_hold_slotread10 credits / callStep 5. Hold one table for a few minutes so nobody else takes it while the guest confirms. Holds the exact slot when slot_hash and slot_availability_token are given, otherwise the open Standard table nearest to time. Returns slot_lock_id, slot_hash, slot_availability_token and datetime: pass all four to Confirm Reservation within a few minutes.
- restaurant_id
- string · required
- date
- string
- time
- string
- party_size
- integer
- slot_hash
- string
- slot_availability_token
- string
Location Search
opentable_location_searchread10 credits / callStep 1 (optional). Turn what the guest said into an OpenTable place: a city ('Chicago'), a neighborhood ('West Loop'), a cuisine ('sushi') or a restaurant name. Returns matching places with their type and coordinates.
- query
- string · required
Restaurant Details
opentable_restaurant_detailsread10 credits / callStep 3 (optional). Everything about one restaurant: description, address, phone, hours, cuisines, price band, ratings (overall, food, service, ambience, value), review summary, photos, menus with prices, popular dishes, dress code, parking and payment options.
- restaurant_id
- string · required
Search Restaurants
opentable_search_restaurantsread10 credits / callStep 2. Find restaurants on OpenTable near a place for a date, time and party size. Returns 50 per page, each with restaurant_id (needed by every later step), name, cuisine, neighborhood, price band, rating, review count and photos.
- location
- string
- query
- string
- date
- string
- time
- string
- party_size
- integer
- page
- integer
- latitude
- number
- longitude
- number
Table Availability
opentable_availabilityread10 credits / callStep 4. Open reservation times at one restaurant around a date and time. Each slot has time, datetime, type, slot_hash and slot_availability_token. Only type 'Standard' slots can be held and booked here ('Experience' slots are ticketed events). Pass the chosen slot's slot_hash and slot_availability_token to Hold Table.
- restaurant_id
- string · required
- date
- string
- time
- string
- party_size
- integer
OpenTable API questions
- Is there an API for OpenTable?
- OpenTable does not offer a public data API for this, but Anakin Wire provides 7 maintained endpoints for opentable.com. You call Anakin's REST API with an action ID and parameters and get structured JSON back; Anakin handles the browser, proxies, anti-bot, and parsing.
- How do I scrape OpenTable data?
- POST to https://api.anakin.io/v1/wire/task with your API key, the action ID, and its parameters, then poll GET /v1/wire/jobs/{id} until the job settles. There is nothing to install and no scraper to maintain — when opentable.com changes its markup, Anakin updates the action.
- Do I need a OpenTable account?
- No. Every OpenTable action listed here runs anonymously — no account and no credentials required.
- What does the OpenTable API cost?
- Usage-based credits, charged per call and refunded automatically when a job fails. New accounts start with 300 free credits and no card. See anakin.io/pricing for the current rates.
More Food Dining APIs
101 Cookbooks
Whole-foods recipe blog - recipe categories, full recipes with ingredients, and article roundups.
Allmenus
Allmenus - restaurant search by city, menus with dish prices, and cuisine filters.
Allrecipes
Allrecipes - recipe search by keyword or ingredient, categories, and recipe details.
Ambitiouskitchen
Recipe site - categories, recipe details, ingredients, steps, and ratings.
Applebee's
Applebee's - menu, item prices, locations, and nutrition info.
Arbys
Arby's quick-service chain - menu categories, prices, nutrition facts, and store locations.