Agoda Reviews Scraper avatar

Agoda Reviews Scraper

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Agoda Reviews Scraper

Agoda Reviews Scraper

Extracts guest review data (ratings, text, reviewer demographics, translations) for hotels listed on Agoda.com by hotel URL or hotel ID.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

Ibnu Adzim

Ibnu Adzim

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Extracts guest review data for any hotel listed on Agoda.com — just give it a hotel page link or hotel ID.

Why use this actor

  • No account, no login, and no API key needed — works on public hotel pages only.
  • Pulls the full review picture: star ratings, written reviews (with automatic translation to English alongside the original text), reviewer country and trip type, stay dates, and helpful-vote counts.
  • Also returns the hotel's aggregate rating summary — overall score, per-category scores (cleanliness, facilities, location, etc.), and combined review counts across providers — as a single summary row per hotel.
  • Every hotel you submit gets at least one output row — including a clear diagnostic reason on the rare rows that couldn't be fetched, so nothing silently disappears from your results.
  • Works with either a full hotel page URL or just the hotel's numeric ID.
  • Built-in cap on reviews per hotel (adjustable) so a single wildly popular hotel with tens of thousands of reviews doesn't blow up your run — set it to 0 to pull everything.

How it works

  1. You give the actor one or more Agoda hotel page links (or numeric hotel IDs).
  2. For each hotel, it looks up the review data directly from Agoda, page by page, until it runs out of reviews or hits your per-hotel cap.
  3. Results are streamed to your dataset as they finish, with automatic retries for temporary hiccups.
  4. You export the finished dataset as JSON, CSV, or Excel straight from the Apify Console — no scrapers or infrastructure to manage yourself.

Input

{
"hotelUrls": [
"https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html?hotelId=185945"
],
"sortBy": "most_recent",
"maxReviewsPerHotel": 200,
"maxConcurrency": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}
FieldTypeDescription
hotelUrlsarray of stringsAgoda hotel page URLs (e.g. https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html?hotelId=185945) or raw numeric hotel IDs (e.g. 185945).
sortBystringReview order: most_recent (default), rating_high_to_low, rating_low_to_high, or most_helpful.
maxReviewsPerHotelintegerStop after this many reviews per hotel. Default 200. Set to 0 to fetch every review (can be slow for hotels with tens of thousands of reviews).
maxConcurrencyintegerHow many hotels to process at the same time. Default 3.
proxyConfigurationobjectProxy settings. Residential proxy is turned on by default and recommended for reliable results.

Output

Each hotel produces one summary row plus one review row per guest review. Real examples from a run against the live site (long fields truncated):

Summary row (recordType: "SUMMARY"):

{
"_input": "https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html?hotelId=185945",
"_source": "S1-reviews-api",
"_scrapedAt": "2026-08-09T17:57:50Z",
"recordType": "SUMMARY",
"hotelId": 185945,
"hotelName": "Marina Bay Sands ",
"combinedReview": {
"score": {
"score": 8.9,
"formattedScore": "8.9",
"scoreText": "Excellent",
"reviewCount": 48848,
"formattedReviewCount": "48,848"
}
},
"score": { "...": "per-category scores (cleanliness, facilities, location, ...) — 3 more fields" }
}

Review row (recordType: "REVIEW"):

{
"_input": "https://www.agoda.com/marina-bay-sands/hotel/singapore-sg.html?hotelId=185945",
"_source": "S1-reviews-api",
"_scrapedAt": "2026-08-09T17:57:50Z",
"recordType": "REVIEW",
"hotelId": 185945,
"hotelName": "Marina Bay Sands ",
"hotelReviewId": 1158921129,
"rating": 10.0,
"formattedRating": "10.0",
"ratingText": "Exceptional",
"reviewTitle": "As expected of MBS.",
"reviewComments": "I had to stop by in order to go to the Maldives, so I simply thought I would stay for a day at the hotel that was said to be the best...",
"checkInDateMonthAndYear": "July 2026",
"formattedReviewDate": "August 05, 2026",
"reviewerInfo": {
"countryName": "Japan",
"displayMemberName": "Masaaki",
"reviewGroupName": "Family with young children",
"roomTypeName": "Sands Premier Double Queen Gardens by the Bay View Room"
},
"helpfulVotes": 0,
"unHelpfulVotes": 0
}

When a hotel can't be found or the input can't be understood, the actor still emits one row for that input with a clear reason, instead of leaving it out silently:

{
"_input": "999999999",
"_source": "none",
"_scrapedAt": "2026-08-09T17:57:50Z",
"recordType": "ERROR",
"_error": "not_found",
"_errorDetail": "No hotel found for hotelId=999999999"
}
FieldTypeDescription
_inputstringThe hotel URL or ID you submitted.
_sourcestringWhich internal strategy produced this row. "none" on a failed row.
_scrapedAtstringUTC timestamp of when this row was produced.
recordTypestring"SUMMARY", "REVIEW", or "ERROR".
hotelIdintegerAgoda's numeric ID for the hotel (present on successful rows).
hotelNamestringThe hotel's name (present on successful rows).
_errorstringPresent only on rows that couldn't be fetched, e.g. not_found, invalid_input.
_errorDetailstringHuman-readable detail for the error, present only alongside _error.
(all other fields)On a successful row, every review or rating field Agoda provides is passed through unchanged — the exact set can vary slightly by hotel.

Notes / limits

  • Very popular hotels can have tens of thousands of reviews. The default 200-per-hotel cap keeps runs fast and predictable; raise it (or set it to 0) if you need the complete history for a specific property.
  • Review text is automatically translated to English by Agoda when the original review is in another language; the original-language text is included alongside the translation.

Other actors in this collection

ActorWhat it returns
Orbitz Hotel Reviews ScraperGuest reviews for hotels listed on Orbitz.com