Agoda Reviews Scraper
Pricing
from $0.49 / 1,000 results
Agoda Reviews Scraper
Extracts guest review data (ratings, text, reviewer demographics, translations) for hotels listed on Agoda.com by hotel URL or hotel ID.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
Ibnu Adzim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Share
Extracts guest review data for any hotel listed on Agoda.com — just give it a hotel page link or hotel ID.
Why use this actor
- No account, no login, and no API key needed — works on public hotel pages only.
- Pulls the full review picture: star ratings, written reviews (with automatic translation to English alongside the original text), reviewer country and trip type, stay dates, and helpful-vote counts.
- Also returns the hotel's aggregate rating summary — overall score, per-category scores (cleanliness, facilities, location, etc.), and combined review counts across providers — as a single summary row per hotel.
- Every hotel you submit gets at least one output row — including a clear diagnostic reason on the rare rows that couldn't be fetched, so nothing silently disappears from your results.
- Works with either a full hotel page URL or just the hotel's numeric ID.
- Built-in cap on reviews per hotel (adjustable) so a single wildly popular hotel with tens of thousands of reviews doesn't blow up your run — set it to 0 to pull everything.
How it works
- You give the actor one or more Agoda hotel page links (or numeric hotel IDs).
- For each hotel, it looks up the review data directly from Agoda, page by page, until it runs out of reviews or hits your per-hotel cap.
- Results are streamed to your dataset as they finish, with automatic retries for temporary hiccups.
- You export the finished dataset as JSON, CSV, or Excel straight from the Apify Console — no scrapers or infrastructure to manage yourself.
Input
{"hotelUrls": ["https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html?hotelId=185945"],"sortBy": "most_recent","maxReviewsPerHotel": 200,"maxConcurrency": 3,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
| Field | Type | Description |
|---|---|---|
hotelUrls | array of strings | Agoda hotel page URLs (e.g. https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html?hotelId=185945) or raw numeric hotel IDs (e.g. 185945). |
sortBy | string | Review order: most_recent (default), rating_high_to_low, rating_low_to_high, or most_helpful. |
maxReviewsPerHotel | integer | Stop after this many reviews per hotel. Default 200. Set to 0 to fetch every review (can be slow for hotels with tens of thousands of reviews). |
maxConcurrency | integer | How many hotels to process at the same time. Default 3. |
proxyConfiguration | object | Proxy settings. Residential proxy is turned on by default and recommended for reliable results. |
Output
Each hotel produces one summary row plus one review row per guest review. Real examples from a run against the live site (long fields truncated):
Summary row (recordType: "SUMMARY"):
{"_input": "https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html?hotelId=185945","_source": "S1-reviews-api","_scrapedAt": "2026-08-09T17:57:50Z","recordType": "SUMMARY","hotelId": 185945,"hotelName": "Marina Bay Sands ","combinedReview": {"score": {"score": 8.9,"formattedScore": "8.9","scoreText": "Excellent","reviewCount": 48848,"formattedReviewCount": "48,848"}},"score": { "...": "per-category scores (cleanliness, facilities, location, ...) — 3 more fields" }}
Review row (recordType: "REVIEW"):
{"_input": "https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html?hotelId=185945","_source": "S1-reviews-api","_scrapedAt": "2026-08-09T17:57:50Z","recordType": "REVIEW","hotelId": 185945,"hotelName": "Marina Bay Sands ","hotelReviewId": 1158921129,"rating": 10.0,"formattedRating": "10.0","ratingText": "Exceptional","reviewTitle": "As expected of MBS.","reviewComments": "I had to stop by in order to go to the Maldives, so I simply thought I would stay for a day at the hotel that was said to be the best...","checkInDateMonthAndYear": "July 2026","formattedReviewDate": "August 05, 2026","reviewerInfo": {"countryName": "Japan","displayMemberName": "Masaaki","reviewGroupName": "Family with young children","roomTypeName": "Sands Premier Double Queen Gardens by the Bay View Room"},"helpfulVotes": 0,"unHelpfulVotes": 0}
When a hotel can't be found or the input can't be understood, the actor still emits one row for that input with a clear reason, instead of leaving it out silently:
{"_input": "999999999","_source": "none","_scrapedAt": "2026-08-09T17:57:50Z","recordType": "ERROR","_error": "not_found","_errorDetail": "No hotel found for hotelId=999999999"}
| Field | Type | Description |
|---|---|---|
_input | string | The hotel URL or ID you submitted. |
_source | string | Which internal strategy produced this row. "none" on a failed row. |
_scrapedAt | string | UTC timestamp of when this row was produced. |
recordType | string | "SUMMARY", "REVIEW", or "ERROR". |
hotelId | integer | Agoda's numeric ID for the hotel (present on successful rows). |
hotelName | string | The hotel's name (present on successful rows). |
_error | string | Present only on rows that couldn't be fetched, e.g. not_found, invalid_input. |
_errorDetail | string | Human-readable detail for the error, present only alongside _error. |
| (all other fields) | — | On a successful row, every review or rating field Agoda provides is passed through unchanged — the exact set can vary slightly by hotel. |
Notes / limits
- Very popular hotels can have tens of thousands of reviews. The default 200-per-hotel cap keeps runs fast and predictable; raise it (or set it to
0) if you need the complete history for a specific property. - Review text is automatically translated to English by Agoda when the original review is in another language; the original-language text is included alongside the translation.
Other actors in this collection
| Actor | What it returns |
|---|---|
| Orbitz Hotel Reviews Scraper | Guest reviews for hotels listed on Orbitz.com |