Tripadvisor Restaurants Scraper avatar

Tripadvisor Restaurants Scraper

Pricing

from $1.00 / 1,000 restaurant-listeds

Go to Apify Store
Tripadvisor Restaurants Scraper

Tripadvisor Restaurants Scraper

Scrape every restaurant Tripadvisor lists for a city. Just add a city and get name, rating, review count, cuisines, price level, address, phone, coordinates, opening hours, menu link, awards and reservation details. Filter by cuisine, diet, meal, price, rating and neighbourhood.

Pricing

from $1.00 / 1,000 restaurant-listeds

Rating

0.0

(0)

Developer

BonCross API

BonCross API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

What is Tripadvisor Restaurants Scraper?

Tripadvisor stops a restaurant list at 10,000, and Paris has 19,828. Tripadvisor Restaurants Scraper keeps going: it returned 19,200 of them in about four and a half minutes. Give it a city and you get its restaurants with the rating, cuisines, price level, address, phone, coordinates and the week's opening hours for each.

You'd use this one to build the list. When you want everything about one restaurant, Tripadvisor Place Details takes the same ids, and Tripadvisor Reviews returns what diners wrote.

Three things make the list worth having:

  • Size. One city in full, past the 10,000 a single Tripadvisor list shows. 96.8% of Paris came back.
  • Fifteen filters. Cuisine, establishment type, dietary option, meal, dish, feature, "good for", MICHELIN Guide, neighbourhood, rating, award, price level, open now, online reservations and online delivery. You pay only for the restaurants that match.
  • Opening hours you can compute with. Each day is a list of opening and closing times, filled on 100% of 420 restaurants across 14 cities.

It costs $1.60 per 1,000 restaurants on the Free plan and $1.00 on Business, with nothing else to pay.

BonCross Verified means we tested this actor against the live site before release and kept the record:

  • 37 of 37 live checks on its inputs and filters passed on 7 October 2026
  • 12 cities run the same day: 289 restaurants, none empty
  • Charges checked against the 289 rows
  • A name that matches the wrong city gets an uncharged row saying so

What data can you extract?

FieldDescription
🏷️ NameThe restaurant's name on Tripadvisor
⭐ RatingThe overall score out of five
ReviewsHow many reviews the restaurant has
🍣 CuisinesThe cuisines Tripadvisor lists for it
Establishment typeRestaurant, bakery, café, bar and so on
💲 Price level$, $$ - $$$ or $$$$
🕐 Opening hoursEach day's opening and closing times
Open nowWhether it is open as the run starts, and the site's wording
🏠 AddressFull address, postcode and country
☎️ PhoneAs the restaurant publishes it
📍 CoordinatesLatitude and longitude
📖 MenuA link to the menu, where one is listed
📅 ReservationsWhether it takes online bookings, and through whom
🛵 DeliveryWhether it offers online delivery
🏆 AwardTravelers' Choice or Best of the Best, and the year
💬 Review snippetsTwo short quotes with links to the reviews
🖼️ PhotoThe lead photo
🔗 LinkThe restaurant's Tripadvisor page

How much does it cost to scrape Tripadvisor restaurants?

EventFree planStarterScaleBusiness
actor-start, per run$0.001$0.001$0.001$0.001
city-checked, per city that returns no restaurant (all of them filtered out)$0.0005$0.0005$0.0005$0.0005
restaurant-listed, per restaurant$0.0016$0.00144$0.00125$0.001

Enterprise plans pay the Business price.

$1.60 per 1,000 restaurants on the Free plan, $1.00 on Business. There's no proxy to set up and no proxy charge, and platform usage is included.

  • One city, first 1,000 restaurants: $0.001 + 1,000 × $0.0016 = $1.601 ($1.00 on Business).
  • The whole of Paris (19,200 rows): $0.001 + 19,200 × $0.0016 = $30.721 ($19.20 on Business).

A city that couldn't be listed, or a name we refused, costs nothing. If a city was listed but your filters left no restaurant in it, you pay the $0.0005 city-checked fee once.

On Apify's Free plan, the $5 of monthly credits covers about 3,100 restaurants.

How to scrape Tripadvisor restaurants

There's no code to write.

  1. Open a free Apify account and go to Tripadvisor Restaurants Scraper.
  2. Enter one or more cities: a name, a Tripadvisor link, or an id such as g187147.
  3. Pick a sort and any filters, and say how many restaurants you want per city.
  4. Press Start.
  5. Download the list as Excel, CSV or JSON.

⬇️ Input

All you have to enter is a city.

Type its name, in English or in the city's own script (Paris, 東京, 서울, Москва), or paste a Tripadvisor link for any page of the city, or give its id (g187147). A close misspelling such as Pari still finds Paris. The city each name resolved to is written on the rows. For a name in a third language (Londres) or one that many places share, the link or the id is safer. "Start URLs (bulk upload)" takes the same links from a file or a Google Sheet.

"Maximum restaurants per city" (default 100) decides how many restaurants each city returns. Zero means all of them. "Maximum restaurants for the whole run" caps the total across your cities.

