Agoda Hotels Scraper avatar

Agoda Hotels Scraper

Pricing

from $0.75 / 1,000 hotels

Go to Apify Store
Agoda Hotels Scraper

Agoda Hotels Scraper

Agoda hotels scraper: search by city, area or hotel and get one row per hotel with its price and availability for your dates, with and without taxes, free cancellation, breakfast, guest review score, stars and location. Ask for room offers to get every room and rate on the hotel's page.

Pricing

from $0.75 / 1,000 hotels

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Features

Limited permissions

Share

Agoda hotels scraper for a city, an area or a list of hotels: one row per hotel with its price for your dates, taxes in and out, free cancellation, breakfast, guest score, stars and where it is on the map.

Type a destination, set your dates and party, and you get Agoda's hotel list for that stay in the order Agoda ranks it. List hotels by link or name instead, or switch on room offers, and each row also carries the hotel's description, amenities and every room with its price and conditions. Guest reviews can come along too, newest first, each one a row of its own at $0.0013.

Agoda only quotes a price for a concrete stay. Leave the dates empty and the run prices a one-night stay 30 days from today and writes those dates on every row, so read checkIn on the first row before you trust the prices.

InputCities or areas (Bangkok, Shibuya), Agoda hotel links, IDs or names, plus dates and party
OutputOne row per hotel: price per night and for the stay, guest score and count, stars, area, coordinates, free cancellation, breakfast; room offers on request; guest reviews on request, one row per review
Ceiling5,000 hotels per destination, 50 destinations or 500 hotels per run, 200 reviews per hotel
SpeedAbout 50 hotels in 5 seconds from a city search, 40 with 20 reviews each in about 15 seconds, about one a second with room offers (measured on our runs)
Account neededNone from you
Price$0.75 per 1,000 hotels, the same rate on every plan. The free plan's $5 a month covers about 6,600. Guest reviews, when you ask for them, are $1.30 per 1,000
Using an AI agent?
Actordami_studio/agoda-hotels-scraper
Set one fielddestinations, labelled "Destinations" in the Console
Cap the billmaxTotalChargeUsd on the run, for example 0.10: it never charges past that
MCP, one linkhttps://mcp.apify.com/?tools=fetch-actor-details,dami_studio/agoda-hotels-scraper
How oftenDaily, to follow the prices of the same dates over time

🔍 What Agoda Hotels Scraper does

It runs the search Agoda's own site runs when you pick a city and dates, page after page, and writes down every hotel on it until it has the number you asked for. An area name such as Sukhumvit or Shinjuku narrows the search to that part of the city.

The price on a row is for the stay and the party you asked about, in the currency you chose: the cheapest room per night before taxes, the same with taxes and fees, and the whole stay. Change the dates, adults, children or rooms and the prices change with them.

The filters are Agoda's own: stars, guest score, price per night, hotels or homes, free cancellation, breakfast, pay at the hotel. With free cancellation or breakfast on, the price shown is the cheapest room that has it.

For a hotel you list, or for every hotel when Add details and every room offer is on, it also reads the hotel's own page: the description, check-in times, amenities by group, Agoda's sub-scores, room types with beds, size and view, and every room offer for your dates.

With Add guest reviews on, each hotel's newest written reviews follow its row, up to 200, one row per review at $0.0013 each: the score, the title and text, what the guest liked and didn't, and for Agoda's own reviews the guest's country, who they travelled with, the room and the nights. A review never carries the reviewer's name.

📋 What data you get from each Agoda hotel

