HRS Reviews Scraper
Pricing
from $3.00 / 1,000 reviews
HRS Reviews Scraper
Scrape HRS hotel reviews and ratings. Extract guest comments, category ratings, reviewer profiles, and aggregated hotel scores. Supports multiple hotels, date filtering, and review limits. Outputs clean, structured JSON ready for travel analytics, hospitality intelligence, and AI workflows.
Pricing
from $3.00 / 1,000 reviews
Rating
5.0
(1)
Developer
knagymate
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share
Scrape structured HRS hotel reviews and rating data with an Apify Actor built for travel analytics, hospitality intelligence, and SEO workflows.
This project collects guest review records from HRS hotel pages and returns clean JSON output with:
- review metadata (review/stay dates, reviewer profile fields, locale, language)
- positive and negative guest comments
- detailed category ratings per review
- hotel-level aggregated rating summary
Why this scraper
- Built for HRS review scraping with stable ID resolution from hotel URLs.
- Supports multiple hotels in one run via
startUrls. - Optional date filtering with
cutoffDatefor incremental scraping. - Configurable cap using
maxReviewsPerHotel. - Can return a
summaryrecord even when no review passes filters (alwaysReturnSummary). - Output is AI-ready and analytics-friendly for ETL pipelines.
Supported HRS URLs
Use standard HRS hotel detail URLs, for example:
https://www.hrs.com/en/hotel/391864
The Actor resolves the final URL, extracts the hotel ID, and requests review data from HRS rating endpoints.
Input schema
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | array | Yes | - | HRS hotel URLs to process |
maxReviewsPerHotel | integer | No | 100 | Maximum number of returned review records per hotel |
cutoffDate | string (YYYY-MM-DD) | No | - | Keep reviews on/after this date |
alwaysReturnSummary | boolean | No | true | Push a summary record when no review record is returned |
cutoffDate is interpreted as a local date (Europe/Berlin assumption from input schema).
Example input
{"startUrls": [{ "url": "https://www.hrs.com/en/hotel/391864" }],"maxReviewsPerHotel": 100,"cutoffDate": "2025-01-01","alwaysReturnSummary": true}
Output format
The Actor stores results in the default Apify dataset.
Output field documentation is provided in the generated output section based on DATASET_SCHEMA.
Example output item (recordType: review)
{"recordType": "review","reviewId": "317018243","reviewDate": "2026-05-29 11:14:44.207000+00:00","arrivalDate": "2026-03-27 00:00:00+00:00","departureDate": "2026-03-30 00:00:00+00:00","reviewerName": "J\u00fcrgen B.","reviewerType": "BUSINESS","reviewerAgeGroup": "UP_TO_59","locale": "en","language": "eng","reviewerCommentPositive": "Die zentrale Lage ist nahezu perfekt.","reviewerCommentNegative": null,"hotelRecommendation": true,"ratings": {"average": 8.4,"breakfastService": 8.0,"friendlinessOfReception": 9.0},"hotelSummary": {"hotelId": "391864","startUrl": "https://www.hrs.com/en/hotel/391864","actualUrl": "https://www.hrs.com/en/hotel/391864","ratings": {"average": 9.1,"pricePerformanceRatio": 8.7}}}
How to use on Apify
- Open the Actor on Apify.
- Add one or more HRS hotel URLs to
startUrls. - Optionally set
maxReviewsPerHotelandcutoffDate. - Run the Actor and export results from the dataset.
If this Actor helps your workflow, a rating on Apify is appreciated.