The 50 best-rated Japanese restaurants in Paris

{
"locations": ["https://www.tripadvisor.com/Restaurants-g187147-Paris_Ile_de_France.html"],
"cuisines": ["Japanese"],
"sortBy": "highestRated",
"maxItemsPerLocation": 50
}

Fine dining in two cities, bookable online

{
"locations": ["New York City", "g186338"],
"priceLevels": ["fineDining"],
"onlyWithReservations": true,
"maxItemsPerLocation": 200
}

The complete list for a city

{
"locations": ["g187147"],
"maxItemsPerLocation": 0
}

The filters

Filters take the labels Tripadvisor shows on the city's Restaurants page, or their ids. If you use a label that city doesn't offer, the city stops with a row listing the labels it does offer.

InputExamples and options
establishmentTypesRestaurants, Bakeries, Coffee & Tea, Bars & Pubs, Dessert, Quick Bites. Several are combined with OR. Empty means restaurants
cuisinesJapanese, Italian, French, Indian, Seafood. Several are combined with OR
dietaryRestrictionsVegetarian friendly, Vegan options, Gluten free options, Halal, Kosher
mealTypesBreakfast, Brunch, Lunch, Dinner, Late Night, Drinks
featuresTakeout, Outdoor Seating, Reservations, Wheelchair Accessible, Serves Alcohol
dishesA dish the restaurant is known for: Foie gras, Pizza, Sushi, Ramen
goodForFamilies with children, Romantic, Business meetings, Large groups, Scenic view
michelinGuideMICHELIN 1 Star, MICHELIN 2 Stars, MICHELIN Bib Gourmand, MICHELIN Guide (any)
neighborhoodsNeighbourhood names as the city's Restaurants page lists them, for example Le Marais
minRatingRestaurants rated at least this out of 5: "3", "4" or "5"
awardstravelersChoice and/or bestOfTheBest. Both together means either award
priceLevelscheapEats, midRange and/or fineDining
openNow (default false)Restaurants open when the run starts, in the city's local time
onlyWithReservations / onlyWithDelivery (default false)Restaurants that take reservations or offer delivery online

The minimum rating is Tripadvisor's own rating filter, which works on rounded ratings: a restaurant rated 4.6 can appear under a minimum of 5.

You can sort in Tripadvisor's "Featured" order (the default) or by highest rating.

For developers

  • maxItemsPerLocation (default 100, 0 for all) applies per city, maxItems (default 0, no cap) to the run.
  • Setting maxItemsPerLocation above 10,000, or to 0, continues past the 10,000-restaurant list neighbourhood by neighbourhood and removes the restaurants listed twice.
  • If Tripadvisor answers a name with a different place that shares only a word with it (Asdfgh City comes back as New York City), the run refuses the match, writes an error row and charges nothing for that input.
  • A city entered twice, say by name and by id, is listed once, under whichever input came first.
  • With onlyWithReservations or onlyWithDelivery, a city that keeps nothing stops early: after 5 pages in a row with no restaurant kept, or after about three times the pages maxItemsPerLocation needs.

⬆️ Output

Restaurants arrive one per row, in the order of the sort you picked.

{
"id": "33226801",
"locationId": 33226801,
"name": "Osteria Degli Amici",
"url": "https://www.tripadvisor.com/Restaurant_Review-g187147-d33226801-Reviews-Osteria_Degli_Amici-Paris_Ile_de_France.html",
"rating": 4.8,
"ratingScale": 5,
"totalReviews": 63,
"cuisines": ["Italian", "Mediterranean", "Healthy", "Romana", "Lazio"],
"establishmentTypes": ["Restaurants"],
"priceLevelText": "$$ - $$$",
"isOpenNow": true,
"openStatusText": "Open now",
"openingHours": {
"mon": [{ "open": "18:30", "close": "22:30" }],
"tue": [{ "open": "12:00", "close": "22:30" }],
"…": "…"
},
"address": "14 Rue Mandar, 75002 Paris France",
"postcode": "75002",
"country": "France",
"phone": "+33 9 85 21 54 78",
"lat": 48.865772,
"lng": 2.345326,
"menuUrl": "https://www.osteriadegliamici.fr/_files/ugd/9c307b_6ea2d60d63834963a0adcd55c7512710.pdf",
"hasReservation": true,
"reservationProvider": "TheFork",
"hasDelivery": false,
"award": "travelersChoice",
"awardYear": 2026,
"isPremium": true,
"reviewSnippets": [{ "text": "Great restaurant", "url": "https://www.tripadvisor.com/ShowUserReviews-g187147-d33226801-r1074273238-Osteria_Degli_Amici-Paris_Ile_de_France.html" }],
"photoUrl": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/…jpg?w=1200&h=800&s=1",
"totalResults": 10000,
"searchGeoId": 187147,
"searchGeoName": "Paris",
"input": "g187147",
"position": 2,
"scrapedAt": "2026-10-04T18:46:30.086Z"
}
ColumnMeaning
id, locationIdTripadvisor's id for the restaurant, as text and as a number. It joins with the Tripadvisor reviews and place details scrapers
totalReviewsThe restaurant's review count
openingHoursmon … sun, each a list of {open, close} in local 24-hour time. An empty list is a closed day
isOpenNow, openStatusTextOpen as the run starts ("Closes in 20 min" counts as open), and the site's wording
hasReservation, reservationProvider, hasDeliveryOnline booking and delivery. Empty where Tripadvisor shows no booking block
award, awardYeartravelersChoice or bestOfTheBest
isPremiumTripadvisor's flag for a restaurant with an enhanced owner listing
totalResultsHow many restaurants matched the search on Tripadvisor (the site counts up to 10,000)
searchGeoId, searchGeoNameThe city searched, as resolved from your input
positionOrder in the list for that city
input, errorWhat you asked for and, on a row for a city that could not be listed, why

