Arcadium Data Scrapers
Home / Use cases / Analyse hotel guest reviews

Analyse hotel guest reviews

Compare guest satisfaction across your competitive set: scores, topics and owner replies from the platforms guests actually use.

Steps

  1. Collect the hotel page links on each platform.
  2. Run one actor per platform, or the combined hotel actor for Booking.com, Tripadvisor and Google in one run.
  3. Filter on rowType = review; summary and coverage rows tell you how complete each hotel is.
  4. Group by hotel, platform and month for the trend.

Actors for this job

Hotel Reviews Scraper

Give it a hotel name or its Tripadvisor, Booking.com, Google Hotels, Agoda and Trip.com links and it returns what guests say on every site in one dataset: one row per review with the rating on one 1-5 scale (the original kept), text, date and hotel reply, plus a free summary row per hotel with each site's rating, review counts and category scores compared with the city. $4.50 per 1,000 reviews on the free plan, less on paid plans; you pay only for rows you get.

$4.50 per 1,000 reviews on the Free plan, down to $0.80 on higher plans

Apify Store · Guide · Comparison

Booking.com Reviews Scraper

Give it Booking.com hotel URLs and it returns one JSON row per guest review: score (1-10 and on a 0-5 scale), what the guest liked and disliked as separate fields, title, date, language, traveler type, room type, nights, reviewer country and the hotel's reply. $1.80 per 1,000 reviews on the free plan, less on paid plans; you pay only for rows you get.

$1.80 per 1,000 reviews on the Free plan, down to $0.81 on higher plans

  • Reputation monitoring: pull the newest reviews every week with onlyNewReviews and watch what changes.
  • Competitor benchmarking: compare category scores (location, staff, value) across hotels in one city with the summary row.
  • Complaint mining: filter to poor and very poor scores and read the cons column.

Apify Store · Guide · Comparison

Tripadvisor Reviews Scraper

Give it Tripadvisor hotel, restaurant or attraction pages (or place names) and it returns one JSON row per review: rating, title, original-language text with an optional translation, date, sub-ratings, trip type, the owner reply with its date, and the place's overall rating and review count. $4.50 per 1,000 reviews on the free plan, less on paid plans; you pay only for rows you get.

$4.50 per 1,000 reviews on the Free plan, down to $0.80 on higher plans

  • Competitor tracking: export a rival hotel's newest reviews every week and watch what changes.
  • Reputation monitoring: pull only the 1 and 2 star reviews of your own places, in every language.
  • Sentiment analysis: feed review text, trip type and sub-ratings into your own model or spreadsheet.

Apify Store · Guide · Comparison

Quick start

Run the first actor from Python (set APIFY_TOKEN):

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("arcadium/hotel-reputation").call(run_input={
    "hotels": [{
        "name": "The Savoy London",
        "bookingUrl": "https://www.booking.com/hotel/gb/the-savoy.html",
    }],
    "maxReviewsPerSource": 20,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Or give an AI assistant all 3 actors as tools:

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/?tools=arcadium/hotel-reputation,arcadium/booking-reviews,arcadium/tripadvisor-reviews",
      "headers": {
        "Authorization": "Bearer <APIFY_TOKEN>"
      }
    }
  }
}