Agoda Reviews Scraper avatar

Agoda Reviews Scraper

Pricing

from $3.00 / 1,000 review scrapeds

Go to Apify Store
Agoda Reviews Scraper

Agoda Reviews Scraper

Scrape Agoda hotel guest reviews by hotel URL or ID: rating, title, text, pros and cons, reviewer profile, hotel response and dates.

Pricing

from $3.00 / 1,000 review scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a month ago

Last modified

Share

What is Agoda Reviews Scraper?

Agoda Reviews Scraper turns Agoda hotel URLs or hotel IDs into a dataset with one row per guest review. Each row returns the score and score label, review title, review text, positives and negatives, review date, check-in month, length of stay, reviewer first name and country, traveler type, room type, language, review source and whether the hotel replied. Hotel revenue managers, hospitality consultants, travel analysts, reputation teams and AI agents use it to track guest sentiment, compare properties and spot recurring complaints across Asia-Pacific hotels and beyond.

Why hospitality teams use this Agoda review scraper

  • Structured pros and cons. positives and negatives arrive as separate fields when the source splits them, ready for sentiment analysis.
  • Who stayed and how. travelerType, roomType, lengthOfStay and reviewerCountry let you segment feedback by guest profile.
  • Partner reviews in one place. includeAllProviders adds reviews Agoda aggregates from partner sources such as Booking.com, tagged in provider.
  • Monitoring-friendly sort. most_recent pulls the newest reviews first, so scheduled runs surface fresh feedback quickly.
  • Text-only option. onlyReviewsWithText skips score-only entries for cleaner NLP input.

Best fit for this Actor

  • Designed for hotel review monitoring and benchmarking from known Agoda properties.
  • Use it when you need guest scores, text and traveler context per review for dashboards or sentiment models.
  • For the same property on Booking.com with its own review set, continue with Booking.com Reviews Scraper and compare scores across channels.
  • When you also track owner replies on Tripadvisor, then use Tripadvisor Reviews Scraper — Ratings, Text & Owner Replies.

Example workflow: from a competitor set to a weekly sentiment report

A revenue manager at a Bangkok hotel starts with four competing properties. They paste the Agoda hotel IDs into hotelIds, set sortBy to most_recent, maxReviewsPerHotel to 50 and onlyReviewsWithText on. The dataset returns rating, reviewTitle, positives, negatives, travelerType and roomType for each review. They feed the text into a sentiment model, compare average scores by traveler type, export the summary to their weekly deck and schedule the same input every Monday.

Input

FieldTypeWhat it controls
hotelUrlsarrayAgoda hotel page URLs; the hotel ID is read from each page.
hotelIdsarrayNumeric Agoda hotel IDs such as 461790, used directly for a faster start.
maxReviewsPerHotelintegerCap on reviews per hotel. Default 100.
sortBystringmost_recent, most_helpful, highest_rated or lowest_rated.
includeAllProvidersbooleanAdd reviews from Agoda's partner sources. Default false.
onlyReviewsWithTextbooleanKeep only reviews with written text. Default false.
proxyConfigurationobjectDefault Apify Residential proxy.
{
"hotelUrls": ["https://www.agoda.com/the-berkeley-hotel-pratunam/hotel/bangkok-th.html"],
"hotelIds": ["461790"],
"maxReviewsPerHotel": 50,
"sortBy": "most_recent",
"includeAllProviders": true,
"onlyReviewsWithText": true
}

Output

One row per review.

