Agoda Review Scraper avatar

Agoda Review Scraper

Pricing

from $0.70 / 1,000 results

Go to Apify Store
Agoda Review Scraper

Agoda Review Scraper

Extract guest reviews from Agoda.com hotel pages anonymously without a login. Input a hotel name, URL, or property ID to get comprehensive hotel summaries and individual review data (ratings, text, stay dates, reviewer country, traveler type) fed directly into a structured dataset for analysis.

Pricing

from $0.70 / 1,000 results

Rating

0.0

(0)

Developer

MrDoe

MrDoe

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Scrape Agoda guest reviews — rating, title, full review text, separated positives and negatives, reviewer country, traveler type, room type, stay dates, and helpful votes — without an Agoda account, login, or official API. The Agoda Review Scraper takes a hotel name, an Agoda URL, or a numeric property ID and returns clean structured JSON for hotel reputation monitoring, sentiment analysis, and competitor review research.

Agoda Review Scraper input configuration panel

What is the Agoda Review Scraper?

The Agoda Review Scraper is an Apify Actor that extracts publicly visible guest reviews from Agoda hotel pages. For each hotel you pass, it returns one summary row (overall score, total review count) followed by one row per individual review with the rating, title, full comment, separately-tagged liked/disliked text, reviewer country, traveler type, room type, length of stay, and helpful-vote counts. Output is flat JSON, ready for text analysis, Excel, or an API integration.

How to scrape Agoda hotel reviews

  1. Enter hotelQuery — a hotel name, a full Agoda hotel URL, or a numeric property ID. Use hotelQueries for a batch.
  2. Pick sortBymostHelpful (default), mostRecent, ratingHighToLow, or ratingLowToHigh.
  3. Set maxItems to cap the number of review rows.
  4. Click Start. Export as JSON, CSV, Excel, or via the dataset API.

What data can I extract from Agoda reviews?

FieldTypeDescription
statusstringsuccess or error
kindstringhotelSummary or review
hotelIdstringAgoda's internal property ID
hotelNamestringHotel name
overallScorenumberHotel's overall review score out of 10 (hotelSummary)
overallReviewCountintegerTotal number of reviews (hotelSummary)
reviewIdstringAgoda's internal review ID
ratingnumberReview rating out of 10
ratingTextstringRating label, e.g. Exceptional
titlestringReview headline
commentstringFull review text
positives / negativesstringSeparately tagged liked / disliked text when present
reviewDatestringWhen the review was posted (ISO)
checkInDate / checkOutDatestringStay dates (ISO)
lengthOfStayintegerNights stayed
reviewerNamestringReviewer display name
reviewerCountrystringReviewer's country
travelerTypestringe.g. Family with young children, Solo traveler
roomTypeNamestringRoom type the reviewer booked
helpfulVotes / unhelpfulVotesintegerVote counts on the review
hasHotelResponsebooleanWhether the hotel replied
responderNamestringName of the hotel responder, when present
providerstringReview source (Agoda aggregates several OTA partners)
errorMessagestringWhy a lookup failed

Input example

