# Agoda Scraper: Hotel Prices, Rooms and Reviews

> Agoda scraper: get hotels with prices for a place and dates. Stars, rating, total price, address, coordinates, room rates and reviews. No login needed.

URL: https://cliqtomedia.com/actors/agoda-scraper/

Category: Real estate, travel & cars · Status: coming soon · Apify profile: https://apify.com/cliqtomedia?fpr=cliqto

Get Agoda hotels with prices for your place and dates. Each hotel is one row with stars, rating, price, address and coordinates. Room rates and guest reviews are optional.

## How to use it: 3 steps

1. **Follow us on Apify.** The tool is built and waits in the queue for the Apify Store. Apify is the cloud platform where our tools run.
2. **Paste your input and press Start.** No code needed: you fill in a form (the input). It already has a working example. For example: `Pattaya` in Destination. Each start is one run.
3. **Download the results.** When the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

## What it does

It suits travel analysts, agencies and developers who compare stays or track rates, and the smallest run is one hotel.



### Good for

- You compare hotel prices in a city for fixed dates.
- You track the rate of the same hotels over time.
- You need room rates or guest reviews in a sheet or in your own system.
- You give an AI agent a simple way to get hotel prices.

## Price

Prices will be shown after release.

## Questions

### Do I need an Agoda account?

No. You need only an Apify account. No cookies or Agoda key.

### Can it book a room?

No. It only reads public prices and reviews.

### Does it return all hotels of a city?

Not always. One search gives about 1,000 to 1,100 hotels. Split a large city with filters.

### How fresh are the prices?

Each row shows the price at the time in `fetchedAt`. Prices are read live when the run works, not from an old copy.

### Why is the room price not equal to the hotel price?

`price` comes from the search for your currency. Room rates come from the hotel page, often in USD, and can differ.

### Do I pay for a hotel with no price?

Yes, with the default settings. It is a row with data about the hotel. Set `includeSoldOut` to `false` to skip it.

## Data fields

- `type` (string): hotel, room, review or status.
- `hotelId` (string): Agoda hotel ID.
- `name` (string): Hotel name.
- `localName` (string): Name in the hotel's own language, when different.
- `stars` (number): Hotel class.
- `rating` (number): Guest rating from 0 to 10, or a review's rating.
- `reviewsCount` (integer): Number of guest reviews.
- `price` (number): Total for the stay and all rooms with taxes.
- `priceExclTaxes` (number): Total for the stay and all rooms without taxes.
- `pricePerNight` (number): Per room per night without taxes.
- `pricePerNightInclTaxes` (number): Per room per night with taxes.
- `crossedOutPricePerNight` (number): Crossed-out price per room per night.
- `discountPercent` (number): Discount off the crossed-out price.
- `currency` (string): Price currency.
- `isAvailable` (boolean): True when the hotel has a price on the dates.
- `isSoldOut` (boolean): True when Agoda marks the hotel as sold out.
- `cancellationType` (string): Agoda's cancellation type.
- `freeCancellationUntil` (string): Last date of free cancellation.
- `isFreeCancellation` (boolean): True when the offer is free to cancel.
- `payLater` (boolean): The offer can be paid later.
- `payAtHotel` (boolean): The offer can be paid at the hotel.
- `noCreditCardNeeded` (boolean): The offer needs no credit card.
- `roomCount` (integer): Rooms this price covers. Agoda can price fewer than you asked for when the guests fit.
- `roomsAvailable` (integer): Rooms left at this price.
- `benefits` (array): What the price includes.
- `address` (string): Street address.
- `postalCode` (string): Postal code.
- `area` (string): District.
- `city` (string): City.
- `cityId` (integer): Agoda city ID.
- `country` (string): Country.
- `countryCode` (string): Country code.
- `lat` (number): Latitude.
- `lng` (number): Longitude.
- `propertyType` (string): Hotel, resort, apartment and so on.
- `imageUrl` (string): Main photo of the hotel.
- `url` (string): Agoda page with these dates.
- `searchRank` (integer): Position in the search results.
- `query` (string): Which input produced this hotel.
- `checkIn` (string): Check-in date.