FieldWhat it contains
hotelId, hotelReviewIdHotel and review IDs
rating, ratingTextScore out of 10 and its label, such as Exceptional
reviewTitle, reviewTextHeadline and full review text
positives, negativesLiked and disliked sections when the source splits them
reviewDate, checkInDate, checkInMonthYear, lengthOfStayReview and stay dates
helpfulVotesHelpful votes on the review
reviewerName, reviewerCountryReviewer first name and country as shown
travelerType, roomTypeGuest profile and room booked
languageReview language
provider, providerIdReview source, such as Agoda or Booking.com
hotelResponderName, hotelResponseDateWho replied for the hotel, and when
imagesGuest photo URLs when the review includes them
scrapedAtCollection time
{
"hotelId": 461790,
"hotelReviewId": 1188767364,
"rating": 10,
"ratingText": "Exceptional",
"reviewTitle": "Best Hotel in Bangkok",
"reviewText": "Really amazing hotel with good facilities and customer service. Clean, good breakfast and friendly staff.",
"positives": "",
"negatives": "",
"reviewDate": "2026-09-30T11:34:00+07:00",
"checkInDate": "2026-09-29T00:00:00+07:00",
"checkInMonthYear": "September 2026",
"lengthOfStay": 2,
"helpfulVotes": 0,
"reviewerName": "Priya",
"reviewerCountry": "Switzerland",
"travelerType": "Family with young children",
"roomType": "Premier Family Room, North Tower",
"language": "en",
"provider": "Agoda",
"providerId": 332,
"hotelResponderName": "The Berkeley Hotel Pratunam",
"hotelResponseDate": "2026/10/01 04:03:08",
"images": [],
"scrapedAt": "2026-10-01T12:38:13.155Z"
}

Agoda-sourced reviews usually carry the story in reviewText, while partner reviews such as Booking.com often split it into positives and negatives. Read all three fields together for complete guest feedback.

Pricing

This Actor uses Pay per event plus Apify platform usage. You pay one Review scraped event per review saved to the dataset and one small Actor Start event per run, and Apify platform usage for compute and residential proxy is billed on top. The live Pricing tab on this page shows the current event prices.

Worked example: four hotels with maxReviewsPerHotel set to 50 save at most two hundred review rows, so the run costs up to that many review events, one start event and its platform usage.

API example

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~agoda-reviews-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"hotelIds": ["461790"], "maxReviewsPerHotel": 20, "sortBy": "most_recent"}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("khadinakbar/agoda-reviews-scraper").call(run_input={
"hotelUrls": ["https://www.agoda.com/the-berkeley-hotel-pratunam/hotel/bangkok-th.html"],
"maxReviewsPerHotel": 50,
"onlyReviewsWithText": True,
})
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
print(review["rating"], review["travelerType"], review["reviewTitle"])

Use with AI agents (MCP)

Connect the Actor to Claude, ChatGPT, Cursor or any MCP client through Apify MCP, then ask:

Pull the 30 most recent Agoda reviews for hotel ID 461790 with text only, and summarize what families like and dislike about the rooms.

The agent calls the Actor with hotelIds, maxReviewsPerHotel and onlyReviewsWithText, reads rows with get-dataset-items, and filters on travelerType. hotelReviewId and scrapedAt give provenance per review, and maxReviewsPerHotel keeps cost bounded.

Best results

Starting situationHelpful actionExpected outcome
A hotel page in your browserPaste its URL in hotelUrlsThe ID is found for you
Hotel IDs already in a sheetUse hotelIdsA faster start per hotel
Ongoing monitoringSort by most_recent and schedule weeklyFresh reviews each week
Sentiment analysisTurn on onlyReviewsWithTextRows with text to analyse
Fuller coverageTurn on includeAllProvidersPartner-source reviews alongside Agoda's
Complaint researchSort by lowest_ratedThe most critical feedback first

Builder's note

I built this for hotel teams who monitor reviews every week, so most_recent is the default sort and each row keeps the traveler type and room booked for segmentation. I found that Agoda mixes its own reviews with partner sources that structure feedback differently, so the Actor keeps reviewText, positives and negatives side by side and tags every row with its provider. Partner reviews are opt-in so the default dataset stays focused on Agoda's own guests.

FAQ

Where do I find the hotel ID?

Paste the hotel URL in hotelUrls and the Actor finds it. The numeric ID also appears in Agoda page links.

Is the hotel's reply included?

Each row shows whether the hotel replied through hotelResponderName and hotelResponseDate.

Can I get only negative reviews?

Sort by lowest_rated and filter rows by rating after the run.

Responsible use

This Actor collects publicly available Agoda review data without logging in. Reviewer names and countries are personal data under laws such as the GDPR, so use them only with a lawful basis, keep data no longer than you need, and respect Agoda's terms. Agoda is a trademark of its owner; this independent Actor is not affiliated with or endorsed by Agoda. For questions or bugs, open a ticket in the Issues tab.