Agoda Hotel Reviews Scraper avatar

Agoda Hotel Reviews Scraper

Pricing

$2.00 / 1,000 results

Go to Apify Store
Agoda Hotel Reviews Scraper

Agoda Hotel Reviews Scraper

Pricing

$2.00 / 1,000 results

Rating

0.0

(0)

Developer

Danny

Danny

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Pull guest reviews for any Agoda hotel — rating, title, full review text, the untranslated original, per-review pros/cons, reviewer name/country, traveler type, room type, length of stay, check-in dates, helpful votes, and photos — straight from a hotel URL. No login, no browser to manage, fast JSON.

Reviews come back newest first (or by the sort you choose), and the run also tells you the hotel's total review count so you know how deep the well is. A mega-hotel like Marina Bay Sands has tens of thousands of reviews — page through as many as you want.

Pricing: $2.00 per 1,000 reviews (pay per result). You're only charged for reviews actually returned.

What you get

Every review returns:

FieldDescription
review_idStable Agoda review id
ratingScore out of 10
rating_textWord rating ("Exceptional", "Excellent" …)
titleReview title (translated)
textFull review text (translated to your chosen language)
original_title / original_textThe review exactly as the guest wrote it
positives / negativesSeparate "liked / disliked" notes when present
review_dateWhen the review was written (ISO 8601)
check_in_date / check_out_dateThe guest's stay dates
length_of_stayNights stayed
reviewer_nameReviewer display name
reviewer_country / reviewer_country_codeReviewer's country
traveler_typeSolo, Couple, Family, Business …
room_typeRoom the guest booked
helpful_votesHow many found the review helpful
responder_name / response_dateHotel's reply, when present
photosGuest-uploaded photos, when present
providerReview source (Agoda, and partner sites)

Input

FieldRequiredDescription
hotelAgoda hotel page URL, a ?hid= URL, or the numeric hotel id
max_reviewsHow many reviews to return, newest first (default 100, up to 3000)
sortmost_recent, most_helpful, rating_high, or rating_low
languageLocale for translated text (default en-us)
{ "hotel": "https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html", "max_reviews": 100, "sort": "most_recent" }

Example output

{
"review_id": 1144429097,
"rating": 9.2,
"rating_text": "Exceptional",
"title": "It was the best hotel, but...",
"text": "The infinity pool and the view were unforgettable...",
"original_title": "最高のホテルでしたが…",
"review_date": "2026-07-09T01:38:00+07:00",
"check_in_date": "2026-07-06T00:00:00+07:00",
"length_of_stay": 1,
"reviewer_name": "YUKA",
"reviewer_country": "Japan",
"traveler_type": "Couple",
"room_type": "Sands Premier King City View",
"helpful_votes": 0,
"provider": "Agoda"
}

How to run it

API:

curl -X POST "https://api.apify.com/v2/acts/good-apis~agoda-reviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"hotel":"https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html","max_reviews":100,"sort":"most_recent"}'

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("good-apis/agoda-reviews-scraper").call(
run_input={"hotel": "https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html",
"max_reviews": 100, "sort": "most_recent"})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["rating"], item["title"])

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('good-apis/agoda-reviews-scraper').call({
hotel: 'https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html',
max_reviews: 100, sort: 'most_recent',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(r => console.log(r.rating, r.title));

Pagination & depth

One run pages through the hotel's reviews for you, up to max_reviews (up to 3000). Reviews are returned newest first by default; set sort to reorder. Agoda aggregates reviews from multiple providers — the scraper reads the largest (Agoda's own) first, then falls through to partner providers to reach your requested count.

FAQ

Do I need a login or API key? No — it reads public hotel reviews.

Where do I find the hotel URL? Open the hotel on agoda.com and copy the address bar. You can also paste just the numeric hotel id.

Why are some reviews rating-only (no text)? Many Agoda guests leave a score without writing a comment — those come back with the rating filled in and the text empty. That's the genuine review, not a gap.

Why are reviews in different languages? Agoda guests write in their own language; the scraper returns the text translated to your chosen language, plus the untranslated original_text.

What if a hotel has no reviews? The run succeeds with an empty dataset — you're not charged for zero results.

Do you have hotel search and hotel detail too? Reviews is the surface offered here; hotel search/detail read from a different Agoda endpoint.