## Input settings

- `destination` (string): City or district, for example Pattaya or Sukhumvit. Agoda's own suggestions pick the place, and the matched name is in the query field.
- `checkIn` (string): Date as YYYY-MM-DD or relative, like 30 days. It cannot be in the past or more than 2 years ahead.
- `checkOut` (string): Date as YYYY-MM-DD or relative, like 31 days. A stay is at most 30 nights.
- `adults` (integer): Adults for the whole booking, from 1 to 36.
- `currency` (string): Currency of hotel prices. Agoda converts them itself. Room rates can stay in USD: see the currency field of each row.
- `maxItems` (integer): Hotels per destination and dates, and separately for the listed hotels. 0 means no limit. Each saved hotel is charged.
- `maxReviews` (integer): Guest reviews per hotel. 0 means none. Each saved review is charged.
- `destinations` (array): Other cities or districts, up to 50.
- `cityIds` (array): City IDs if you know them, up to 50. Pattaya is 8584. This skips the name lookup.
- `hotelIds` (array): Hotel IDs, up to 1000, for their price on your dates. A hotel with no offer still gets a row with an empty price.
- `hotelNames` (array): Hotel names, up to 100. A name that Agoda's suggestions do not match gets a not_found status row.
- `startUrls` (array): Hotel or search links from agoda.com, up to 1000. A hotel link gives only the hotel. A search link with city= gives the city and adds its dates as one more stay.
- `extraStays` (array): Other stays in the same run, up to 30. Each one is a separate search.
- `dateSweepDays` (integer): Repeat each stay with check-in moved 1, 2, … days later, up to 30. This builds a price calendar and charges for every extra search.
- `rooms` (integer): Rooms to price, from 1 to 9. It cannot be more than adults.
- `childrenAges` (array): One age per child, from 0 to 17, up to 6 children.
- `language` (string): Language of names and texts. Agoda translates some names only in a few languages.
- `sortBy` (string): Agoda's own order of results.
- `starRatings` (array): Only these hotel classes.
- `minReviewScore` (number): From 0 to 10.
- `minPrice` (number): In the chosen currency.
- `maxPrice` (number): In the chosen currency.
- `propertyTypes` (array): Only these types.
- `amenities` (array): Only hotels with all of these.
- `freeCancellationOnly` (boolean): Only offers Agoda marks as free to cancel.

## Step by step on Apify

1. In Destination, enter a city or district. The form starts with `Pattaya`.
2. In Check-in and Check-out, keep `30 days` and `31 days`, or enter your own dates.
3. In Max hotels, keep `10`. Ten hotels are enough for a first run.
4. Click Start. The button is outside this screenshot.
5. Open the Output tab and choose the Overview view. Look at the columns Name, Stars, Rating, Reviews, Price and Currency.

## Use cases

| Task | Input | You get | Key fields | Next step |
|---|---|---|---|---|
| Compare hotels in a city | `destination`, `checkIn`, `checkOut`, `starRatings` | Hotel row | `name`, `stars`, `rating`, `price`, `currency` | CSV or Excel export |
| Track rates of chosen hotels | `hotelIds`, fixed dates, `stateName` | Hotel row with a change mark | `hotelId`, `price`, `previousPrice`, `change` | Schedule and webhook |
| Find the cheapest dates | `hotelIds`, `checkIn`, `dateSweepDays` | One hotel row per date | `checkIn`, `checkOut`, `price`, `isAvailable` | Google Sheets through a no-code tool |
| Compare room rates | `hotelIds`, `includeRooms` | Room row | `roomName`, `price`, `cancellation`, `isBreakfastIncluded` | Dataset API |
| Study guest opinions | `hotelIds`, `maxReviews`, `reviewLanguages` | Review row | `rating`, `text`, `positives`, `negatives`, `date` | Your text analysis tool |

## Tips

- Start with 10 hotels and one night. Check the first rows before a big run.
- One search gives about 1,000 hotels. Split a big city by stars, price or district.
- Use fixed dates and a monitor name to see only the prices that changed.

## Limits



