Agoda logo

Property & travel · Coming soon

Agoda Scraper: Hotel Prices, Rooms and Reviews

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.

Built and tested. Prices will be shown after release.

Coming soon to the Apify StoreFollow us on Apify

What you get, for example

typehotel
hotelId86640187
nameGrande Centre Point Voyage Pattaya

How it will work: 3 steps

  1. Follow us on ApifyThe 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 StartNo 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 resultsWhen 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.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

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.

Who uses it

Travel analysts

Compare hotel prices in a city for fixed dates.

Travel agencies

Check room rates and the cheapest dates for chosen hotels.

Developers

Feed hotel prices and reviews into your own tool.

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.

Details

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
TaskInputYou getKey fieldsNext step
Compare hotels in a citydestination, checkIn, checkOut, starRatingsHotel rowname, stars, rating, price, currencyCSV or Excel export
Track rates of chosen hotelshotelIds, fixed dates, stateNameHotel row with a change markhotelId, price, previousPrice, changeSchedule and webhook
Find the cheapest dateshotelIds, checkIn, dateSweepDaysOne hotel row per datecheckIn, checkOut, price, isAvailableGoogle Sheets through a no-code tool
Compare room rateshotelIds, includeRoomsRoom rowroomName, price, cancellation, isBreakfastIncludedDataset API
Study guest opinionshotelIds, maxReviews, reviewLanguagesReview rowrating, text, positives, negatives, dateYour text analysis tool
Tips for better results
  • 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 and good to know
  • 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

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one 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"
}
Data fields (40)
FieldTypeMeaning
typestringhotel, room, review or status.
hotelIdstringAgoda hotel ID.
namestringHotel name.
localNamestringName in the hotel's own language, when different.
starsnumberHotel class.
ratingnumberGuest rating from 0 to 10, or a review's rating.
reviewsCountintegerNumber of guest reviews.
pricenumberTotal for the stay and all rooms with taxes.
priceExclTaxesnumberTotal for the stay and all rooms without taxes.
pricePerNightnumberPer room per night without taxes.
pricePerNightInclTaxesnumberPer room per night with taxes.
crossedOutPricePerNightnumberCrossed-out price per room per night.
discountPercentnumberDiscount off the crossed-out price.
currencystringPrice currency.
isAvailablebooleanTrue when the hotel has a price on the dates.
isSoldOutbooleanTrue when Agoda marks the hotel as sold out.
cancellationTypestringAgoda's cancellation type.
freeCancellationUntilstringLast date of free cancellation.
isFreeCancellationbooleanTrue when the offer is free to cancel.
payLaterbooleanThe offer can be paid later.
payAtHotelbooleanThe offer can be paid at the hotel.
noCreditCardNeededbooleanThe offer needs no credit card.
roomCountintegerRooms this price covers. Agoda can price fewer than you asked for when the guests fit.
roomsAvailableintegerRooms left at this price.
benefitsarrayWhat the price includes.
addressstringStreet address.
postalCodestringPostal code.
areastringDistrict.
citystringCity.
cityIdintegerAgoda city ID.
countrystringCountry.
countryCodestringCountry code.
latnumberLatitude.
lngnumberLongitude.
propertyTypestringHotel, resort, apartment and so on.
imageUrlstringMain photo of the hotel.
urlstringAgoda page with these dates.
searchRankintegerPosition in the search results.
querystringWhich input produced this hotel.
checkInstringCheck-in date.
Input settings (25)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Destinationdestinationstring"Pattaya"
Check-incheckInstring"30 days"
Check-outcheckOutstring"31 days"
Adultsadultsinteger2
Currencycurrencystring"USD"
Max hotelsmaxItemsinteger10
Max reviews per hotelmaxReviewsinteger0
More destinationsdestinationsarray
Agoda city IDscityIdsarray
Agoda hotel IDshotelIdsarray
Hotel nameshotelNamesarray
Agoda linksstartUrlsarray
More datesextraStaysarray
Shift dates by daysdateSweepDaysinteger0
Roomsroomsinteger1
Children's ageschildrenAgesarray
Languagelanguagestring"en-us"
Sort bysortBystring"ranking"
StarsstarRatingsarray
Min guest ratingminReviewScorenumber
Min price per nightminPricenumber
Max price per nightmaxPricenumber
Property typespropertyTypesarray
Amenitiesamenitiesarray
Free cancellation onlyfreeCancellationOnlybooleanfalse

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure