Agoda Reviews Scraper — Hotel Guest Reviews & Ratings
Pricing
Pay per usage
Agoda Reviews Scraper — Hotel Guest Reviews & Ratings
Scrape hotel guest reviews and ratings from Agoda, including the Booking.com review pool on the same page: rating, text, traveler type, room booked, length of stay, reviewer country and date, plus live room prices. Hotel review data for any property.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Matvey
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share
Agoda Reviews Scraper extracts hotel reviews and property data from Agoda.com — the leading hotel booking platform in Asia — without the official Agoda API, login, or cookies. Paste a hotel URL and get every review as structured Agoda data: rating, text, traveler type, room type, reviewer country, and dates. It also extracts the Booking.com reviews that Agoda displays for most hotels, so a default run gives you two review sources at once, de-duplicated into one list.
Runs use Agoda's own JSON endpoints instead of rendering pages in a browser, so a hotel with hundreds of reviews finishes in seconds. Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.
What is Agoda Reviews Scraper?
Agoda Reviews Scraper is a no-code tool to scrape Agoda reviews at scale. Give it one or more hotel page URLs and choose a review source (Agoda, Booking.com, or both), a sort order, and a limit. The Actor returns clean JSON you can download as CSV or Excel, push into a spreadsheet or CRM, or feed into an AI pipeline.
- Two review sources in one run: Agoda's own guest reviews plus the Booking.com reviews shown on the same hotel page.
- Rich review fields: rating, title, full text, traveler type (couple, family, business, solo), room type, length of stay, reviewer country, check-in month, helpful votes.
- Hotel record with Agoda and Booking.com review counts.
- Fast and cheap: no browser, no proxies needed for small runs.
What data can Agoda Reviews Scraper extract?
| Field | Example |
|---|---|
rating | 10.0 |
title | Great location, clean and friendly |
text | We stayed 7 nights in the Magani Suite… |
travelerType | Couple |
roomType | Magani Suite |
reviewerCountry | Australia |
checkInDate | August 2026 |
lengthOfStay | 7 nights |
source | agoda / booking.com |
hotelName, hotelId, hotelUrl | The Magani Hotel And Spa, 335650 |
starRating, accommodationType | 5, Hotel |
address, area, city, country | Jalan Melasti, Legian, Bali, Indonesia |
The hotel record adds agodaReviewCount and bookingReviewCount so you can size a property before scraping everything.
🛏️ Room rates and availability
Switch on Room rates and availability and give a check-in date, and every rate on sale for that stay comes back as its own row: room name, floor area, bedding, how many guests it takes, whether breakfast is included, the cancellation terms, the nightly price in the currency you pick, and Agoda's own scarcity note when it shows one.
{"startUrls": ["https://www.agoda.com/the-magani-hotel-and-spa/hotel/bali-id.html"],"mode": "rooms","includeRooms": true,"checkIn": "2026-11-10","checkOut": "2026-11-13","adults": 2,"currency": "USD"}
One property with a three-night stay typically returns 40-90 rate rows, because Agoda sells the same room several ways: with and without breakfast, refundable and not, pay now and pay later. That is what makes the data useful for rate shopping — you see the whole ladder, not just the headline price.
Leave the dates empty and the Actor prices a stay 30 days out, which is the usual default for a rate check. Prices are per night before taxes and fees, exactly as Agoda shows them.
Room rate rows are free until 4 October 2026, after which they cost $0.004 each. Apify allows one pricing change a month and this Actor used its September change already.
How much does it cost to scrape Agoda reviews?
Until 19 September 2026 this Actor still bills on Apify platform usage, not on the prices below. The per-event pricing on this page takes effect on 19 September 2026; the Pricing tab shows whichever model is active today. Runs before that date are charged as compute and proxy usage, which for a small test is a few cents.
The Actor uses Apify's pay-per-event pricing: you pay only for the review and hotel records saved to your dataset — nothing per run, per page or per proxy gigabyte. Error rows are never charged.
| Event | Price | Per 1,000 |
|---|---|---|
| Review (Agoda or Booking.com) | $0.003 | $3 |
| Hotel record (address, rating, review counts) | $0.004 | $4 |
Because the Actor talks to Agoda's JSON endpoints directly, platform compute is tiny — a two-hotel run of 160 reviews used well under a cent of compute in our tests. The Apify Free plan ($5 monthly credit) covers roughly 1,600 reviews a month. Bronze, Silver and Gold Store tiers get a discount on top.
How to scrape Agoda reviews
- Open any hotel on Agoda.com and copy its URL, for example
https://www.agoda.com/the-magani-hotel-and-spa/hotel/bali-id.html. - Paste it into Agoda hotel URLs. Add as many hotels as you need.
- Choose Review source (Agoda, Booking.com, or both), Sort reviews by, and Max reviews per hotel.
- Click Start. When the run finishes, open the Storage tab and export as JSON, CSV, or Excel.
⬇️ Input
The only required field is the list of Agoda hotel URLs. Everything else has sensible defaults.
{"startUrls": ["https://www.agoda.com/the-magani-hotel-and-spa/hotel/bali-id.html","https://www.agoda.com/padma-resort-legian/hotel/bali-id.html"],"mode": "both","reviewsProvider": "all","maxReviewsPerHotel": 200,"reviewsSort": "recent"}
| Field | Required | Description |
|---|---|---|
startUrls | yes | Agoda hotel page URLs |
mode | no | reviews, hotel, or both (default both) |
reviewsProvider | no | agoda, booking, or all (default all) |
maxReviewsPerHotel | no | Reviews per hotel, counted across both sources together (default 100) |
maxResults | no | Ceiling on rows for the whole run, across every hotel in the list |
reviewLanguages | no | Which language editions of Agoda to walk; reviews always come back in the language they were written in |
reviewsSort | no | recent, ratingDesc, ratingAsc, helpful |
minRating | no | Keep only reviews scored at least this (1–10) |
cutoffDate | no | YYYY-MM-DD — skip older reviews; with recent sort the run stops paging there, so daily incremental runs cost only the new reviews |
maxReviewsPerHotel is one budget shared by both review sources, and the same review is
never written twice, so asking for both sources widens the pool you draw from without
doubling what you pay. With the default settings a hotel returns 50 Agoda reviews and 50
Booking.com reviews rather than 100 of one kind.
Scrape reviews from Booking.com via Agoda
Set reviewsProvider to booking or all. Agoda shows Booking.com guest reviews on most hotel pages; the Actor pulls them through the same endpoint and tags each record with source: "booking.com".
⬆️ Output
Each review is one dataset item. A hotel record (type: "hotel") is added per URL when mode is hotel or both.
{"type": "review","hotelId": 335650,"hotelName": "The Magani Hotel And Spa","source": "booking.com","rating": 10,"title": "Good value","text": "Good value for money in a busy location, easy walk to many restaurants and bars…","ratingText": "Exceptional","travelerType": "Couple","roomType": "Deluxe Room","reviewerCountry": "Australia","reviewerCountryCode": "au","reviewDate": "2026-08-30","checkInDate": "2026-08-23","checkOutDate": "2026-08-30","lengthOfStay": 7,"language": "en","images": [],"ownerResponse": "Thank you for staying with us…","ownerResponseDate": "September 2, 2026","responderName": "The Magani Hotel and Spa","helpfulVotes": 0}
Use the Reviews and Hotels table views in the dataset to browse results, or download everything as CSV/Excel.
Use cases for Agoda review data
Hotel reputation monitoring
Track new reviews for your own property from Agoda and Booking.com in one feed; schedule the Actor daily and alert your team on low ratings.
Competitor benchmarking
Compare guest sentiment across competing hotels in Bali, Bangkok, Tokyo, or any market Agoda covers.
Sentiment analysis and AI
Feed clean, structured review text into sentiment models, dashboards, or RAG applications.
Travel content and recommendations
Build hotel guides and comparison pages backed by real guest feedback.
Integrations and Agoda reviews API
Run Agoda Reviews Scraper from your own code with the Apify API and the JavaScript or Python client, or connect it without code to Google Sheets, Slack, n8n, Make, Zapier, and webhooks. It also works with LangChain, LlamaIndex, and the Apify MCP server, so AI agents can request Agoda reviews on demand.
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("lergassy/agoda-reviews-scraper").call(run_input={"startUrls": ["https://www.agoda.com/the-magani-hotel-and-spa/hotel/bali-id.html"],"reviewsProvider": "all","maxReviewsPerHotel": 100,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["rating"], item["text"])
🤖 For AI Agents & LLM Apps
Compact reference for agents calling this Actor through the Apify MCP server or the Apify API (lergassy/agoda-reviews-scraper).
Purpose: returns guest reviews for any Agoda property, including the Booking.com reviews Agoda republishes on the same page, plus a summary row per hotel. Use it to answer "what do guests say about this hotel", "how did sentiment change this season" and "how does this property compare with the one next door".
Minimal input:
{ "startUrls": ["https://www.agoda.com/the-magani-hotel-and-spa/hotel/bali-id.html"], "maxReviewsPerHotel": 50 }
Output: one row per review — type, hotelId, hotelName, hotelUrl,
source, reviewId, rating, title, text, positives, negatives,
ratingText, reviewDate (ISO), checkInDate, checkOutDate, stayMonth,
language, reviewerName, reviewerCountry, reviewerCountryCode,
reviewerReviewCount, isExpertReviewer, travelerType, roomType,
lengthOfStay (nights), images, ownerResponse, ownerResponseDate,
responderName, reviewProvider, helpfulVotes. Use minRating and
cutoffDate in the input to fetch only low scores or only new reviews. With mode set to
hotel or both the dataset also carries one row per property with name,
englishName, starRating, accommodationType, address, area, city, country,
postalCode, hotelId, agodaReviewCount, bookingReviewCount and url.
Behaviors an agent should know:
- Input is Agoda property URLs, not search queries. Any Agoda hotel URL works; the Actor resolves the property id from it.
reviewsProviderpicks the pool:all(default) for both,agodaorbookingfor one. Thesourcefield on every row says which pool it came from, so mixed runs stay traceable.maxReviewsPerHotelis per property and is shared by both sources, default 100. Ten hotels therefore return at most 1,000 review rows whateverreviewsProvideris set to. UsemaxResultsto cap the run as a whole.- A row with
type: "error"and anerrorstring startingIncomplete:means Agoda stopped serving pages part-way through that hotel. The rows already returned are valid; the set is not complete. Treat the presence of that row as "re-run before trusting counts", not as a failed run. - Ratings use each source's own scale: Agoda scores out of 10, Booking.com out of
10 as well, but the two populations are not directly comparable — compare within
a
source, not across it. positivesandnegativesare only filled where the source splits the review into liked and disliked; Agoda's own reviews usually put everything intext.- Dates are ISO 8601.
checkInDateis the month of the stay, not a full date, because that is all the source publishes. - No login, no API key and no browser: the Actor reads Agoda's own review endpoint, so runs are fast and cheap.
Hotel guest reviews with the fields that make them analysable
Rating and text are the easy part. Every review here also carries the traveler type, the room actually booked, the length of stay, the reviewer's country and the month of the stay — so hotel review data can be segmented instead of averaged. A property at 8.4 overall can be a 9.1 for couples and a 6.8 for families, and only the segments show it.
Two review pools on one page
Agoda publishes its own guest reviews and the Booking.com review pool for most properties. Both are pulled in the same run, and the hotel row reports how many each pool holds before any review is fetched, so coverage is visible before a large job starts.
❓ FAQ
Is it legal to scrape Agoda reviews?
The Actor extracts only publicly available data that anyone can see without logging in and does not collect private account data. Always review the target website's terms of service and consult a lawyer for your specific use case.
Can I use Agoda Reviews Scraper with the Apify API?
Yes. Every Actor on Apify is available via REST API and the official JavaScript and Python clients — see the API tab for ready-made snippets.
Can I use it through an MCP server?
Yes. Connect the Apify MCP server to your AI agent and it can call this Actor as a tool.
Can I integrate it with other apps?
Yes — Google Sheets, Slack, n8n, Make, Zapier, webhooks, and any tool that speaks HTTP.
How do I get one review per row?
Reviews are already one item per row. Filter the Reviews view or export with type=review to drop hotel records.
Do I need proxies?
Small runs work without them. For large volumes keep Apify Proxy enabled in the input (on by default). Datacenter proxies are enough for normal runs; residential addresses mainly help when you are scraping a property's entire review history in one go, because Agoda throttles deep paging.
Will I get every review a hotel has?
Up to your limit, usually — but Agoda throttles deep paging and sometimes stops serving pages
before its pool is exhausted. When that happens the Actor writes a row with type: "error" whose
message starts Incomplete:, naming how many rows it managed. Runs that end without that row
went to the end of what Agoda served. Measured on a Bali property with about 1,900 reviews,
consecutive full-history runs landed within a few percent of each other and every short one said
so. Do not treat a review count from a single deep run as the property's true total; the count
Agoda itself prints on the page disagrees with its own API as well.
Which hotels work?
Any hotel page on agoda.com worldwide; Agoda's deepest coverage is Asia — Bali, Thailand, Japan, Vietnam, Singapore, Malaysia.
Does it scrape hotel prices?
Yes. Set Mode to rooms (or switch on Also fetch room prices) and give check-in and
check-out dates: the Actor returns one row per bookable room with its price, bedding, occupancy,
breakfast and cancellation terms. Reviews and room prices can be collected in the same run.
Your feedback
Found a bug or need a field we don't return? Open an issue in the Issues tab — feature requests are welcome and usually shipped fast. If the Actor helped you, a review helps others find it.
You might also like
| Actor | What it does |
|---|---|
| Airbnb Scraper | Airbnb listings for any place and dates: nightly price, rating, beds, amenities, host |
| Tokopedia Reviews Scraper | Product reviews from any shop on Indonesia's largest marketplace |
| Google Flights Scraper | Flight prices, airlines, stops and times by route and dates |
| New Business Leads Monitor | Daily feed of newly registered US businesses and funded startups, with phone, email and lead score |
| Email Verifier & Phone Number Validator | Checks e-mails and phone numbers in bulk: deliverability, throwaway and role flags, numbering plan, US state and time zone |
Also known as
People look for this Actor as an Agoda scraper, an Agoda reviews scraper, a hotel reviews scraper, a hotel guest reviews API, hotel review data, hotel ratings data, a traveler reviews source, and a Booking.com reviews scraper.

