TopHotels Reviews Scraper avatar

TopHotels Reviews Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
TopHotels Reviews Scraper

TopHotels Reviews Scraper

Scrape hotel reviews, ratings, and detailed service scores from TopHotels.ru by hotel URL or ID.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

One House

One House

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

a day ago

Last modified

Share

TopHotels Hotel & Reviews Scraper

Extract hotel aggregate stats and guest reviews from TopHotels.ru using a normal hotel page URL or hotel ID.

Ideal for reputation monitoring, competitor analysis, and hospitality data pipelines focused on Russian-speaking travel markets.

What you get

Hotel-level stats

These fields are attached to every review row. A full summary is also saved in the key-value store as HOTEL_INFO_{hotelId}.

  • Overall rating (e.g. 4.62 on a 1–5 scale) and star class (e.g. 5)
  • Recommendation breakdown: recommend %, counts for recommend / abstain / not recommend
  • Aggregate category scores: accommodation, service, food
  • Total ratings & reviews count, plus count affecting the rating
  • Engagement: likes, subscribers, visitors, currently at hotel, planned visits
  • Review source split: tourists vs travel agents
  • Yearly rating history (ratingsByYear: rating, change, reviews added per year)
  • Hotel name, country, city, and location

Review-level data

  • Review title, text, and type (full review, mini review, service rating, etc.)
  • Overall rating on a 1–5 scale, plus accommodation / service / food scores
  • Recommendation status (recommend, not recommend, abstain)
  • Visit dates, trip type, and stay confirmation flag
  • Detailed service category ratings (WiFi, beach, animation, rooms, etc.)
  • Author name, city, profile stats, and engagement metrics (views, comments, useful votes)
  • Full review text (enabled by default)
  • Hotel / business replies to reviews (when posted by the property)

How to use

  1. Open this Actor and click Start
  2. Add TopHotels hotel URLs under Hotel URLs, or paste hotel IDs under Hotel IDs (327877 or al327877)
  3. Set Max reviews per hotel (0 = all available reviews)
  4. Fetch full review text is enabled by default.

Finding the hotel ID

The hotel slug is in the URL:

  • https://tophotels.ru/hotel/al327877
  • Numeric ID: 327877

Input example

{
"startUrls": [
{
"url": "https://tophotels.ru/hotel/al327877"
}
],
"maxReviews": 100,
"fetchFullText": true
}

Output example

Each dataset item is one review. Hotel stats are denormalized onto each row for easy filtering and export:

{
"reviewId": "2789424",
"reviewUrl": "https://tophotels.ru/review/2789424",
"hotelId": "327877",
"hotelSlug": "al327877",
"hotelName": "Xanadu Makadi Bay 5*",
"hotelUrl": "https://tophotels.ru/hotel/al327877",
"hotelLocation": "Египет, Макади Бэй",
"hotelRatingValue": 4.62,
"hotelStarRating": 5,
"hotelRecommendPercent": 83.2,
"hotelRecommendCount": 326,
"hotelAbstainCount": 36,
"hotelNotRecommendCount": 30,
"hotelAccommodationRating": 4.62,
"hotelServiceRating": 4.62,
"hotelFoodRating": 4.62,
"hotelReviewCount": 481,
"hotelListReviewCount": 477,
"hotelRatingsAffectingCount": 218,
"hotelLikesCount": 248,
"hotelSubscribersCount": 239,
"hotelVisitorsCount": 707,
"hotelCurrentlyAtHotelCount": 2,
"hotelPlannedVisitCount": 7,
"title": "Суперотдых",
"text": "В отеле понравилось абсолютно все...",
"overallRating": 5,
"ratingScale": 5,
"accommodationRating": 5,
"serviceRating": 5,
"foodRating": 5,
"recommendation": "recommend",
"reviewType": "Мини отзыв",
"visitDates": "04.06.26 - 13.06.26",
"tripType": "Отдых парой",
"authorName": "Владимир",
"authorCity": "Сызрань",
"source": "tophotels",
"scrapedAt": "2026-07-14T18:45:00.000Z"
}

Hotel summary (HOTEL_INFO_{hotelId})

The key-value store entry includes the same hotel fields plus ratingsByYear, reviewsFromTourists, and reviewsFromAgents:

{
"hotelId": "327877",
"hotelSlug": "al327877",
"hotelName": "Xanadu Makadi Bay 5*",
"ratingValue": 4.62,
"starRating": 5,
"recommendPercent": 83.2,
"reviewCount": 481,
"listReviewCount": 477,
"likesCount": 248,
"visitorsCount": 707,
"ratingsByYear": [
{ "year": 2026, "rating": 4.63, "change": 0.18, "reviewsAdded": 30 }
]
}

Limitations

  • Only public published reviews are returned.
  • Hotel stats reflect the values visible on the hotel page at scrape time.