Agoda Scraper — Hotel Reviews, Ratings & Prices avatar

Agoda Scraper — Hotel Reviews, Ratings & Prices

Pricing

from $4.00 / 1,000 reviews

Go to Apify Store
Agoda Scraper — Hotel Reviews, Ratings & Prices

Agoda Scraper — Hotel Reviews, Ratings & Prices

Scrape Agoda hotel reviews (Agoda and Booking.com), hotel details with scores and amenities, and search results with prices per night. Monitor new reviews on a schedule.

Pricing

from $4.00 / 1,000 reviews

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Scrape Agoda hotel reviews (from Agoda guests and the Booking.com reviews Agoda shows on the same page), hotel details (score, sub-scores, amenities, check-in/out times, coordinates, cheapest price per room type) and search results with the price per night for any destination and dates. Export to JSON, CSV or Excel, or call it from your app through the Apify API.

  • Reviews for any hotel URL or hotel id: overall score, title, review text or liked / disliked parts, review date, stay dates, traveller type, room type, nights, reviewer name and country as shown, the hotel's response, source (Agoda or Booking.com) and language.
  • Deep: all reviews Agoda serves for a hotel, typically 1,000-4,000 per popular hotel, in every language.
  • Monitoring: schedule it and get only new reviews (or only changed prices) each run; repeats are not charged.
  • Fast and cheap to run: plain HTTP through Apify datacenter proxies, about 1,000 reviews per 15-30 seconds.

What data does it extract?

Reviews (mode: reviews, default)

FieldExample
reviewId1189163426
hotelId, hotelName, hotelUrl10715, The Peninsula Bangkok, https://www.agoda.com/the-peninsula-bangkok/hotel/bangkok-th.html
providerAgoda or Booking.com
rating, ratingText9.2, Exceptional (10-point scale)
title, textAlways a great option, full review text
positives, negativesLiked / disliked parts (Booking.com style reviews)
reviewDate2026-10-01T01:16:00+07:00
checkInDate, checkOutDate, stayMonth, lengthOfStay2026-09-26, 2026-09-29, September 2026, 3
travellerType, roomTypeCouple, Grand Deluxe Room
reviewerName, reviewerCountry, reviewerCountryCodeLynette, Australia, AU (as Agoda shows them)
language, originalTitle, originalTexten; original text when Agoda shows a translation
helpfulVotes, photosVotes and guest photo URLs
hotelResponse, hotelResponseDate, hotelResponderNameThe property's reply
changeTypenew (only with monitoring)

Hotel details (mode: hotels)

hotelId, name, url, accommodationType, starRating, address, street, area, city, country, postalCode, latitude, longitude, reviewScore, reviewScoreText, reviewCount, reviewsWithTextCount, scoreBreakdown (Cleanliness, Service, Facilities, Location, Room comfort, Value for money, Food), scoreDistribution, reviewProviders, checkInFrom, checkOutUntil, amenities, amenityGroups, languagesSpoken, highlights, locationHighlight, description, images, and with a check-in date: checkIn, nights, available, priceFrom (cheapest per night, before taxes), currency, cheapestRoom, rooms (cheapest price per room type).

Search results (mode: search)

hotelId, name, url, accommodationType, starRating, area, city, country, latitude, longitude, reviewScore, reviewCount, available, soldOut, pricePerNight (before taxes), pricePerNightWithTaxes, originalPricePerNight (struck-through price), currency, checkIn, nights.

How to scrape Agoda reviews

  1. Paste one or more Agoda hotel URLs into Agoda URLs (any hotel page, review page or link with tracking parameters), or hotel ids into Hotel ids.
  2. Set Max reviews per hotel (and Max items for the whole run).
  3. Optional: pick Review sources (Agoda / Booking.com), Review languages, Sort reviews by, or Only reviews newer than.
  4. Run it and download the dataset.

Input example:

{
"mode": "reviews",
"startUrls": [{ "url": "https://www.agoda.com/the-peninsula-bangkok/hotel/bangkok-th.html" }],
"maxReviewsPerHotel": 500,
"maxItems": 500
}

Output example:

{
"type": "review",
"reviewId": "1189163426",
"hotelId": 10715,
"hotelName": "The Peninsula Bangkok",
"hotelUrl": "https://www.agoda.com/the-peninsula-bangkok/hotel/bangkok-th.html",
"provider": "Agoda",
"rating": 9.2,
"ratingText": "Exceptional",
"title": "Always a great option",
"text": "We have visited the Peninsula Bangkok multiple times as it never fails in quality...",
"reviewDate": "2026-10-01T01:16:00+07:00",
"checkInDate": "2026-09-26",
"checkOutDate": "2026-09-29",
"lengthOfStay": 3,
"travellerType": "Group",
"roomType": "Grand Deluxe Room",
"reviewerName": "Lynette",
"reviewerCountry": "Australia",
"language": "en",
"hotelResponse": null
}

You can also review whole destinations: put a search URL (https://www.agoda.com/search?city=9395), a city page (https://www.agoda.com/city/bangkok-th.html) or a destination name (Bangkok) in the input and the actor reads the reviews of the top hotels (Max hotels per search, Agoda's own ranking).

How to get Agoda hotel prices for my dates

Use Search results with prices mode with a destination and dates:

{
"mode": "search",
"destinations": ["Lisbon"],
"checkIn": "2026-12-01",
"nights": 2,
"adults": 2,
"currency": "EUR",
"maxItems": 200
}

Each result has the price per night before taxes, the price with taxes and fees, the struck-through price when Agoda shows a discount, and whether the hotel is available. Search page URLs copied from Agoda keep their dates. For a single hotel's room prices use Hotel details mode with a check-in date: you get the cheapest price per room type (in USD).

Monitor changes on a schedule

Turn on Only new or changed items and save the input as a task, then add a Schedule in Apify (for example daily). In reviews mode each run checks the newest Max reviews per hotel reviews of every hotel and saves only reviews it has not saved before; Only reviews newer than (1 day, 7 days or a date) narrows it further. In hotels and search mode an item is saved again only when its price, struck-through price, availability or review score changed. Unchanged items are not output and not charged. New items carry changeType: "new", changed ones changeType: "changed" plus previousValues with the old values of the fields that changed. Use Monitoring key to keep several schedules on the same input apart.

Does it work without login or an Agoda account?

Yes. It reads the same public JSON the Agoda website loads for any visitor, with no login and no cookies from you. The default Apify datacenter proxy is enough; no residential or Unblocker proxy is needed.

How many reviews can I get per hotel?

All that Agoda serves for the hotel: typically 1,000-4,000 for popular hotels (Agoda guests plus Booking.com guests, every language). Agoda counts reviews without text in its headline review number, so the number of written reviews is lower than "Based on N reviews" (reviewsWithTextCount in hotel details). Reviews come in Agoda's order: English first, newest first within each language. With a date filter, a language filter or monitoring, every language is read newest first and merged by date.

How much does it cost?

Pay per result: $0.004 per review, $0.004 per hotel details item, $0.003 per search result. Platform usage is tiny (a 1,000-review run uses well under $0.01 of compute), and you can cap spend with Max items.

Proxy note

The default {"useApifyProxy": true} (datacenter) works. Agoda's review service answers part of all requests with an empty page; the actor detects that and retries on a new proxy IP, so you do not have to.

The actor collects publicly visible data: hotel information, prices and guest reviews with the reviewer name and country as Agoda displays them. It does not log in or access anything private. Reviews contain personal data (names, countries); make sure your use complies with GDPR and similar laws and with Agoda's terms, and do not use the data to contact or profile individuals.