OpenTable Scraper
Pricing
from $1.49 / 1,000 results
OpenTable Scraper
Extract comprehensive restaurant data from OpenTable, including menus, user reviews, ratings, and location details. Ideal for market research and dining analytics. For seamless extraction and to avoid IP blocking, using residential proxies is highly advised.
Pricing
from $1.49 / 1,000 results
Rating
5.0
(1)
Developer
Shahid Irfan
Maintained by CommunityActor stats
2
Bookmarked
51
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
OpenTable Restaurants Scraper
Extract restaurant listing data from OpenTable for market research, lead generation, location analysis, and competitive tracking. Collect names, URLs, cuisine, prices, ratings, review counts, reservation activity, addresses, phone numbers, photos, and dining features.
Features
- Restaurant Listings - Collect structured restaurant records from OpenTable search, metro, neighborhood, cuisine, landmark, and profile URLs.
- Rich Business Details - Extract cuisine, price band, ratings, reviews, reservation counts, contact data, address, and photos when available.
- Pagination Support - Automatically collects multiple listing pages until your result or page limit is reached.
- Clean Dataset - Empty values are removed so exports stay compact and easier to analyze.
- Flexible Inputs - Start from a broad metro page, a filtered search page, or a direct restaurant profile.
Use Cases
Restaurant Market Research
Compare restaurants across cities, neighborhoods, cuisines, and price ranges. Use ratings, reviews, reservations, and location fields to understand competitive density.
Lead Generation
Build targeted restaurant prospect lists with names, URLs, phone numbers, cuisine types, neighborhoods, and addresses.
Location Analysis
Map restaurant coordinates and compare cuisine concentration by city or area.
Competitive Monitoring
Track restaurants over time and monitor changes in ratings, price bands, photos, and reservation activity.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | Array | No | Las Vegas metro URL | OpenTable URL to scrape. Search URLs paginate best. |
results_wanted | Integer | No | 20 | Maximum number of restaurant listings to collect. |
max_pages | Integer | No | 3 | Maximum number of listing pages to fetch. |
proxyConfiguration | Object | No | Apify Proxy | Proxy settings. Residential proxies are recommended for larger runs. |
Output Data
Each item in the dataset represents one restaurant listing:
| Field | Type | Description |
|---|---|---|
restaurantId | Number | OpenTable restaurant ID. |
name | String | Restaurant name. |
url | String | OpenTable profile URL. |
price | String | Price band or price label. |
cuisine | String | Primary cuisine. |
neighborhood | String | Restaurant neighborhood or area. |
rating | Number | Overall rating. |
reviewCount | Number | All-time text review count. |
recentReservationCount | Number | Recent reservation activity shown by OpenTable. |
description | String | Restaurant description. |
address | String | Full address. |
phoneNumber | String | Restaurant phone number. |
profileImage | String | Main image URL. |
galleryImages | Array | Additional images. |
latitude | Number | Restaurant latitude. |
longitude | Number | Restaurant longitude. |
hasTakeout | Boolean | Whether takeout is shown. |
hasPrivateDining | Boolean | Private dining flag. |
Usage Examples
Metro Listing
Collect restaurants from a metro page:
{"startUrls": [{ "url": "https://www.opentable.com/metro/las-vegas-restaurants" }],"results_wanted": 20,"max_pages": 3}
Search Results
Use a filtered search URL for pagination:
{"startUrls": [{ "url": "https://www.opentable.com/s?covers=2¤tview=list&datetime=2026-07-12T19%3A00&latitude=36.121451&longitude=-115.172629&metroId=10&term=Las%20Vegas" }],"results_wanted": 100,"max_pages": 5}
Single Restaurant Profile
Collect one listing record from a profile URL:
{"startUrls": [{ "url": "https://www.opentable.com/r/tao-asian-bistro-las-vegas" }],"results_wanted": 1}
Sample Output
{"restaurantId": 5056,"name": "TAO Asian Bistro - Las Vegas","url": "https://www.opentable.com/r/tao-asian-bistro-las-vegas","price": "$50 and over","cuisine": "Contemporary Asian","neighborhood": "The Venetian and Palazzo","rating": 4.6,"reviewCount": 13898,"recentReservationCount": 196,"description": "TAO Asian Bistro invites you into a world of bold Pan-Asian flavors and captivating ambiance.","address": "3377 S. Las Vegas Blvd., Suite 2025, Las Vegas, NV, 89109","phoneNumber": "+7023888338","hasTakeout": true,"profileImage": "https://resizer.otstatic.com/v3/photos/29631200-1?width=320&height=180&webp=true"}
Tips for Best Results
Start With Search URLs
- Search URLs provide the cleanest pagination.
- Metro URLs work for broad city collection.
- Direct restaurant URLs are best for one-record checks.
Set Practical Limits
- Use
results_wantedof20for quick tests. - Increase
max_pagesfor larger collections. - Each page can contain up to 50 restaurants.
Integrations
- Google Sheets - Review and filter restaurant leads.
- Airtable - Build searchable restaurant directories.
- Slack - Send run alerts or new listing notifications.
- Webhooks - Move data into your own systems.
Export Formats
- JSON - For developers and data apps.
- CSV - For spreadsheets and lead lists.
- Excel - For business reporting.
- XML - For system imports.
Frequently Asked Questions
Can I scrape OpenTable metro pages?
Yes, metro pages are supported and converted to listing collection when location data is available.
Can I collect more than one page?
Yes, set max_pages above 1 and increase results_wanted to collect additional restaurants.
Does it collect restaurant reviews?
No, this actor collects restaurant listings. It includes rating and review count fields, but not individual review text.
Why are some fields missing?
Some restaurants do not publish every field. Empty values are removed from each dataset item.
Can I use filtered URLs?
Yes, filtered OpenTable search URLs can be used as start URLs, including location and cuisine searches.
Support
For issues or feature requests, contact support through the Apify Console.
Resources
Legal Notice
This actor is designed for legitimate data collection, market research, and business analysis. Users are responsible for complying with OpenTable's terms of service and applicable laws. Use data responsibly and respect reasonable collection limits.