Agoda Reviews Scraper - Bulk Hotels & New Reviews Only
Pricing
from $3.50 / 1,000 review returneds
Agoda Reviews Scraper - Bulk Hotels & New Reviews Only
For hotel revenue managers, reputation agencies and review analysts: Agoda reviews with rating, date, text, pros and cons, language, reviewer country, traveler type, room, stay and hotel reply, plus Booking.com reviews. 5 of 5 matched the Agoda page. Many hotels per run; monitoring: new ones only.
Pricing
from $3.50 / 1,000 review returneds
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
For hotel revenue managers, reputation agencies and review analysts: every review Agoda shows for a hotel - rating, date, title, text, pros and cons, language, reviewer country, traveler type, room, stay dates and the hotel's reply - including the Booking.com and Priceline.com reviews Agoda displays, each marked with the site it came from. In a check on 2026-09-21, 5 of 5 reviews matched the Agoda hotel page opened in a browser (rating, reviewer, room, stay, title, text and date), and one run returned 1,105 of the 1,105 reviews Agoda listed for a Dublin hotel, with no duplicates. Give it a list of hotels in one run, and in monitoring mode it returns only the reviews you have not received yet, so you never type a start date.
Unofficial. Public data only.
Export as JSON, CSV or Excel.
What you get
- One row per review, for as many hotels as you list (
hotels): review ID, rating out of 10 and Agoda's word for it, review date, title, text, pros and cons (Booking.com reviews), language, reviewer display name and country, traveler type (Couple, Family with young children, Solo traveler...), room type, check-in and check-out dates, nights, helpful votes, the hotel's reply and its date, and photo links. - Reviews from other sites, marked (
includeOtherSites): Agoda also shows reviews it takes from Booking.com and Priceline.com. Each row says where it comes from (reviewSite,isAgodaReview), so you can keep or drop them. - Original language and Agoda's translation:
titleandtextare what the guest wrote; when Agoda shows an English translation, it is intitleTranslatedandtextTranslated. - Monitoring mode (
monitoringMode): run it on a schedule and get back only reviews this watch has not returned before. No start date to type and no diffing on your side. - No failed runs for "nothing found". A hotel that does not exist, a hotel with no reviews, a refused request or a spending limit each come back as a free row that says why.
Input
| Field | What it does |
|---|---|
hotels | Agoda hotel page URLs (https://www.agoda.com/marine-hotel/hotel/dublin-ie.html) or Agoda hotel IDs (6), as many as you like (up to 200 per run). |
maxReviewsPerHotel | Reviews to return per hotel, 1-100,000. Empty = 200. In monitoring mode this caps only the first run. |
includeOtherSites | On or empty = also return the Booking.com and Priceline.com reviews Agoda shows. Off = only reviews written on Agoda. |
monitoringMode | Return only reviews this watch has not returned before. |
resetMonitoringState | Forget what this watch remembered for these hotels at the start of this run, so this run starts over like a first run. Turn it off again for scheduled runs, or every run starts over and returns the same reviews again. |
Output
{"source": "agoda","status": "ok","hotelId": 6,"hotelName": "Marine Hotel","hotelReviewsUrl": "https://www.agoda.com/marine-hotel/reviews/dublin-ie.html","inputHotel": "https://www.agoda.com/marine-hotel/hotel/dublin-ie.html","reviewId": "1173899868","reviewSite": "Agoda","reviewSiteId": 332,"isAgodaReview": true,"rating": 8,"ratingText": "Excellent","reviewDate": "2026-08-31","reviewDateTime": "2026-08-31T03:10:18+07:00","title": "Dublin Bay","text": "No issues...very pleasant stay...lovely views of Dublin Bay..staff very good....lovely walks...good transport links to city centre.","positives": null,"negatives": null,"language": "en","titleTranslated": null,"textTranslated": null,"translatedTo": null,"reviewerName": "Steve","reviewerCountry": "United Kingdom","reviewerCountryCode": "GB","travelerType": "Couple","roomType": "Standard Double Room","nightsStayed": 1,"checkInDate": "2026-08-30","checkOutDate": "2026-08-31","stayMonth": "August 2026","helpfulVotes": 0,"hotelResponse": null,"hotelResponseDate": null,"photoUrls": [],"scrapedAt": "2026-09-21T11:08:02.000Z"}
Rows that are not reviews have a status other than ok and a note that says why: no-such-hotel, no-reviews, blocked, unreadable, bad-input, budget-reached or, in monitoring mode, no-new-since-last-run. These rows are never charged.
Things worth knowing
- Order. Agoda sorts each review site's list newest first, but in blocks by language (for example all English Booking.com reviews newest first, then the Spanish ones, then the French ones). The Actor reads the list 100 reviews per site at a time and returns each batch newest first, so a small
maxReviewsPerHotelcan stop before a recent review in a less common language. Monitoring reads the whole list (up to 100 pages of 100 per site), so it does not miss those. - Two copies of the list. In our checks on 2026-09-21, Agoda served different visitors two different copies of the same hotel's review list; for a Dublin hotel, one copy lacked the hotel's two newest reviews. The Actor asks with several fresh sessions per hotel until it finds both copies (up to 8 for the first hotel, 2 more for each later hotel until two copies turn up), reads both and merges them by review ID, so every review appears once. If every session happens to land on the same copy, that run reads only that copy.
- Monitoring details. The first monitoring run returns the newest reviews up to
maxReviewsPerHoteland remembers the rest of the list without returning or charging them. Reviews dated from 2 days before the watch first read a hotel onward are always returned, even if the first run did not get through the whole list. Later runs return every review not seen before. A review dated more than 30 days before the watch started that shows up for the first time (for example because Agoda's other copy of the list had it) is remembered but not returned. Do not put the same hotels in two schedules that run at the same moment: the memory cannot be updated atomically, so overlapping runs may return a review twice. - Speed. In 2026-09-21 checks, a hotel with 1,105 reviews took 55-70 seconds per run (both copies of the list, every page, with a one-second pause between requests), and three hotels with 1,641 reviews in total took 2 minutes. Monitoring reads the whole list each time, so a check takes as long as a full read: about 70 hotels of that size per hour. The run timeout is set to 4 hours by default; raise it in the run options for longer lists of hotels.
- Reviewer names are the display names Agoda shows publicly (often a first name only). Email addresses and phone numbers written inside a review are replaced with a placeholder.
- What Booking.com reviews carry. In the 2026-09-21 run above, 1,581 of 1,641 rows were Booking.com reviews shown on Agoda. Those have a title, pros and cons, rating, date, display name and traveler type, but Agoda does not show their reviewer country, room, stay dates or a single review text (country, room and stay dates were filled in 3% of all rows - the Agoda reviews). Empty values are null, never 0 or an empty string.
- Empty answers. From Apify's servers Agoda sometimes answers with an empty list for a page that exists (3 of 10 identical requests in a 2026-09-21 check). The Actor asks again, up to 10 times with growing pauses, instead of treating it as the end of the list; if it still gets nothing, a free row says which pages were read.
- Checks and refusals. If Agoda shows a check page or refuses a request, the run stops and says so in a free row. The Actor does not try to get around Agoda's checks.
Pricing
Pay per event:
- Run start: $0.02 per run on the Free plan, down to $0.0146 on higher Apify plans (Bronze $0.0182, Silver $0.0164, Gold $0.0146). Charged once for every run that requests anything - including a run that finds no new reviews, and a run Agoda refuses. It is charged before the first request, so a run whose maximum total charge has no room for the start fee plus one review row (in monitoring mode, plus one hotel check) requests nothing and is charged nothing. A run Apify restarts or moves is charged once.
- Review row: $5.00 per 1,000 on the Free plan, down to $3.50 per 1,000 on higher Apify plans (Bronze $4.50, Silver $4.00, Gold $3.50).
- Monitoring check: $0.30 per 1,000 hotels checked (only in monitoring mode, once per hotel per run, whether or not it had new reviews).
- Free rows (no such hotel, no reviews, refused, no new reviews, limit reached) are never charged. Set a maximum total charge on the run and the Actor stops before going over it, with a free row saying what was left out.