Skip to content

OpenTable Scraper

Try for free

Scrape OpenTable restaurants from restaurant URLs, search pages or search terms: name, cuisine, price band, rating and sub-ratings, review count, address, coordinates, phone, website, hours, features, offers, menus, reviews and live reservation availability. No login needed.

🍽️ OpenTable Scraper

Scrape restaurants from OpenTable: name, cuisine, price band, star rating with food, service, ambience and value sub-ratings, review count, full address with coordinates, phone, website, opening hours, features, offers, photos and menus. Optionally add diner reviews and live reservation availability for any date and party size. Paste restaurant or search URLs, or just type a cuisine and a city. No login, no API key.

✨ Why use OpenTable Scraper?

  • ⚡ Fast — a full restaurant record in about a second, many restaurants in parallel.
  • 🧾 Complete records — ratings and sub-ratings, rating distribution, address, coordinates, phone, website, hours, dress code, dining style, payment options, parking, chef, offers, popular dishes, private dining and FAQs.
  • 📅 Live availability — bookable times for your date, time and party size, up to 7 days at once.
  • 💬 Reviews included — full text, overall and sub-ratings, visit and post dates, diner city and the restaurant's public reply.
  • 🔎 Search like on the website — search terms plus a location, or paste any OpenTable search URL.
  • 💸 Pay per result — no subscription, no monthly fee.

🎯 Use cases

  • 📈 Restaurant market research — compare ratings, price bands and cuisines across a city or neighborhood.
  • 🧲 Lead generation — build lists of restaurants with phone numbers, websites and addresses for B2B outreach.
  • 🗓️ Reservation monitoring — track how booked-out popular restaurants are on a given night.
  • ⭐ Reputation tracking — collect fresh reviews and sub-ratings for your own or competing venues.
  • 🍝 Menu and price analysis — export menus with item prices for pricing studies.
  • 🗺️ Mapping and data products — restaurant locations with coordinates for maps and apps.

