Booking.com Reviews
Pricing
from $1.00 / 1,000 results
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
shareze
Actor stats
1
Bookmarked
2
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
What does Booking.com Reviews do?
Booking.com Reviews is an Apify Actor that collects guest reviews for a single property on Booking.com. You provide the property page URL and how many reviews you want at most; each review is saved as one item in the default dataset, which you can open in the Apify Console or download (e.g. JSON, CSV, Excel) and use with the Apify API.
Why use this Actor?
- Structured output — scores, guest and stay details, review text, partner replies, and photo URLs in one JSON object per review.
- Automation — run on a schedule or from your workflows instead of copying reviews by hand.
- Apify platform — managed runs, logs, and dataset storage in one place.
How to use Booking.com Reviews
- Open the Actor on Apify Console and go to the Input tab (or send input via the API).
- Set
urlto the full property URL, e.g.https://www.booking.com/hotel/sg/telegraph-singapore.html. - Set
sizeto the maximum number of reviews you want (e.g.25). - Start the run. When it finishes, open the Dataset tab or use the dataset link from the run Output.
Local run: install the Apify CLI, put input in storage/key_value_stores/default/INPUT.json, then run:
$apify run
Input
| Field | Type | Required | Description |
|---|---|---|---|
url | string | yes | Full Booking.com property page URL (.../hotel/{country}/{slug}.html). |
size | integer | yes | Maximum number of reviews to collect (minimum 1, up to 10000 in the schema). |
searchText | string | no | Optional keyword to filter reviews. When not empty, it is applied as the review search text on Booking’s side. Leave empty or omit to fetch reviews without a text filter. |
sortBy | string | no | Review order: MOST_RELEVANT (default), NEWEST_FIRST, OLDEST_FIRST, SCORE_DESC, SCORE_ASC. |
Example JSON:
{"url": "https://www.booking.com/hotel/sg/telegraph-singapore.html","size": 25,"searchText": "breakfast","sortBy": "NEWEST_FIRST"}
The Console form mirrors .actor/input_schema.json.
Output
The Actor writes one dataset item per review to the default dataset. You can download items as JSON, CSV, HTML, or Excel from the run page.
Example (abbreviated):
{"reviewUrl": "https://www.booking.com/reviews/...","reviewScore": 9,"reviewedDate": "2025-01-15","guestDetails": {"username": "alex","countryCode": "us","anonymous": false},"bookingDetails": {"checkinDate": "2025-01-10","checkoutDate": "2025-01-12","numNights": 2,"roomType": { "id": "123", "name": "Deluxe Room" }},"title": "Great stay","adjTitle": "Wonderful","positiveText": "Clean and quiet.","negativeText": null,"adjText": null,"lang": "en","partnerReply": "Thank you for staying with us.","photos": ["https://..."],"propertyUrl": "https://www.booking.com/hotel/sg/telegraph-singapore.html","hotelId": 9027866}
Data fields (main)
| Field | Description |
|---|---|
propertyUrl | Property URL from the input, copied onto each row. |
hotelId | Booking.com property identifier for the hotel. |
reviewUrl | Link to the review on Booking.com (when present). |
reviewScore | Guest score for the review. |
reviewedDate | Review date. |
guestDetails | Guest-related fields (username, avatar, country, anonymous, etc.). |
bookingDetails | Stay-related fields (dates, nights, room type, stay status, etc.). |
title, positiveText, negativeText, lang | Review text fields. |
adjTitle | Derived title when title is empty. Based on reviewScore (e.g. 9 -> "Wonderful"). |
adjText | Fallback text when both positiveText and negativeText are empty: "There are no comments available for this review". |
partnerReply | Property/host reply text when present. |
photos | Array of image URL strings. |