Zoover Reviews Scraper avatar

Zoover Reviews Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Zoover Reviews Scraper

Zoover Reviews Scraper

Scrape guest reviews and ratings from Zoover.nl hotel pages into a structured dataset. Get review text, scores, travel dates, reviewer details, category ratings, hotelier replies, and images. Filter by cutoff date, cap results per hotel, and export to JSON, CSV, or Excel.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(2)

Developer

knagymate

knagymate

Maintained by Community

Actor stats

2

Bookmarked

4

Total users

3

Monthly active users

0.39 hours

Issues response

11 days ago

Last modified

Share

🏨 Zoover Hotel Reviews Scraper

Easily scrape real guest reviews and ratings from Zoover.nl – one of Europe's largest independent travel review platforms – directly into a structured dataset for research, analytics, and automation.

Whether you're tracking guest sentiment, hotel ratings, review trends over time, or just want to explore what travelers say about a specific hotel, this scraper gives you clean, ready-to-use data in minutes.


🌟 Features

  • Scrape by hotel URL – provide one or more standard Zoover hotel detail URLs.
  • Multiple hotels per run – process a list of hotels in a single run via startUrls.
  • Full review content – review title, text, score, likes, travel date, and reviewer details.
  • Detailed score breakdown – per-review and hotel-level category ratings (e.g., child-friendliness, hygiene, location, price/quality, room, service, food, pool, and general score); every category Zoover returns is passed through.
  • Hotelier replies – capture the hotel's response to each review when available.
  • Review images – collect image URLs attached to reviews.
  • Date filtering – keep only reviews on or after a given cutoffDate for incremental scraping.
  • Limit results – cap the number of reviews per hotel with maxReviewsPerHotel.
  • Always-on summary – optionally return a hotel summary record even when no review passes the filters.

πŸ“Š Example Output

Each review record includes:

FieldDescription
recordTypeRecord type: review or summary
reviewIdUnique review ID on Zoover
reviewHeliosIdZoover Helios review ID
reviewDateDate the review was posted
travelDateDate of the reviewer's stay
reviewScoreOverall review score (0–10)
reviewTitleTitle of the review
reviewTextFull review text
reviewLanguageLanguage/locale of the review
userNameReviewer's display name
traveledWithTravel party type (e.g., family, couple)
userVerifiedWhether the reviewer is verified
likesNumber of likes on the review
scoreDetailsPer-review category ratings
replyHotelier's reply to the review
imagesImage URLs attached to the review
hotelSummaryHotel-level metadata and aggregated ratings

…and more from the full dataset schema.


πŸ›  How to Use

  1. Open the scraper in Apify.

  2. Fill in the input fields:

    • startUrls β†’ one or more Zoover hotel URLs, e.g., https://www.zoover.nl/a/128192/side-mare-resort-spa
    • maxReviewsPerHotel β†’ e.g., 100
    • cutoffDate β†’ e.g., 2025-01-01 (optional)
    • alwaysReturnSummary β†’ true or false
  3. Run the scraper.

  4. Download your results as JSON, CSV, Excel, or via API.

πŸ”— Supported URLs

Use standard Zoover hotel detail URLs, for example:

https://www.zoover.nl/a/128192/side-mare-resort-spa

The scraper resolves the final URL, extracts the hotel ID, and requests review data from Zoover's review endpoints.

πŸ“… Cutoff date notes

  • cutoffDate keeps only reviews posted on or after the given date (YYYY-MM-DD).
  • It is interpreted as a local date in the Europe/Berlin timezone, since Zoover does not expose timezone information.
  • If left empty, all available reviews are scraped (subject to maxReviewsPerHotel).

πŸ”’ Result limit notes

  • maxReviewsPerHotel caps the number of review records returned per hotel.
  • If not set, it defaults to 100.
  • The limit is applied per hotel, so each URL in startUrls returns up to this many reviews.

🧾 Summary record notes

  • When alwaysReturnSummary is true, a summary record is pushed for a hotel even if no review passed the filters.
  • This guarantees you always get hotel-level metadata (rating, review count, category scores) for every processed URL.
  • Set it to false to only emit records when reviews are found.

πŸ” Example Use Cases

  • Reputation monitoring – track guest sentiment and ratings over time.
  • Competitor analysis – compare category scores across hotels.
  • Travel planning – read verified guest feedback before booking.
  • Data-driven insights – analyze review trends, languages, and travel party types.

πŸ“₯ Input Example