🚀 How to use

  1. Paste OpenTable restaurant URLs (https://www.opentable.com/r/...) or search URLs (https://www.opentable.com/s?term=...), or type search terms such as sushi and a location such as Chicago.
  2. Set Max restaurants per search.
  3. Optionally turn on reviews and/or availability (date, time, party size).
  4. Click Start and wait for the run to finish.
  5. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
startUrlsRestaurant pages (/r/<name>, /restaurant/profile/<id>, any OpenTable country site) and search pages (/s?term=...).
searchQueriesSearch terms, e.g. steakhouse, rooftop, brunch.
locationCity, neighborhood, address or latitude,longitude for the search terms.
maxItemsMax restaurants saved per search (default 20).
minRating, minReviews, priceBandsFilter search results.
scrapeDetailsFull record per restaurant (on) or fast search-result rows only (off).
includeMenusAdd menus with prices (on by default).
includeReviews, maxReviewsPerRestaurant, reviewsSort, reviewsStartDateReviews and how many, in which order, from which date.
includeAvailability, availabilityDate, availabilityTime, partySize, availabilityDaysBookable reservation times.
{
  "searchQueries": ["italian"],
  "location": "New York",
  "maxItems": 20,
  "includeReviews": true,
  "maxReviewsPerRestaurant": 20,
  "includeAvailability": true,
  "availabilityDate": "2026-11-20",
  "availabilityTime": "19:30",
  "partySize": 2
}

📤 Output

One row per restaurant. Main fields:

FieldDescription
id, name, url, profileUrlOpenTable id, name and links
primaryCuisine, cuisines, priceBand, diningStyle, dressCodeWhat kind of place it is
rating, foodRating, serviceRating, ambienceRating, valueRating, noiseRatingStar ratings (1-5)
ratingCount, reviewCount, ratingDistribution, reviewTags, awards, reviewSummaryReview statistics
address, line1, city, state, postalCode, country, neighborhood, latitude, longitudeLocation
phoneNumber, formattedPhoneNumber, websiteContact
hours, features, paymentOptions, parkingInfo, publicTransit, executiveChefPractical details
offers, popularDishes, photos, photoCategories, privateDining, faqs, menusRich content
topReviewsThe 3 newest reviews (always included)
reviewsReviews, when turned on
availableSlots, availableSlotCount, noAvailabilityReasonsReservation times, when turned on
searchQuery, searchUrl, positionWhere the restaurant was found
{
  "id": "1426036",
  "name": "Jay's",
  "url": "https://www.opentable.com/r/jays-fort-lauderdale",
  "primaryCuisine": "Steakhouse",
  "cuisines": ["Steakhouse", "Seafood", "Prime Rib"],
  "priceBand": "$50 and over",
  "rating": 4,
  "foodRating": 4,
  "serviceRating": 4,
  "ambienceRating": 4.4,
  "valueRating": 3.7,
  "noiseRating": 2,
  "ratingCount": 241,
  "reviewCount": 519,
  "ratingDistribution": { "5": 140, "4": 21, "3": 33, "2": 25, "1": 22 },
  "diningStyle": "Casual Elegant",
  "dressCode": "Business Casual",
  "hours": "Tue–Thu, Sun 4:00 pm–11:00 pm\nFri, Sat 4:00 pm–12:30 am",
  "address": "441 NE 3rd Ave, Fort Lauderdale, FL 33301-3233, United States",
  "city": "Fort Lauderdale",
  "state": "FL",
  "postalCode": "33301-3233",
  "neighborhood": "Lauderdale Manors",
  "latitude": 26.127714,
  "longitude": -80.1410511,
  "formattedPhoneNumber": "(954) 329-0971",
  "website": "https://www.jaysfortlauderdale.com/",
  "features": ["Bar/Lounge", "Cocktails", "Entertainment", "Happy Hour", "Wheelchair Access"],
  "paymentOptions": ["AMEX", "Mastercard", "Visa"],
  "maxPartySize": 12,
  "reviews": [
    {
      "text": "Great live music and the ribeye was cooked perfectly. Service was a bit slow on a busy Saturday.",
      "rating": 4,
      "food": 5,
      "service": 3,
      "ambience": 5,
      "value": 4,
      "noise": "Energetic",
      "submittedAt": "2026-10-11T22:17:40Z",
      "dinedAt": "2026-10-10T20:15:00-04:00",
      "authorName": "Sam",
      "authorCity": "Miami"
    }
  ],
  "availableSlotCount": 23,
  "availableSlots": [
    { "date": "2026-10-16", "time": "18:45", "type": "Standard", "seating": ["default"], "points": 100 }
  ]
}

💰 Pricing

Pay per result:

  • $3.00 per 1,000 restaurants ($0.003 per restaurant row).
  • $0.50 per 1,000 reviews ($0.0005 per review), only when reviews are turned on.

Example: 1,000 restaurants with full details cost $3.00 in result fees; adding 20 reviews each adds $10.00. Platform usage (compute and proxy traffic) is billed on top at the normal platform rates; a full restaurant record uses about 0.2 MB of proxy traffic.

❓ FAQ

Is it legal to scrape OpenTable? The scraper only reads public restaurant pages that anyone can open without an account. Check OpenTable's terms and your local laws for your use case, and handle diner names in reviews according to privacy rules.

Do I need a login or an OpenTable account? No. Nothing needs logging in.

Do I need a proxy? A datacenter proxy is set by default and is all OpenTable needs. If its addresses get refused, the run switches to residential proxies automatically.

How many results can I get? OpenTable shows up to a few hundred restaurants per search (the run tells you how many exist). Use several search terms or locations for more.

Why is a field empty? OpenTable does not have it for that restaurant (for example, no menu or no website listed).

Can I schedule runs or use the API? Yes. Schedule the scraper or start it through the API and get results as JSON, CSV or Excel.

⚠️ Limits

  • Search returns what OpenTable's own search returns for the term and location (usually up to a few hundred restaurants).
  • Availability shows bookable times within 3 hours of the requested time for up to 7 days; it does not book tables.
  • Reviews are limited to 5,000 per restaurant per run, because they are saved inside the restaurant's row and one row must stay under the platform's 9 MB item limit.
  • Diner reviews include only the public display name and city.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.