Agoda Reviews Scraper avatar

Agoda Reviews Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Agoda Reviews Scraper

Agoda Reviews Scraper

Scrape hotel reviews from Agoda.com with original/translated text separation, date filtering, language filtering, and rating filtering. Extract ratings, review texts, room types, stay duration, reviewer details, and owner responses.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

OrbitData Labs

OrbitData Labs

Maintained by Community

Actor stats

2

Bookmarked

75

Total users

7

Monthly active users

16 days ago

Last modified

Share

Extract detailed guest reviews from Agoda.com hotels, apartments, and other accommodations — both Agoda and Booking.com guest reviews shown on Agoda. Get ratings, review texts with original and translated versions separated, review photos, helpful votes, room types, stay duration, reviewer details, owner responses, and the hotel's overall and category scores — easily exportable to JSON, CSV, Excel, and HTML formats.

Features

  • Scrape reviews from any Agoda.com accommodation (hotels, apartments, hostels, resorts)
  • Agoda + Booking.com reviews — choose one source or both
  • Original and translated text separated — 4 dedicated fields for multilingual analysis
  • Hotel details & scores on every row — hotel name, star rating, address, overall score, category scores (cleanliness, location, service, facilities, room comfort, value for money) and score distribution
  • Review photos, helpful votes, stay month, reviewer country code and expert-reviewer flag
  • Sort reviews by most recent, most helpful, highest rating, or lowest rating
  • Filter by date range (start and end date), rating category, and language
  • Only new reviews (monitoring mode) — name your job and later runs return only reviews you have not received yet
  • Include or exclude hotel owner/management responses
  • Multiple hotels in a single run — hotel URLs, numeric property IDs, or both
  • Fast, cheap paging: with "Most recent" sorting the scraper stops as soon as it passes your start date
  • Built-in proxy rotation with automatic block detection and cooldown

What data do you get?

Each review row contains up to 48 fields.

Review fields

FieldDescription
hotelReviewIdUnique review ID
hotelIdAgoda property ID
providerIdReview source ID (332 = Agoda, 3038 = Booking.com)
reviewProviderReview source name (Agoda or Booking.com)
ratingNumeric rating (0–10)
ratingTextRating label (e.g. "Excellent", "Very Good")
reviewDateReview submission date (ISO 8601)
checkInDate / checkOutDateGuest stay dates
stayMonthMonth of stay (e.g. "October 2026")
reviewTitle / reviewCommentsReview title and body (original language preferred)
originalTitle / originalCommentTitle and body in the reviewer's language (before translation)
translatedTitle / translatedCommentAgoda's translation (if the review was translated)
reviewPositives / reviewNegativesLiked / disliked parts (mostly Booking.com reviews)
translateSourceOriginal language code (e.g. ko, ja, zh)
reviewImagesURLs of photos uploaded by the reviewer
helpfulVotes / unhelpfulVotesHow many users found the review (un)helpful
reviewerNameReviewer display name
reviewerCountryName / reviewerCountryCode / reviewerCountryIdReviewer's country (name, ISO code, Agoda ID)
reviewerGroupNameTraveler type (Solo, Couple, Family, Business, Group)
reviewerRoomTypeNameRoom type booked
reviewerLengthOfStayNumber of nights stayed
reviewerReviewCount / isExpertReviewerReviewer's review count and expert flag
responseDate / responderName / responseTextHotel management response

Hotel fields (on every row)

FieldDescription
hotelUrlAgoda hotel page URL
agodaReviewsCount / bookingReviewsCountTotal reviews per source
hotelNameHotel name (English)
hotelStarRatingStar rating
hotelAccommodationTypeHotel, Apartment, Resort, ...
hotelAddress / hotelCity / hotelCountryLocation
hotelReviewScore / hotelReviewScoreTextOverall score (0–10) and its label
hotelReviewsCountNumber of reviews the overall score is based on
hotelCategoryScorescleanliness, facilities, location, roomComfort, staffPerformance (service), valueForMoney
hotelScoreDistributionReview counts per rating band

Hotel name/score fields need one extra request per hotel; turn off Include hotel details & scores if you don't need them.

Input

FieldTypeDescriptionDefault
hotelUrlstringSingle Agoda hotel URL (or property ID)—
hotelUrlsstring[]Multiple Agoda hotel URLs and/or property IDs—
propertyIdsinteger[]Agoda property IDs directly (fastest)—
maxReviewsPerHotelintegerMax reviews per hotel100
reviewSourcesstring[]agoda, bookingboth
sortingstringmost_recent, most_helpful, highest_rating, lowest_ratingmost_recent
languagestring[]Review languages (ISO codes: en, ko, ja, zh, zh-tw, de, ...)all
ratingstring[]exceptional, excellent, very_good, good, below_expectationall
reviewsStartDatestringOnly reviews on/after this date (YYYY-MM-DD)—
reviewsEndDatestringOnly reviews on/before this date (YYYY-MM-DD)—
includeHotelDetailsbooleanAdd hotel name, location and scores to each rowtrue
includeOwnerResponsebooleanInclude hotel management responsestrue
incrementalKeystringMonitoring job name — return only reviews not delivered before under this name—
proxyobjectProxy configurationApify Residential

