Food Dining
OpenTable logo

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 / call

    Step 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 / call

    Step 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
    email
    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 / call

    Step 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 / call

    Step 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 / call

    Step 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 / call

    Step 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 / call

    Step 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

All Food Dining sites