What you getField
Agoda's hotel id, name, link and typehotelId, name, url, propertyType
Stars, guest score, number of reviews, and the year of Agoda's award when it has onestarRating, reviewScore, reviewCount, awardYear
Area, city, country and coordinatesarea, city, cityId, country, countryCode, latitude, longitude
Price per night, with taxes, before the discount, and for the whole staypricePerNight, pricePerNightWithTaxes, pricePerNightBeforeDiscount, totalPrice, totalPriceWithoutTaxes, discountPercent, currency
Cancellation, breakfast and payment terms of that roomfreeCancellation, freeCancellationUntil, cancellationPolicy, breakfastIncluded, payLater, payAtHotel, noCreditCardNeeded
Availabilityavailable, roomsLeft
Facilities, stations, landmarks, beaches and photosfacilities, nearbyTransport, nearbyLandmarks, nearbyBeaches, imageUrl, imageUrls
Where it sits in the search, and whether Agoda marks it sponsoredsearchRank, isSponsored, destination, destinationMatched
The stay the price is forcheckIn, checkOut, nights, adults, children, childrenAges, rooms, scrapedAt
From the hotel's page (optional): full address, description, check-in times, amenities, policies, nearby placesaddress, postalCode, description, checkInFrom, checkOutUntil, amenities, amenityGroups, languagesSpoken, policies, nearbyPlaces, nearbyAttractions, highlights
From the hotel's page (optional): Agoda's own guest scoresagodaReviewScore, agodaReviewCount, reviewSubscores, reviewScoreDistribution, reviewScoreText
From the hotel's page (optional): rooms, every offer and the whole photo galleryroomTypes, roomOffers, roomTypeCount, offerCount, imageUrls, imageCount
From the hotel's page (optional): the short guest quote it shows by its photosreviewSnippet
Guest reviews (optional, $0.0013 each), one row per review: score, title, text, likes and dislikes, date, the stay, where it was written, and the hotel it belongs torecordType (review), hotelId, hotelName, url, reviewId, rating, ratingText, title, comment, positives, negatives, reviewDate, stayMonth, nights, travellerType, reviewerCountry, roomType, source

▶️ How to scrape Agoda hotels

  1. Open Agoda Hotels Scraper and click Try for free.
  2. Put cities or areas into Destinations, one per line, or hotel links into Hotels.
  3. Set Check-in date, Check-out date and the party. Do it even for a quick test.
  4. Set Max hotels per destination. A hundred is a good first run.
  5. Click Start, then download the dataset as JSON, CSV or Excel, or read it from the API.

Leave both lists empty and you get one free sample row showing the shape of the output, with nothing searched.

💰 How much does it cost to scrape Agoda hotels?

$0.75 per 1,000 hotels, which is $0.00075 each, the same rate on every plan, with or without room offers. On the free plan, the $5 Apify gives you each month covers about 6,600 hotels.

Guest reviews are $1.30 per 1,000, $0.0013 each on every plan, charged only for the reviews you get.

