HolidayCheck Scraper [$0.9💰] | Reviews | Owner Replies
Pricing
from $0.90 / 1,000 results
HolidayCheck Scraper [$0.9💰] | Reviews | Owner Replies
Extract HolidayCheck hotel reviews, per-criteria ratings, owner replies and hotel summaries for reputation monitoring and market research. German-language review data from holidaycheck.de, .at and .ch - no API key required.
Pricing
from $0.90 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
HolidayCheck Scraper — Hotel Reviews, Ratings & Owner Reply Data
HolidayCheck Scraper extracts full guest review histories, per-criteria ratings, owner replies, photos and hotel summaries from holidaycheck.de (.de, .at, .ch) — the largest German-speaking hotel review platform, with 10+ million hotel ratings — for hotel reputation monitoring, DACH market research and guest feedback analysis. No API key and no browser needed: reviews are parsed directly from the public page data.
Hotel Reputation Monitoring, Market Research & Guest Feedback Analysis
- Hotel reputation monitoring — track new reviews, rating changes and owner replies for your property, chain or client portfolio on a daily basis.
- DACH hotel market research & competitive benchmarking — compare per-criteria scores (service, location, food, room, sport) across competing hotels in Germany, Austria and Switzerland.
- Guest feedback & sentiment analysis — every review row includes topic-level sentiment (positive/neutral/negative) with the exact guest quotes behind it, ready for NLP pipelines.
- Hotel review datasets for analytics SaaS & dashboards — build structured review databases (titles, full texts, ratings, travel dates) that feed BI tools, review widgets and hospitality software.
- Travel agency & tour operator supplier monitoring — keep an eye on the hotels you sell, by season and traveller type (couple, family, single, friends).
- Hospitality research & tourism studies — collect German-language review corpora with reviewer age groups and rating distributions for academic analysis.
Why Scrape HolidayCheck Reviews Instead of Using an API?
HolidayCheck offers a partner XML API, but it is only available to approved partners with a partner token and covers a limited field set. This actor needs no official API key and no partner agreement: it reads the data HolidayCheck already serves publicly on each hotel page and returns much richer fields — full review texts, per-criteria ratings, owner replies, topic sentiment with quotes, photo URLs and aggregated rating facets.
How HolidayCheck Scraper Works
HolidayCheck is an isomorphic React app that embeds its complete server-side state (window.__FLUXIBLE_STATE__) in every served HTML page. This actor fetches the hotel review page, parses that state blob (no browser rendering, no CAPTCHA solving, no login) and maps the three data stores into clean rows:
- HotelStore → hotel profile, aggregate rating, per-aspect-group ratings, contact data, geo coordinates.
- HotelReviewStore → up to 10 reviews per page with titles, texts, criteria ratings, reviewer meta, owner comments and media.
- ReviewFacetsStore → aggregated breakdowns by traveller type, age group, season, rating distribution and room type.
Pagination (?p=2, ?p=3, ...) runs automatically until your review limit is reached. got-scraping sends a browser-like TLS fingerprint that passes HolidayCheck's Akamai bot protection on most runs — no proxy needed for typical jobs.
Configure Hotel URLs and Review Limits
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array | ✅ Yes | — | HolidayCheck hotel URLs: review pages (/hr/bewertungen-{slug}/{uuid}), hotel info pages (/hi/{slug}/{uuid}), short review URLs (/hr/{uuid}) or bare hotel UUIDs. |
maxReviewsPerHotel | integer | No | 100 | Max reviews per hotel. 0 = all available reviews for the hotel. |
maxItems | integer | No | 1000 | Max dataset rows (reviews + hotel summaries). 0 = unlimited, bounded by the crawl request cap. |
includeHotelSummary | boolean | No | true | Push one summary row per hotel (aggregate ratings, contact info, facets) to the separate summaries dataset. |
maxConcurrency | integer | No | 3 | Pages fetched in parallel (1–20). Raise to 10–20 when proxy is enabled. |
requestDelayMs | integer | No | 1200 | Base delay between requests. Effective rate ≈ concurrency ÷ delay. |
proxy | object | No | off | Apify proxy configuration. Off by default; residential proxy recommended for large production runs. |
Extracted HolidayCheck Review Data
Output is split into two datasets:
Default dataset — one row per guest review:
| Field | Description |
|---|---|
rating01 | Internal HolidayCheck quality score (0–1 scale) |
rating16 | Computed public-facing rating (1–6 scale) |
criteriaRatings | Per-criteria scores (GENERAL_SERVICE, GENERAL_LOCATION, GASTRONOMY, PRICE_PERFORMANCE, ROOM_CONDITION, ...) |
recommendation / proofedReservation | Recommends the hotel / verified booking flags |
entryDate / travelDate | Review publication and travel dates |
traveledWith / originalLocale | Traveller type and review language |
reviewer | First name, age group, review count (public reviewer meta) |
ownerReply | Hotel owner reply text and date, when present |
topics | Topic-level sentiment (1 positive / 0 neutral / -1 negative) with extracted quotes |
photos | Uploaded photo IDs, titles and CDN URLs |
text / title | Full review text (when provided by the reviewer) and title |
Summaries dataset — one row per hotel: hotelId, name, stars, rating, recommendation, reviewCount, pictureCount, videoCount, address, phone, email, geo, location, ratingPerAspectGroup, reviewCalculations, facilities, descriptions, latestAward, reviewFacets, scrapedAt.
Example Scrape Configuration
{"startUrls": [{"url": "https://www.holidaycheck.de/hr/bewertungen-welcome-hotel-marburg/6b587da3-8bf9-36e1-9fa1-1166d588f4ec"}],"maxReviewsPerHotel": 100,"maxItems": 1000,"includeHotelSummary": true}
Example Review Output
{"recordType": "REVIEW","reviewId": "c615a24d-...","hotelId": "6b587da3-8bf9-36e1-9fa1-1166d588f4ec","hotelName": "Welcome Hotel Marburg","title": "Empfehlenswert","text": "Ich hatte ein schönes Zimmer mit Klimaanlage...","rating01": 0.8,"rating16": 4.8,"criteriaRatings": {"GENERAL_LOCATION": 1,"GENERAL_SERVICE": 0.8,"GASTRONOMY": 1},"traveledWith": "SINGLE","recommendation": true,"proofedReservation": true,"entryDate": "2026-08-04T10:11:12.000Z","travelDate": "2026-07-01T00:00:00.000Z","reviewer": {"firstName": "Brigitte","ageGroup": "FROM_61_TO_65","hotelReviewCount": 1},"ownerReply": {"text": "Liebe Brigitte, vielen Dank...","date": "2026-08-21T00:00:00.000Z"},"topics": [{ "id": "SERVICE", "name": "Service", "sentiment": 1, "quotes": ["..."] }],"photos": [{"id": "0590791d-...","title": "Sonstiges","url": "https://media-cdn.holidaycheck.com/w_768,h_432,c_fill,q_auto,f_auto/ugc/images/0590791d-..."}],"reviewUrl": "https://www.holidaycheck.de/hr/...","scrapedAt": "2026-09-01T08:00:00.000Z"}
Integrations & Automation
- Apify API — run the actor from any codebase (
apify-clientfor JS/TS and Python, or the REST API) and stream results to your own systems. - Webhooks — get notified the moment a run finishes so new reviews flow straight into your reputation workflow.
- Apify MCP server — call this actor from AI agents (Claude, GPT, any MCP client) to fetch review data on demand.
- Scheduling — for daily reputation monitoring, schedule a run each morning with a small
maxReviewsPerHotelon your own hotels; for weekly market research, re-run competitor sets and diff the ratings. Recurring runs also improve the actor's visibility in the Apify Store recommender.
Related Actors
- Holidaycheck.de Reviews Scraper — the most-used HolidayCheck review actor on the Apify Store.
- Hotel Review Aggregator — one dataset across TripAdvisor, Booking.com, Google Maps and more for multi-platform reputation coverage.
- HolidayCheck Reviews Scraper — HolidayCheck reviews and owner replies by hotel URL or UUID.
- TripAdvisor Reviews Scraper — high-volume TripAdvisor reviews for international coverage.
- Booking.com Reviews Scraper — Booking.com guest reviews for OTA review tracking.
Competitive Positioning
| Capability | This actor | one_house / holidaycheck-reviews-scraper | shahidirfan / Holidaycheck-de-Reviews-Scraper |
|---|---|---|---|
| Accepts bare hotel UUIDs | ✅ (review URL, info URL, short URL or UUID) | ✅ (separate hotelIds input) | ❌ (URLs only) |
| Downloadable hotel-summary dataset | ✅ separate summaries dataset via API | ❌ summary stored in key-value store | — |
| Runs without a proxy on typical jobs | ✅ (TLS fingerprint; proxy optional) | ⚠️ residential recommended against 403s | proxy config available |
Comparison based on the public input schemas and READMEs of these actors at research time. Verify before choosing.
FAQ
Why use this actor instead of the official HolidayCheck API?
The official HolidayCheck API is a partner XML API: it requires an approved partner account and partner token, and it exposes a limited field set. This actor needs no API key and no partner agreement, returns data HolidayCheck publishes publicly on hotel pages, and adds fields the partner API does not cover for typical consumers — full review texts, per-criteria ratings, owner replies, topic sentiment with quotes, photos and rating facets.
What are the alternatives to this actor?
Platform-side alternatives are HolidayCheck's partner XML API (partner-gated) and manual CSV export (not offered by HolidayCheck). Other Apify actors cover HolidayCheck reviews (e.g. one_house, shahidirfan) or other German-relevant platforms such as Booking.com. For multi-platform hotel reputation data, combine this actor with the Hotel Review Aggregator.
Can I get ALL reviews of a hotel, not just a sample?
Yes. Set maxReviewsPerHotel: 0 to fetch every review HolidayCheck has for the hotel (still bounded by maxItems and the platform's crawl cap).
Does it work for holidaycheck.at and holidaycheck.ch?
Yes. The actor works for the German-speaking HolidayCheck portals (.de, .at, .ch). Past the review URL or a hotel UUID on any of these, and the result is the same structured data.
Does the actor need a proxy?
Usually not. got-scraping's browser-like TLS fingerprint passes HolidayCheck's Akamai Bot Manager on most runs. For large production runs from shared platform IPs, enable the Apify proxy — residential is recommended.
How are HolidayCheck ratings scaled?
HolidayCheck stores a quality score on a 0–1 internal scale. This actor returns both rating01 (internal 0–1) and rating16 (the public-facing 1–6 scale), plus per-criteria ratings on the 0–1 scale — no manual conversion needed.
Why are two datasets returned?
Reviews and hotel summaries have different shapes, so they live in separate datasets: the default dataset holds one row per guest review, and the summaries dataset holds one aggregated row per hotel (rating, per-criteria scores, contact info, review facets). Read both to pair review-level and hotel-level data.
How do hotels use owner replies in reputation management?
Responding to reviews is a core part of hotel reputation management. This actor includes the owner reply text and date on each review row, so you can monitor which reviews have been answered, spot unanswered negative feedback, and track reply coverage over time.
SEO Keywords
holidaycheck scraper, holidaycheck api, holidaycheck reviews data, holidaycheck.de reviews, hotel review scraper, hotel reviews dataset, hotel reputation monitoring, hotel guest feedback analysis, hotel sentiment analysis, german hotel reviews, hotel market research dach, hotel competitive benchmarking, hotelbewertungen scrapen, hotelbewertungen auswerten, hotelbewertungen exportieren, hotel owner review responses, hospitality review analytics, hotel rating data, holidaycheck alternative, hotel quality score data
For AI Agents & LLM Apps
Purpose: One run returns structured rows for any HolidayCheck hotel — every guest review as a dataset row, plus one aggregated hotel-summary row per hotel (separate summaries dataset).
Minimal working input (only the required field):
{"startUrls": [{ "url": "https://www.holidaycheck.de/hr/bewertungen-welcome-hotel-marburg/6b587da3-8bf9-36e1-9fa1-1166d588f4ec" }]}
Full-history variant (all reviews + hotel summary):
{"startUrls": [{ "url": "https://www.holidaycheck.de/hr/bewertungen-welcome-hotel-marburg/6b587da3-8bf9-36e1-9fa1-1166d588f4ec" }],"maxReviewsPerHotel": 0,"maxItems": 5000,"includeHotelSummary": true}
Output fields (review rows): reviewId, hotelId, hotelName, title, text, rating01, rating16, criteriaRatings, traveledWith, recommendation, proofedReservation, entryDate, travelDate, originalLocale, reviewer (firstName, ageGroup, hotelReviewCount, hasPublicProfile), ownerReply (text, date), topics (id, name, sentiment, quotes), additional, photos (id, title, description, url), reviewUrl, scrapedAt.
Output fields (summary rows, separate dataset): hotelId, name, stars, rating, recommendation, reviewCount, pictureCount, videoCount, address, phone, email, geo, location, ratingPerAspectGroup, reviewCalculations, facilities, descriptions, latestAward, reviewFacets, scrapedAt.
Behaviors an agent should know:
startUrlsis required and accepts review URLs (/hr/...), hotel info URLs (/hi/...), short URLs (/hr/{uuid}) or a bare hotel UUID.maxReviewsPerHotel(default100) — set0to fetch the hotel's full review history.maxItems(default1000) caps total dataset rows (reviews + summaries);0allows more but the crawl is capped at 1000 page requests.- With
includeHotelSummary: true(default), one SUMMARY row per hotel lands in the separatesummariesdataset — read both storages. - Rating scales:
rating01is HolidayCheck's internal 0–1 score;rating16is the computed public 1–6 scale; per-criteria ratings incriteriaRatingsare 0–1. - Free (non-paying) runs are limited to 10 review rows; hotel summary rows are free.
- Use the Apify proxy (
proxy.useApifyProxy: true, residential groups) for large multi-hotel runs to reduce blocking.
Billing: pay-per-result — $0.0009 per review row plus a small per-start event (BRONZE tier); hotel summary rows free; free tier covers 10 review rows per run.
Legal & Compliance Disclaimer
This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by HolidayCheck AG. It accesses only publicly available HolidayCheck pages — no login, no CAPTCHA solving, no bypass of access controls. Users are responsible for complying with HolidayCheck's Terms of Service and applicable data-protection law (GDPR for EU data). The output can include reviewer first names and age groups and hotel business contact details that are published publicly; such personal data must not be used for unsolicited commercial outreach in violation of applicable law (e.g. GDPR, CAN-SPAM, TCPA).