Tripadvisor Scraper avatar

Tripadvisor Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Tripadvisor Scraper

Tripadvisor Scraper

Scrape Tripadvisor hotel listings, restaurants, and attractions. Extract names, ratings, reviews, prices, and location data for travel market research.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

cloud9

cloud9

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

13 hours ago

Last modified

Share

TripAdvisor Scraper | Hotel & Restaurant Reviews

Extract comprehensive hotel and restaurant data from TripAdvisor including ratings, reviews, prices, rankings, and amenities. Perfect for travel planning, competitive analysis, and market research.

Features

  • Global Coverage: Scrape hotels and restaurants from any location worldwide
  • Rich Data Extraction: Names, ratings, review counts, price ranges, rankings, addresses, images, amenities (hotels), cuisine types (restaurants), and top review snippets
  • Smart Scraping: Handles cookie consent popups, uses residential proxies, and implements rate limiting
  • Flexible Search: Search by query and location with customizable result limits
  • Travel Category Focus: Optimized for hotel comparison, travel planning, and competitive analysis

Use Cases

  1. Travel Planning: Compare hotels and restaurants in your destination
  2. Competitive Analysis: Monitor competitor ratings and reviews
  3. Market Research: Analyze travel trends and customer preferences
  4. Price Intelligence: Track pricing and ranking changes over time
  5. Review Analysis: Extract customer sentiment and feedback

Input

FieldTypeRequiredDescription
searchQuerystringWhat to search for (e.g., "luxury hotels", "italian restaurants")
locationstringCity or region (e.g., "Tokyo", "Paris", "New York City")
typeenumType of place: hotel or restaurant (default: hotel)
maxResultsintegerMaximum results to scrape (1-200, default: 50)
proxyConfigurationobjectProxy settings (default: residential proxy enabled)

Input Example

{
"searchQuery": "luxury hotels",
"location": "Tokyo",
"type": "hotel",
"maxResults": 100,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output

Each result contains:

{
"name": "Hotel Name",
"rating": 4.5,
"reviewCount": 1234,
"priceRange": "$$$",
"ranking": "#1 of 500 hotels in Tokyo",
"address": "1-1-1 Shinjuku, Tokyo",
"url": "https://www.tripadvisor.com/Hotel_Review-...",
"imageUrl": "https://...",
"amenities": ["Free WiFi", "Pool", "Spa"],
"cuisineType": ["Italian", "Mediterranean"],
"topReviews": [
"Amazing stay with excellent service...",
"Beautiful location and great facilities...",
"Would definitely recommend..."
],
"scrapedAt": "2026-02-12T12:00:00.000Z"
}

Output Fields

FieldTypeDescription
namestringName of the hotel/restaurant
ratingnumberRating out of 5.0
reviewCountnumberTotal number of reviews
priceRangestringPrice range indicator ($, $$, $$$, $$$$)
rankingstringRanking in the location
addressstringPhysical address
urlstringTripAdvisor URL
imageUrlstringMain image URL
amenitiesarrayList of amenities (hotels only)
cuisineTypearrayTypes of cuisine (restaurants only)
topReviewsarrayTop 3 review snippets
scrapedAtstringISO timestamp of scraping

Pricing

$5 per 1,000 results

Includes:

  • Residential proxy bandwidth
  • Compute resources
  • Data storage

Performance

  • Speed: ~3-5 seconds per result (includes rate limiting)
  • Success Rate: >95% with residential proxies
  • Concurrency: 2 concurrent requests (optimized for reliability)
  • Rate Limiting: 3-second delay between requests to avoid blocking

Technical Details

Technologies

  • Crawler: Playwright with Chromium (handles dynamic content)
  • Proxy: Residential proxies by default (better success rate)
  • Language: TypeScript (type-safe, maintainable)
  • Platform: Apify (scalable, managed infrastructure)

Anti-Blocking Features

  1. Cookie Consent Handling: Automatically accepts GDPR popups
  2. Multiple Selector Fallbacks: Adapts to page structure changes
  3. Residential Proxies: Mimics real user traffic
  4. Rate Limiting: 3-second delay prevents detection
  5. Graceful Error Handling: Retries failed requests up to 3 times

Data Quality

  • Validation: All extracted data is validated and cleaned
  • Completeness: Missing fields are set to null (not omitted)
  • Consistency: Standardized output format across all results
  • Timestamps: Every result includes scrapedAt for tracking

Limitations

  1. Rate Limits: TripAdvisor may block excessive requests (use residential proxies)
  2. Dynamic Content: Some features require JavaScript rendering (handled by Playwright)
  3. Location Restrictions: Some regions may have limited data
  4. Max Results: Capped at 200 per run to ensure reliability

Best Practices

  1. Use Residential Proxies: Default configuration is optimal for most use cases
  2. Specific Queries: More specific search queries yield better results
  3. Reasonable Limits: Start with 50 results to test, then scale up
  4. Regular Monitoring: Check success rate and adjust if needed
  5. Data Storage: Export to dataset or database for long-term storage

Troubleshooting

No Results Found

  • Check Search Query: Ensure query is specific and relevant
  • Verify Location: Use full city names (e.g., "New York City" not "NYC")
  • Type Filter: Ensure type matches your query (hotel vs restaurant)

Low Success Rate

  • Enable Residential Proxies: Default configuration already uses them
  • Reduce Concurrency: Lower concurrent requests if rate limited
  • Increase Delays: Extend rate limiting to 5+ seconds

Missing Data Fields

  • Normal Behavior: Not all listings have all fields (e.g., price range)
  • Check Source: Verify data exists on TripAdvisor's website
  • Update Selectors: Contact support if selectors are outdated

Support

License

MIT License - Free to use for personal and commercial projects.


Developed by TARS | Travel Data Intelligence Platform

Disclaimer: This scraper is for educational and research purposes. Always respect TripAdvisor's Terms of Service and robots.txt. Use responsibly.