{
"hotelQuery": "Marina Bay Sands",
"sortBy": "mostRecent",
"maxItems": 20,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Output example

[
{
"status": "success",
"kind": "hotelSummary",
"query": "Marina Bay Sands",
"hotelId": "185945",
"hotelName": "Marina Bay Sands",
"overallScore": 8.9,
"overallReviewCount": 48872
},
{
"status": "success",
"kind": "review",
"query": "Marina Bay Sands",
"hotelId": "185945",
"hotelName": "Marina Bay Sands",
"reviewId": "1162245625",
"rating": 10,
"ratingText": "Exceptional",
"title": "The best memories",
"comment": "During our trip to Singapore, it was my son's birthday, so we received a complimentary room upgrade...",
"positives": null,
"negatives": null,
"reviewDate": "2026-08-14T04:35:00+07:00",
"checkInDate": "2026-08-13T00:00:00+07:00",
"checkOutDate": "2026-08-14T00:00:00+07:00",
"lengthOfStay": 1,
"reviewerName": "AI",
"reviewerCountry": "Japan",
"travelerType": "Family with young children",
"roomTypeName": "Sands Premier Double Queen Room",
"helpfulVotes": 0,
"unhelpfulVotes": 0,
"hasHotelResponse": false,
"responderName": null,
"provider": "Agoda"
}
]

Agoda Review Scraper sample output dataset

What you get vs. reading Agoda reviews manually

TaskManually on AgodaWith the Agoda Review Scraper
Read 200 reviews for sentimentScroll and copy one by oneOne run, one dataset
Separate compliments from complaintsRead each review carefullypositives / negatives fields, pre-split
Compare 5 competitors' review volumeVisit 5 pages, note numbersBatch hotelQueries, compare overallReviewCount
Track rating trend monthlyManual spreadsheetSchedule the Actor, diff the dataset
Feed reviews into an NLP pipelineManual exportJSON / CSV straight from the dataset API

How to use it (step by step)

  1. Provide the hotel — a direct Agoda URL or numeric property ID is the most reliable; a hotel name is resolved through Agoda's own autocomplete.
  2. Pick the sort order to match how you want reviews paginated.
  3. Set maxItems to control run size and cost.
  4. Keep the residential proxy on for sustained or high-volume runs.
  5. Run and export — dataset tab or GET /v2/datasets/{id}/items.
  6. Schedule it for ongoing reputation monitoring.

Pricing

Pay-per-event: a small run-start charge, then a per-row charge for each review row. Rows with status error are not charged. Exact rates are on the Actor's Pricing tab. [PRICING TBD]

FAQ

What is the Agoda Review Scraper? An Apify Actor that extracts publicly available Agoda guest reviews — rating, full text, positives/negatives, reviewer country, traveler type, stay details — as structured JSON, CSV, or Excel.

Do I need an Agoda account, API key, or login? No.

Why did I get a hotelSummary row but no review rows? The hotel may have no reviews yet, or the review feed returned an empty page for that hotel and sort order — try a different sortBy.

Can I get the hotel's written response to a review? Only whether a response exists (hasHotelResponse) and the responder's name — not the response body text.

Why is the rating out of 10? That is Agoda's own scale; the Actor passes it through unchanged.

Can I search a hotel by name? Yes, via Agoda's autocomplete — but an obscure name may not resolve. Use a direct Agoda URL or numeric property ID for a guaranteed match.

What export formats are available? JSON, CSV, Excel, HTML table, RSS, or the Apify dataset API.

Is scraping Agoda reviews legal? The Actor accesses only publicly available data. You are responsible for compliant use under Agoda's terms and the laws that apply to you. Not affiliated with Agoda.

My other travel scrapers on Apify

ActorWhat it does
Agoda Hotel ScraperHotel details and live city pricing from Agoda
Booking.com Review ScraperGuest review text and scores from Booking.com
Booking.com Listings ScraperHotel prices, ratings, and room types from Booking.com
Expedia Review ScraperTraveler reviews and sentiment from Expedia
Expedia Hotel ScraperHotel listings and per-room rates from Expedia
Trip.com Review ScraperGuest reviews and stay details from Trip.com
Trip.com Hotel ScraperHotel prices, ratings, and best room rate from Trip.com
TripAdvisor Review ScraperFull guest reviews and sub-ratings from TripAdvisor
TripAdvisor Hotel ScraperHotel details plus per-OTA room rates from TripAdvisor
Airbnb Room Reviews ScraperReviews, ratings, and host replies from Airbnb listings
Airbnb Search ScraperListings, prices, and hosts from Airbnb search
Airbnb & Vrbo Revenue and Occupancy EstimatorEstimated revenue and occupancy for short-term rentals
Google Hotels ScraperHotel prices, ratings, and coordinates from Google Hotels

Agoda Review Scraper logo


Independent tool, not affiliated with or endorsed by Agoda. Accesses only publicly available data. Report bugs or request features on the Issues tab.