Booking.com Reviews Scraper & Hotel Reviews API avatar

Booking.com Reviews Scraper & Hotel Reviews API

Pricing

from $0.45 / 1,000 booking.com reviews

Go to Apify Store
Booking.com Reviews Scraper & Hotel Reviews API

Booking.com Reviews Scraper & Hotel Reviews API

Extract Booking.com hotel reviews with guest scores, positive and negative feedback, traveler type, room and stay details, reviewer country, helpful votes, photos, property replies, filters, retries, deduplication, and spend controls.

Pricing

from $0.45 / 1,000 booking.com reviews

Rating

0.0

(0)

Developer

Rosario Vitale

Rosario Vitale

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Extract public Booking.com hotel reviews into clean structured data for hospitality analytics, reputation monitoring, competitor research, guest-experience analysis, customer-support workflows, travel research, and AI/LLM pipelines.

The Actor starts a real browser only to initialize the public Booking.com review session for each property, then reuses Booking.com's own review data flow for efficient pagination. This avoids brittle DOM-only scraping while still validating the live hotel page at run time.

What you get

Successful review rows can include:

  • Booking.com review score and review date
  • review title, positive text, and negative text
  • reviewer display name, country, country code, and traveler label
  • Booking traveler/customer type
  • room type, check-in, check-out, and number of nights
  • helpful-vote count
  • public hotel/property reply when available
  • public review photos when available
  • hotel ID, hotel country code, hotel score, and canonical source URL
  • scan/runtime metadata for reproducibility

Optional free hotel-summary rows include the total public review count and aggregate rating, score, language, and traveler-type information returned by Booking.com.

Input

Provide one or more full Booking.com hotel URLs in hotelUrls.

Example:

{
"hotelUrls": [
"https://www.booking.com/hotel/us/ace-new-york.html"
],
"maxReviewsPerHotel": 500,
"maxTotalReviews": 5000,
"sortBy": "newest",
"minScore": 1,
"maxScore": 10,
"reviewedAfter": "",
"reviewedBefore": "",
"containsText": "",
"reviewerCountries": [],
"customerTypes": [],
"languageCodes": [],
"minHelpfulVotes": 0,
"partnerReply": "any",
"includePhotos": true,
"includeHotelSummary": true,
"maxPagesPerHotel": 100,
"autoProxyFallback": true,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Filters

Filters are applied before paid review rows are emitted. You can combine score range, date range, text substring, reviewer country, traveler/customer type, language, minimum helpful votes, and hotel-reply presence.

Filtered-out source reviews are not billed.

For country filtering, use a Booking country code such as us, gb, or it, or the full country name returned by Booking.com.

Common Booking traveler types include values such as COUPLES, SOLO, FAMILY, GROUP, and BUSINESS. Availability depends on the source property and review.

Reliability design

Booking.com changes its web application over time, so the Actor does not hard-code a single hidden token or fixed review payload. It initializes the current hotel page, observes the live public review request generated by Booking.com, and then paginates using that session.

The run also includes:

  • strict Booking.com hotel-URL validation
  • duplicate hotel removal
  • per-hotel review deduplication
  • bounded browser and review-request timeouts
  • bounded retries
  • direct-first mode to avoid unnecessary proxy cost
  • optional automatic Apify Proxy fallback if direct access is blocked
  • source-page, per-hotel, and global result limits
  • diagnostic rows instead of crashing the entire batch when one hotel fails
  • maximum-charge handling for pay-per-event runs

Output row types

review

A successful, billable Booking.com review.

hotel_summary

An optional free aggregate row for the property. It can contain total review count, rating categories, score distribution, language breakdown, and traveler-type breakdown.

status

A free informational row, for example when the selected filters find no matching review inside the configured scan window.

error

A free diagnostic row for an invalid/unavailable hotel source or another per-hotel failure.

Pricing

Launch pricing target: $0.00045 per successfully emitted review, or about $0.45 per 1,000 Booking.com reviews, plus the small Actor-start event shown by Apify.

Only successful review rows trigger the review event. Summary, status, error, retries, duplicates, and reviews rejected by filters are free.

Spend controls

Use maxReviewsPerHotel, maxTotalReviews, and maxPagesPerHotel to bound work and result volume. Apify's maximum-total-charge setting is also respected when the Actor is monetized with pay-per-event pricing.

Limits and source behavior

Booking.com controls how many public reviews and fields are exposed for each property. Some fields, such as photos, room details, traveler type, or hotel replies, are absent on individual reviews and are returned empty rather than invented.

Very selective filters may require scanning more source pages than the number of emitted reviews. The Actor automatically allows extra scan room, bounded by maxPagesPerHotel.

Responsible use

This Actor reads public hotel review information. Use reviewer names, review text, travel details, and other public data in accordance with applicable privacy, copyright, data-protection requirements, and Booking.com's applicable terms. Do not use the output to harass, deanonymize, or build sensitive profiles of reviewers.

Support

For a reproducible issue, provide the public Booking.com hotel URL, relevant filters, whether proxy mode was enabled, and the Apify run ID. Never include API tokens, proxy passwords, or private credentials.