How often each column is filled

We measured the first 30 restaurants in each of 14 cities on five continents, 420 in all, on 4 October 2026.

ColumnFilled
Name, link, rating, reviews, coordinates, address, price level, opening hours, photo, review snippets100%
Cuisines99%
Phone98%
Postcode95%
Award66%
Menu link61%
Reservations, delivery38%

How do you get past 10,000 restaurants, and how long does it take?

RunRestaurantsTime
One city, first 1001008 s
14 cities, 30 each4204 s of scraping, about 10 s in all
One city, first 1,0001,0007 s
The whole of Paris19,200about 4.5 minutes

Tripadvisor shows at most 10,000 restaurants in one list. Set "Maximum restaurants per city" above 10,000, or to zero, and the run carries on neighbourhood by neighbourhood once the list ends, dropping the restaurants it has already returned. Paris counts 19,828 restaurants and returned 19,200 of them.

Be aware of where this stops. The neighbourhood lists cover most of a city, not all of it, and the share falls in the very largest cities.

Who uses a city's restaurant list?

Sales teams prospecting restaurants by price level, neighbourhood or booking provider. People building a restaurant database or a city guide, best-rated first. Delivery and travel apps that need opening hours. Researchers mapping a cuisine across cities, or finding the vegan-friendly, halal or gluten-free options in a destination. If you track Travelers' Choice winners year by year, the award and its year are on the row.

To run it from your own code, send the input JSON to https://api.apify.com/v2/acts/boncross~tripadvisor-restaurants-scraper/run-sync-get-dataset-items and the rows come back in the response for a short run. A full-city run is better started and collected later. AI agents reach it through the Apify MCP server as the tool tripadvisor-restaurants-scraper.

Limitations

  • You need a city. Regions and countries aren't restaurant lists. A country returns a row naming its biggest cities for you to use.
  • There's no search around a point for restaurants.
  • Past 10,000 restaurants, coverage depends on the city's neighbourhood lists (96.8% in Paris).
  • The "Featured" order is Tripadvisor's. "Highest rating" weighs review counts as well, which means it isn't strictly by rating.
  • Just after midnight local time, Tripadvisor's open-now filter can still include a place that closed late the night before. The row reports the status Tripadvisor shows.
  • Text is in English.
  • You get one lead photo and two review snippets per restaurant. A snippet can end in "...", as Tripadvisor shows it.
  • Phone numbers are as each restaurant publishes them, and formats differ.

FAQ

How do I get more than 10,000 restaurants?

Set "Maximum restaurants per city" above 10,000, or to zero for all of them. That's the only switch.

Which filter labels can I use?

The ones on the city's Tripadvisor Restaurants page. Cities differ: a label the city doesn't offer returns a row listing the ones it does.

Why is there a 4.6 in my 5-rated list?

Tripadvisor's rating filter works on the rounded bubbles it displays, not on the exact score, and a 4.6 can come through under a minimum of 5. Of 60 Paris restaurants on 7 October 2026, 59 were rated 5.0 and one 4.6. London gave 59 and one 4.9. You get the list as Tripadvisor filters it. The exact rating is on each row if you want to cut more strictly yourself.

I typed a city and got the wrong place, or an error row. What happened?

A name goes to the best-known destination called that. One in a third language can match a smaller place spelled the same way ("Londres" is also a town in Argentina). When Tripadvisor answers with a place that merely shares a word with what you typed, we refuse the match and you get a free row naming the place it would have been. The link or the id avoids both, because neither goes through the name check.

What if I list the same city twice?

It's listed once, under the first of your inputs.

Do I need proxies or a Tripadvisor account?

You don't need either one. Nothing is signed in to, and proxy usage is included.

These are listings Tripadvisor shows to anyone, signed in or not. Collecting public data is broadly lawful, and what you do with it is your responsibility under GDPR and similar rules. If you're unsure, ask a lawyer.

More from BonCross

Your feedback

Missing a restaurant you can see on Tripadvisor, or a filter label that should work and doesn't? Open an issue on the Issues tab in Apify Console and name the city. We read them and reply there.