Input example

{
"hotelUrl": "https://www.agoda.com/nh-collection-wien-zentrum/hotel/vienna-at.html?hotel_id=73026",
"maxReviewsPerHotel": 200,
"reviewSources": ["agoda", "booking"],
"sorting": "most_recent",
"language": ["en", "ko"],
"rating": ["exceptional", "excellent"],
"reviewsStartDate": "2025-01-01",
"reviewsEndDate": "2025-12-31",
"includeHotelDetails": true,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Monitoring example (only new reviews)

Schedule this input daily or weekly. The first run returns all matching reviews; every later run with the same incrementalKey returns only reviews posted since.

{
"propertyIds": [73026, 21727126],
"maxReviewsPerHotel": 500,
"sorting": "most_recent",
"incrementalKey": "my-hotels-weekly"
}

Output example

{
"hotelReviewId": 1193405795,
"hotelId": 73026,
"providerId": 332,
"rating": 10.0,
"ratingText": "Exceptional",
"reviewDate": "2026-10-10T06:02:09+07:00",
"checkInDate": "2026-10-03T00:00:00+07:00",
"checkOutDate": "2026-10-06T00:00:00+07:00",
"reviewTitle": "Excellent Stay",
"reviewComments": "Great location with a metro line just outside the hotel. Very spacious rooms and a sauna in the gym.",
"originalTitle": "",
"originalComment": "",
"translatedTitle": "",
"translatedComment": "",
"reviewPositives": "",
"reviewNegatives": "",
"translateSource": "en",
"reviewerName": "Sarah",
"reviewerCountryName": "Canada",
"reviewerCountryId": 100,
"reviewerGroupName": "Couple",
"reviewerRoomTypeName": "Premium XL",
"reviewerLengthOfStay": 3,
"reviewerCountryCode": "CA",
"reviewerReviewCount": 0,
"isExpertReviewer": false,
"reviewProvider": "Agoda",
"stayMonth": "October 2026",
"helpfulVotes": 0,
"unhelpfulVotes": 0,
"reviewImages": [],
"responseDate": "2026-10-13T17:18:29.289+07:00",
"responderName": "NH Collection Wien Zentrum",
"responseText": "Dear Sarah, thank you very much for sharing your wonderful feedback...",
"hotelUrl": "https://www.agoda.com/nh-collection-wien-zentrum/hotel/vienna-at.html",
"agodaReviewsCount": 53,
"bookingReviewsCount": 1223,
"hotelName": "NH Collection Wien Zentrum",
"hotelStarRating": 4.0,
"hotelAccommodationType": "Hotel",
"hotelAddress": "Mariahilfer Straße 78, 07. Neubau, Vienna, Austria, 1070",
"hotelCity": "Vienna",
"hotelCountry": "Austria",
"hotelReviewScore": 8.8,
"hotelReviewScoreText": "Excellent",
"hotelReviewsCount": 427,
"hotelCategoryScores": {
"cleanliness": 8.9,
"facilities": 8.4,
"location": 9.5,
"roomComfort": 8.6,
"staffPerformance": 8.9,
"valueForMoney": 8.8
},
"hotelScoreDistribution": {
"exceptional": 212,
"excellent": 133,
"very_good": 31,
"good": 20,
"below_expectation": 7
}
}

Use cases

  • Reputation monitoring — schedule runs with incrementalKey and get only new reviews each time
  • Competitor benchmarking — compare overall and category scores (cleanliness, location, service, value) across hotels
  • Multilingual sentiment analysis — process reviews with original text preserved (not just translations)
  • Market research — analyze guest satisfaction trends across hotels and regions
  • Period reports — use start and end dates to pull a single month or quarter
  • Academic research — study tourism trends and traveler behavior with structured data

Tips

  • Residential proxies are recommended for best reliability. The scraper handles proxy rotation automatically.
  • propertyIds is the fastest input — no hotel page lookup is needed. The ID is the hotel_id value in the URL.
  • Use reviewsStartDate with "Most recent" sorting to collect only recent reviews quickly and cheaply.
  • Use reviewSources: ["agoda"] if you only want reviews from Agoda guests.
  • A bare language code (en, zh, pt) includes all its regional variants; use en-gb, zh-tw, pt-br for one variant.

Notes

  • The rating, reviewSources, and date filters are applied while paging — all reviews are read and then filtered. Combine them with maxReviewsPerHotel to control runtime.
  • Large hotels may have 10,000+ reviews — adjust maxReviewsPerHotel wisely to control costs and runtime.
  • The scraper automatically detects blocks and rotates proxy sessions with exponential cooldown.

Always comply with Agoda's Terms of Service when using this scraper. Review data may contain personal information protected by GDPR and other privacy regulations. Use the data responsibly and only for legitimate purposes.