- Results per search: Agoda serves about 1,000 to 1,100 different hotels for one search, even if a city has many more. To get more, split the search by `starRatings`, by `minPrice` and `maxPrice`, or by a district name. The run warns you when this happens.
- Input size: up to 50 destinations, 50 city IDs, 1,000 hotel IDs, 100 hotel names, 1,000 links and 100 stays in one run. A stay can have up to 30 nights, up to 2 years ahead.
- Time: the default timeout is 300 seconds. 650 hotels took up to 1.5 minutes and 1,000 hotels about 1.5 minutes in our tests. 10 hotels with rooms, reviews and details took up to 1.5 minutes. A full list of 1,000 hotel IDs and 50 place names took up to 3.5 minutes. Many rooms and reviews take longer. If the time runs out, you keep what was saved. Raise the timeout for large runs.
- Prices: `price` is what Agoda shows for your search at that moment, and it can change. It is not a booking quote. A price without a sign-in can differ from a member price.
- Room rates: room rows are often in USD, and the room price can be about 10% above the search price. Not all rates may appear.
- Room count: `roomCount` shows how many rooms a price covers. It can be lower than `rooms`.
- Names: with some values of `language`, Agoda translates only part of the names.

## Sample result

```json
{
  "type": "hotel",
  "hotelId": "86640187",
  "name": "Grande Centre Point Voyage Pattaya",
  "localName": null,
  "stars": 5,
  "rating": 9.4,
  "reviewsCount": 254,
  "isAvailable": true,
  "isSoldOut": false,
  "price": 225.08,
  "priceExclTaxes": 210.36,
  "pricePerNight": 210.36,
  "pricePerNightInclTaxes": 225.08,
  "crossedOutPricePerNight": 229.93,
  "discountPercent": 9,
  "currency": "USD",
  "cancellationType": "NonRefundable",
  "freeCancellationUntil": null,
  "isFreeCancellation": false,
  "payLater": false,
  "payAtHotel": false,
  "noCreditCardNeeded": false,
  "roomsAvailable": 14,
  "benefits": ["Price includes Free Breakfast", "Parking", "Coffee & tea", "Free WiFi", "Drinking water", "Free fitness center access"],
  "address": "808,908 M.5 Na Kluea, Bang Lamung",
  "postalCode": "20150",
  "area": "North Pattaya",
  "city": "Pattaya",
  "cityId": 8584,
  "country": "Thailand",
  "countryCode": "TH",
  "lat": 12.953625,
  "lng": 100.886116,
  "propertyType": "Hotel",
  "imageUrl": "https://pix8.agoda.net/hotelImages/86640187/0/454f43fb32639acb0cc1464748b2e31b.png?va=1&ce=3&s=1024x768",
  "url": "https://www.agoda.com/grande-centre-point-voyage-pattaya/hotel/pattaya-th.html?checkIn=2026-12-07&los=1&adults=2&rooms=1&children=0&currencyCode=USD",
  "searchRank": 1,
  "query": "Pattaya",
  "checkIn": "2026-12-07",
  "checkOut": "2026-12-08",
  "nights": 1,
  "adults": 2,
  "children": 0,
  "rooms": 1,
  "roomCount": 1,
  "source": "agoda",
  "fetchedAt": "2026-11-07T09:10:57.470Z"
}
```

## Similar tools

- [Booking.com Scraper: Hotels, Prices, Reviews, No Login](https://cliqtomedia.com/actors/booking-scraper/)
- [Tripadvisor Scraper: Places, Reviews, Hotel Prices](https://cliqtomedia.com/actors/tripadvisor-scraper/)
- [Airbnb Scraper: Listings, Prices, Calendar - No Login](https://cliqtomedia.com/actors/airbnb-scraper/)
- [Google Flights Scraper - Prices & Times, No Login](https://cliqtomedia.com/actors/google-flights-scraper/)
- [99acres & MagicBricks India Property Scraper - No Login](https://cliqtomedia.com/actors/india-property-listings/)
- [Events Scraper: Eventbrite, Meetup & Luma — No Login](https://cliqtomedia.com/actors/events-aggregator/)
