Agoda Reviews Scraper
Pricing
from $2.50 / 1,000 results
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 $2.50 / 1,000 results
Rating
0.0
(0)
Developer

Jung Kim
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract detailed guest reviews from Agoda.com hotels, apartments, and other accommodations. Get ratings, review texts with original and translated versions separated, room types, stay duration, reviewer details, owner responses, and more — easily exportable to JSON, CSV, Excel, and HTML formats.
Features
- Scrape reviews from any Agoda.com accommodation (hotels, apartments, hostels, resorts)
- Original and translated text separated — 4 dedicated fields for multilingual analysis
- Sort reviews by most recent, highest rating, or lowest rating
- Filter reviews by date — only get reviews after a specific date
- Filter reviews by rating category (Exceptional, Excellent, Very Good, Good, Below Expectation)
- Filter reviews by language (ISO language codes)
- Include or exclude hotel owner/management responses
- Support multiple hotels in a single run
- Accept both hotel URLs and property IDs as input
- Built-in proxy rotation with automatic block detection and cooldown
- Export to JSON, CSV, Excel, or API
What data do you get?
Each review contains up to 27 fields:
| Field | Description |
|---|---|
hotelReviewId | Unique review ID |
hotelId | Agoda property ID |
providerId | Review source (332 = Agoda aggregated, 3038 = Agoda direct) |
rating | Numeric rating (0–10) |
ratingText | Rating label (e.g. "Excellent", "Very Good") |
reviewDate | Review submission date (ISO 8601) |
checkInDate | Guest check-in date |
checkOutDate | Guest check-out date |
reviewTitle | Review title (original language preferred) |
reviewComments | Review body (original language preferred) |
originalTitle | Title in original language (before translation) |
originalComment | Comment in original language (before translation) |
translatedTitle | Translated title (if the review was translated) |
translatedComment | Translated comment (if the review was translated) |
reviewPositives | Positive aspects mentioned by guest |
reviewNegatives | Negative aspects mentioned by guest |
translateSource | Original language code (e.g. ko, ja, zh) |
reviewerName | Reviewer display name |
reviewerCountryName | Reviewer's country |
reviewerCountryId | Reviewer's country code (numeric) |
reviewerGroupName | Traveler type (Solo, Couple, Family, Business, Group) |
reviewerRoomTypeName | Room type booked |
reviewerLengthOfStay | Number of nights stayed |
responseDate | Hotel management response date |
responderName | Responder name (e.g. "Hotel Management") |
responseText | Hotel management response text |
Input
| Field | Type | Description | Default |
|---|---|---|---|
hotelUrl | string | Single Agoda hotel URL | — |
hotelUrls | string[] | Multiple Agoda hotel URLs | — |
propertyIds | integer[] | Agoda property IDs directly | — |
maxReviewsPerHotel | integer | Max reviews per hotel | 100 |
sorting | string | Sort order (most_recent, highest_rating, lowest_rating) | most_recent |
language | string[] | Language filter (ISO codes: en, ko, ja, etc.) | all |
rating | string[] | Rating filter (exceptional, excellent, very_good, good, below_expectation) | all |
reviewsStartDate | string | Only reviews after this date (YYYY-MM-DD) | — |
includeOwnerResponse | boolean | Include hotel management responses | true |
proxy | object | Proxy configuration | Apify Residential |
Input example
{"hotelUrl": "https://www.agoda.com/lotte-hotel-seoul/hotel/seoul-kr.html","maxReviewsPerHotel": 200,"sorting": "most_recent","rating": ["exceptional", "excellent"],"reviewsStartDate": "2024-01-01","includeOwnerResponse": true,"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Multi-hotel input example
{"hotelUrls": ["https://www.agoda.com/lotte-hotel-seoul/hotel/seoul-kr.html","https://www.agoda.com/shilla-stay-gwanghwamun/hotel/seoul-kr.html"],"maxReviewsPerHotel": 100,"reviewsStartDate": "2024-06-01"}
Output example
{"hotelReviewId": 698366181,"hotelId": 73026,"providerId": 332,"rating": 9.2,"ratingText": "Exceptional","reviewDate": "2024-08-15T06:30:00+07:00","checkInDate": "2024-08-10T00:00:00+07:00","checkOutDate": "2024-08-13T00:00:00+07:00","reviewTitle": "서울에서의 완벽한 숙박","reviewComments": "호텔이 정말 훌륭했습니다. 직원들이 매우 친절하고 객실이 깨끗했습니다.","originalTitle": "서울에서의 완벽한 숙박","originalComment": "호텔이 정말 훌륭했습니다. 직원들이 매우 친절하고 객실이 깨끗했습니다.","translatedTitle": "Perfect stay in Seoul","translatedComment": "The hotel was absolutely wonderful. Staff were incredibly helpful and the room was spotless.","reviewPositives": "Clean rooms, great location, friendly staff","reviewNegatives": "Breakfast could have more variety","translateSource": "ko","reviewerName": "John D.","reviewerCountryName": "United States","reviewerCountryId": 223,"reviewerGroupName": "Couple","reviewerRoomTypeName": "Deluxe Double Room","reviewerLengthOfStay": 3,"responseDate": "2024-08-18T10:00:00+07:00","responderName": "Hotel Management","responseText": "Thank you for choosing Lotte Hotel Seoul! We are delighted to hear you enjoyed your stay."}
Use cases
- Market research — analyze guest satisfaction trends across hotels and regions
- Competitor monitoring — track hotel reputation and review volume over time
- Multilingual sentiment analysis — process reviews with original text preserved (not just translations)
- Business intelligence — aggregate reviews into dashboards and reports
- Academic research — study tourism trends and traveler behavior with structured data
- Review monitoring — get only new reviews since your last run using date filtering
Tips
- Residential proxies are recommended for best reliability. The scraper handles proxy rotation automatically.
- Use
reviewsStartDateto only collect recent reviews and avoid downloading thousands of old reviews. - Agoda displays reviews from both Agoda and Booking.com sources, depending on availability.
- Use
sortingto get the most relevant reviews first (newest, highest rated, or lowest rated). - For large-scale scraping across many hotels, use the
hotelUrlsarray orpropertyIds. - You can find the property ID in any Agoda hotel URL (the number before
.html).
Notes
- Some hotels may have reviews in dozens of languages. Use the
languagefilter to get only the languages you need. - The
ratingfilter uses client-side filtering — all reviews are fetched and then filtered by rating category. For better performance with large datasets, combine withmaxReviewsPerHotel. - Large hotels may have 10,000+ reviews — adjust
maxReviewsPerHotelwisely to control costs and runtime. - The scraper automatically detects blocks and rotates proxy sessions with exponential cooldown.
Legal notice
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.