{
"startUrls": [
{ "url": "https://www.zoover.nl/a/128192/side-mare-resort-spa" }
],
"maxReviewsPerHotel": 100,
"cutoffDate": "2025-01-01",
"alwaysReturnSummary": true
}

πŸ“€ Output Example

Review record (recordType: review)

{
"recordType": "review",
"reviewId": 317018243,
"reviewHeliosId": "abc123",
"reviewDate": "2026-05-29T11:14:44.207000Z",
"travelDate": "2026-03-27T00:00:00Z",
"scoreDetails": {
"childFriendly": 8.0,
"hygiene": 8.5,
"location": 9.0,
"priceQuality": 8.0,
"room": 8.0,
"service": 9.0,
"general": 8.4
},
"reviewLanguage": "nl",
"reviewTitle": "Great stay",
"userName": "J. de Vries",
"traveledWith": "family",
"reviewScore": 9,
"likes": 4,
"reviewText": "Great location and friendly staff.",
"reply": {
"entryDate": "2026-05-30T08:00:00Z",
"replyText": "Thanks for your feedback!",
"replierPosition": "hotel management"
},
"userVerified": true,
"images": [
"https://www.zoover.nl/images/example.webp"
],
"hotelSummary": {
"url": "https://www.zoover.nl/a/128192/side-mare-resort-spa",
"id": "128192",
"reviewCount": 245,
"reviewScore": 8.6,
"scoreDetails": {
"childFriendly": 8.1,
"hygiene": 8.4,
"location": 9.1,
"priceQuality": 8.0,
"room": 8.0,
"service": 8.8,
"general": 8.6
}
}
}

Summary record (recordType: summary)

{
"recordType": "summary",
"hotelSummary": {
"url": "https://www.zoover.nl/a/128192/side-mare-resort-spa",
"id": "128192",
"reviewCount": 245,
"reviewScore": 8.6,
"scoreDetails": {
"childFriendly": 8.1,
"hygiene": 8.4,
"location": 9.1,
"priceQuality": 8.0,
"room": 8.0,
"service": 8.8,
"general": 8.6
}
}
}

πŸ“š Full Dataset Schema

FieldTypeDescription
recordTypestringreview or summary
reviewIdstring | integer | nullUnique review ID on Zoover
reviewHeliosIdstring | integer | nullZoover Helios review ID
reviewDatestring (date-time) | nullWhen the review was posted
travelDatestring (date-time) | nullWhen the reviewer stayed
reviewScoreinteger | nullOverall review score (0–10)
reviewTitlestring | nullReview title
reviewTextstring | nullFull review text
reviewLanguagestring | nullLanguage/locale of the review
userNamestring | nullReviewer's display name
traveledWithstring | nullTravel party type
userVerifiedboolean | nullWhether the reviewer is verified
likesinteger | nullNumber of likes on the review
scoreDetailsobject | nullPer-review category ratings, dynamic keys (see below)
replyobject | nullHotelier reply: entryDate, replyText, replierPosition
imagesarray | nullImage URLs attached to the review
hotelSummaryobjectHotel-level metadata (see below)

scoreDetails / hotelSummary.scoreDetails object – a dynamic map of category name to rating (each value number 0–10 or null). Keys are returned exactly as Zoover provides them, so the set of categories can vary per review or hotel and new categories are passed through automatically. Commonly seen keys include:

FieldDescription
childFriendlyChild-friendliness rating
hygieneHygiene rating
locationLocation rating
priceQualityPrice/quality rating
roomRoom rating
serviceService rating
generalGeneral/overall rating
foodFood rating
poolPool rating
...Any other category returned by Zoover

hotelSummary object:

FieldTypeDescription
urlstring | nullHotel start URL
idstring | nullHotel ID on Zoover
reviewCountinteger | nullTotal number of reviews for the hotel
reviewScorenumber | nullAggregated hotel score (0–10)
scoreDetailsobject | nullAggregated category ratings, dynamic keys (see below)

πŸš€ Why Use This Scraper?

Zoover's web interface is great for browsing reviews, but not designed for bulk data export or analytics. This scraper removes the manual work by automating review collection and outputting results in an analysis-ready format β€” perfect for developers, researchers, and business analysts.

⚠️ Disclaimer

This scraper only extracts publicly available information from Zoover.nl. The author of this scraper is not affiliated with Zoover, and does not take responsibility for how the data is used. Before using this data, you are solely responsible for ensuring that your use complies with all applicable laws, Zoover's Terms of Service, and any other relevant regulations.