You pay per hotel row and per review row. Note rows (a city Agoda doesn't know, a search with no hotel, a stop at your time or cost limit) and the sample row are free, and a hotel already returned in the run is not returned or charged again.

📥 What you give it

{
"destinations": ["Bangkok", "Shibuya"],
"checkIn": "2026-12-10",
"checkOut": "2026-12-12",
"adults": 2,
"rooms": 1,
"currency": "USD",
"freeCancellationOnly": true,
"maxResultsPerDestination": 100
}
FieldDefaultWhat it is
destinationsnone, the form starts with BangkokUp to 50. A city or area as Agoda spells it, an Agoda city ID, or the link of a city search from agoda.com. A hotel link here is read as a hotel.
hotelsnoneUp to 500. A hotel's link from agoda.com, its Agoda ID, or its name. Always read with its page and room offers.
checkIn, checkOut30 days from todayThe stay, as YYYY-MM-DD. Check-out must be after check-in, at most 30 nights later. A past date is refused before anything runs.
nights1Used when checkOut is empty.
adults, children, childrenAges, rooms2 adults, no children, 1 roomUp to 36 adults, 9 children and 9 rooms, an adult per room. A child counts as 8 years old unless you list ages, 0 to 17.
currencyUSD53 currencies.
languageen-us33 languages, for facilities, areas, descriptions and room names. A hotel's name changes only where Agoda has one in that language, as in Japanese or Thai.
sortByrecommendedrecommended, price_low_to_high, price_high_to_low and top_guest_ratings are Agoda's own orders. guest_score_low_to_high puts hotels with no score yet last and needs a few hotels per destination: 1 in a small town, about 6 in Bangkok, 28 in Bali. Ask for fewer and a free note says the number to use.
starRatingsanyAny of 1 to 5. A 4.5 counts as 4.
minReviewScore, maxReviewScoreanyGuest score out of 10. Hotels with no score yet are left out once either is set.
minPrice, maxPriceanyPer room per night before taxes, in your currency.
propertyTypeallall, hotels or homes.
freeCancellationOnly, breakfastIncludedOnly, payAtHotelOnlyoffOnly hotels with a room that has it.
onlyAvailableoffLeave out hotels sold out for your dates.
includeRoomOffersoffRead each destination hotel's page too, with every room offer.
includeReviewsoffAdd each hotel's newest guest reviews as rows of their own, listed hotels included, at $0.0013 a review.
reviewsPerHotel201 to 200 reviews a hotel when includeReviews is on.
maxResultsPerDestination1001 to 5,000 hotels per destination.
maxItems0A cap for the whole run. 0 means no cap beyond the one above.

The filters apply to destination searches. Hotels you list come back whatever their price or score.

📤 What you get back

A real hotel row from a search with Add guest reviews on, cut short, then its first review row:

{
"hotelId": 177997,
"name": "The Bless Hotel & Residence",
"url": "https://www.agoda.com/bless-residence/hotel/bangkok-th.html",
"propertyType": "Hotel",
"starRating": 4,
"awardYear": "2025",
"reviewScore": 8.5,
"reviewCount": 13062,
"area": "Sukhumvit",
"city": "Bangkok",
"cityId": 9395,
"country": "Thailand",
"countryCode": "TH",
"latitude": 13.7337676461285,
"longitude": 100.567924976349,
"available": true,
"currency": "USD",
"pricePerNight": 59.81,
"pricePerNightWithTaxes": 64,
"pricePerNightBeforeDiscount": null,
"totalPrice": 128,
"totalPriceWithoutTaxes": 119.62,
"discountPercent": null,
"freeCancellation": true,
"freeCancellationUntil": "2026-12-07T00:00:00.000+07:00",
"cancellationPolicy": "FreeCancellation",
"breakfastIncluded": true,
"payLater": true,
"payAtHotel": false,
"noCreditCardNeeded": false,
"roomsLeft": 1,
"isSponsored": false,
"facilities": ["Swimming pool", "Airport transfer", "Wi-Fi [free]", "Openable window"],
"nearbyTransport": [{ "name": "Phrom Phong BTS Station", "distanceKm": 0.42 }],
"nearbyLandmarks": [{ "name": "Siam Paragon", "distanceKm": 3.86 }],
"nearbyBeaches": [],
"imageUrl": "https://pix8.agoda.net/hotelImages/177997/0/229685bbcf34112e88bcfcf75f44976d.jpeg?va=1&ce=2",
"checkIn": "2026-12-10",
"checkOut": "2026-12-12",
"nights": 2,
"adults": 2,
"children": 0,
"rooms": 1,
"searchRank": 10,
"destination": "Bangkok",
"destinationMatched": "Bangkok",
"scrapedAt": "2026-11-03T08:55:26.600Z"
}
{
"recordType": "review",
"hotelId": 177997,
"hotelName": "The Bless Hotel & Residence",
"url": "https://www.agoda.com/bless-residence/hotel/bangkok-th.html",
"reviewId": 1197056548,
"rating": 9.6,
"ratingText": "Exceptional",
"title": "Great location",
"comment": "Steps away from the BTS and mall. Room was clean and staff very friendly.",
"positives": null,
"negatives": null,
"reviewDate": "2026-10-20T11:05:30+07:00",
"stayMonth": "October 2026",
"nights": 4,
"travellerType": "Couple",
"reviewerCountry": "Canada",
"roomType": "Superior Room",
"source": "Agoda",
"scrapedAt": "2026-11-03T08:55:26.600Z"
}
FieldHow to read it
hotelIdAgoda's own id, stable between runs. Use it as your key.
pricePerNightThe cheapest room for your party, per room per night, before taxes. totalPrice is the whole stay with taxes and fees.
pricePerNightBeforeDiscountThe struck-through price when Agoda shows one, otherwise null.
reviewScore, reviewCountThe score and count Agoda displays for the hotel. agodaReviewScore and agodaReviewCount, on rows with the page read, count only reviews from Agoda's own guests.
availableFalse when the hotel is sold out for your dates; its prices are null.
freeCancellationUntilThe last day to cancel for free, in the hotel's own time zone.
roomOffersOne entry per offer: room, price per night with and without taxes, total, free cancellation and its policy text, breakfast, pay later or at the hotel, rooms left, and supplierId, Agoda's code for who supplies that offer. Cheapest first.
recordTypereview on a guest review's row, which also carries its hotel's hotelId, hotelName and url. Review rows come right after their hotel, newest first, at most reviewsPerHotel. source says where the review was written, Agoda or Booking.com, as the hotel page labels it. Agoda's own carry the text in comment with the stay; Booking.com's carry positives and negatives instead.
reviewSnippetThe short guest quote the hotel's page shows by its photos, on rows with the page read.

🧾 Reading the output

Anything with ok: false on it is a note, not a hotel or a review.

reviewScore and reviewCount are the score and count Agoda displays for the hotel. Its review rows are written reviews behind them, as many as you asked for, not the count. None means no written review yet, common for homes with a few stays.

RowHow to spot itCharged
A hotelhotelId set, no ok field, no recordTypeyes
A guest reviewrecordType is reviewyes, $0.0013
The sample row_sample is trueno
A noteok is false and errorCode says whyno
errorCodeWhat it means
NOT_FOUNDAgoda has no city, area or hotel matching that line.
NO_RESULTSThe search ran and found no hotel for these dates, guests and filters.
NOT_SERVEDThis was not served this run. Re-run it later.
BAD_INPUTA value could not be used; details says which, why and what to set instead.
TIME_LIMITThe run reached its time limit, or a sort needs more time than the run had. What came before is delivered and charged; give it a longer timeout for the rest.
COST_LIMITThe run reached the maximum cost you set, or that cost doesn't cover the fewest hotels a sort needs. Raise it for more.

💡 What people use it for

  • Checking what one hotel charges for the same weekend every morning, keyed on hotelId.
  • Comparing a whole street of hotels on price, score, free cancellation and what recent guests wrote, before a group booking.
  • Watching where your own property ranks in its city's search, and who is sponsored above it.
  • Pulling every room and rate of a short list of hotels for a revenue review.

🚧 What it does not do

  • No reviewer names or photos. A review keeps its words, score and stay, not who wrote it.
  • Hotels and homes only. No flights, activities or transfers.
  • Prices move. A row is what Agoda quoted at scrapedAt, for that party, those dates, that currency.
  • It is not an official Agoda tool. Dami's Studio is independent and is not affiliated with or endorsed by Agoda, or by any other company named on this page.

🧭 Which hotel scraper do you need?

If you wantUse
Agoda hotels with prices for your dates, and every room offerThis one
Hotels on Booking.com with live prices and scores for your datesBooking.com Hotels Scraper
Live hotel prices for your dates, as Google Hotels shows themGoogle Hotels Scraper
Airbnb listings with prices, ratings and coordinates for a placeAirbnb Listings Scraper
Reviews of a hotel on TripadvisorTripadvisor Reviews Scraper
Guest reviews of hotels on Booking.comBooking.com Reviews Scraper

❓ Questions people ask

Do I need an Agoda account?

No. Nothing to paste, nothing that expires.

Why is the price different from what I see on Agoda?

Check the dates, party and currency on the row first: a different stay is a different price. Agoda also keeps some deals for signed-in members, and this reads what a signed-out visitor sees.

Can I get every room and rate for a hotel?

Yes. List the hotel under Hotels, or switch on Add details and every room offer for a destination. roomOffers holds every offer, cheapest first.

Can I get the guest reviews too?

Yes. Switch on Add guest reviews and set Reviews per hotel, up to 200. Each review is its own row after its hotel, at $0.0013.

Does a sold-out hotel still come back?

Yes, with available false and no price. Switch on Only hotels with rooms left to drop them.

Can I call it from code or connect it to an AI assistant?

The API tab has code for Python, JavaScript and the CLI. MCP clients like Claude and ChatGPT use https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/agoda-hotels-scraper, billed to your Apify account at the same price.

These are public search results, hotel pages and reviews, read the way a signed-out visitor sees them, with no account and nothing private. Guest reviews are people's own words, so treat what you keep as personal data under GDPR and similar laws, and keep only what you need. Agoda's own terms still apply to what you do with the data. Apify's write-up on the legality of web scraping is a good start, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send the destination or hotel, the dates and the run ID; a note row's errorCode and details usually name the reason already.