Skip to content

Agoda Scraper

Try for free

Scrape Agoda hotels by destination or URL: prices, discounts, star ratings, review scores, addresses, coordinates, amenities, room types and guest reviews. No login needed.

🏨 Agoda Scraper

Get Agoda hotel data for any city or hotel page: nightly prices, crossed-out prices and discounts, free cancellation, star ratings, guest scores, addresses, map coordinates, amenities, every room type with its prices, and guest reviews. You don't need a login or a browser. It reads Agoda's own JSON endpoints, so a page of 100 hotels comes back in a second or two.

✨ Why use Agoda Scraper?

  • ⚡ Fast: 100 hotels per request, and 250 hotels usually take under 10 seconds.
  • 💸 Cheap: you pay per hotel saved. There's no monthly rental.
  • 🗓️ Real prices for your stay: set the dates, adults, children, rooms and currency, and you get the prices Agoda shows for exactly that search.
  • 🛏️ Room-level detail: add room types with size, beds, view, occupancy, breakfast, cancellation policy and the price of each offer.
  • 💬 Guest reviews: review score, title, text, date, traveler type, room type and country, from Agoda and its partner sites.
  • 🔓 No login needed: it only reads public data.

🎯 Use cases

  • 📈 Hotel price monitoring: track nightly rates and discounts for your hotel or your competitors across dates.
  • 🧭 Market research: compare star ratings, review scores and prices by neighborhood in any city.
  • 🏷️ Revenue management: see how prices change with lead time, length of stay and party size.
  • 🗺️ Travel apps and dashboards: feed hotel lists with coordinates, photos and amenities into maps and apps.
  • 💬 Reputation analysis: collect guest reviews and hotel responses for sentiment analysis.

🚀 How to use

  1. Type one or more destinations (e.g. Bangkok, Paris), or paste Agoda hotel or search URLs.
  2. Set Max results per destination or URL.
  3. Optionally pick check-in / check-out dates, guests, rooms and currency, plus filters (stars, review score, price).
  4. Turn on hotel details or guest reviews if you need them.
  5. Click Start, then export the results as JSON, CSV, Excel or HTML, or fetch them through the API.

📥 Input

FieldWhat it does
destinationsCity names to search, as typed on Agoda.
startUrlsAgoda hotel page URLs (full details) or search / city URLs. Dates and guests in the URL are respected.
maxItemsHotels to save per destination or URL (default 20).
checkIn, checkOutStay dates (YYYY-MM-DD). Empty means one night, two weeks from today.
adults, children, childAges, roomsWho is traveling.
currency, languagePrice currency (USD, EUR, THB, ...) and content language.
sortByBest match, price, review score or stars.
starRatings, minReviewScore, maxReviewScore, minPrice, maxPriceFilters.
includeSoldOutAlso keep hotels without availability for your dates.
includeDetailsAdd description, full address, all amenities, check-in times and room types to search results.
includeReviews, maxReviewsPerHotel, reviewsSortGuest reviews per hotel. Agoda has no oldest-first order, so "Oldest first" reads all of a hotel's reviews and keeps the oldest; it is slower on hotels with many reviews.
{
  "destinations": ["Bangkok"],
  "maxItems": 20,
  "checkIn": "2026-12-01",
  "checkOut": "2026-12-03",
  "adults": 2,
  "rooms": 1,
  "currency": "USD",
  "sortBy": "recommended",
  "starRatings": ["4", "5"],
  "includeReviews": true,
  "maxReviewsPerHotel": 10
}

📤 Output

Each row is one hotel.

FieldDescription
propertyId, name, url, propertyTypeAgoda hotel ID, name, page URL (with your dates) and type.
starRating, reviewScore, reviewCount, reviewSubscoresStars, guest score out of 10, number of reviews, and cleanliness, location and other subscores (with details).
address, locationArea, city, country (plus street, postal code and full address with details), latitude and longitude.
pricePerRoomPerNight, pricePerRoomPerNightInclTaxes, pricePerBook, pricePerBookInclTaxesLowest price per room per night and for the whole stay, without and with taxes and fees.
originalPrice, discountPercent, priceCurrencyCrossed-out price, discount and currency.
freeCancellation, freeCancellationUntil, payLater, payAtHotel, availableRoomsBooking conditions for the cheapest offer.
roomOffersOffers found in search results (or every room offer for hotel URLs).
amenities, facilityGroupsHighlighted amenities, or every facility grouped by category with details.
roomTypesWith details: name, size, view, beds, max occupancy, amenities, photos and offers (price, taxes, total, breakfast, cancellation policy).
description, checkInFrom, checkOutUntil, usefulInfoWith details.
nearbyLandmarks, distanceFromCityCenterKmNearby stations, landmarks and beaches with distances.
image, imagesPhoto URLs.
isSponsored, isSecretDealWhether the search result was an ad or a secret deal (Agoda hides the hotel name on secret deals).
reviewsWith reviews on: rating, title, text, positives, negatives, date, stay month, traveler type, room type, nights, reviewer display name, country, source site, hotel response.
checkIn, checkOut, nights, adults, children, rooms, searchQuery, cityId, scrapedAtThe search the row came from.

Here's a trimmed example from a test run. The review has been replaced with a made-up one in the same shape.

{
  "propertyId": 10603,
  "name": "PARKROYAL COLLECTION Marina Bay, Singapore",
  "url": "https://www.agoda.com/marina-mandarin-singapore-hotel/hotel/singapore-sg.html?checkIn=2026-10-29&los=1&rooms=1&adults=2&children=0&currency=SGD",
  "propertyType": "Hotel",
  "starRating": 5.0,
  "reviewScore": 8.9,
  "reviewScoreText": "Excellent",
  "reviewCount": 24517,
  "reviewSubscores": {"cleanliness": 8.9, "facilities": 8.8, "location": 9.2, "roomComfort": 8.3, "staffPerformance": 8.8, "valueForMoney": 8.4},
  "address": {
    "full": "6 Raffles Boulevard Marina Square, Marina Bay, Singapore, Singapore, 39594",
    "street": "6 Raffles Boulevard Marina Square",
    "postalCode": "39594",
    "area": "Marina Bay",
    "city": "Singapore",
    "country": "Singapore",
    "countryCode": "SG"
  },
  "location": {"latitude": 1.2911007404327393, "longitude": 103.85770416259766},
  "isAvailable": true,
  "pricePerRoomPerNight": 549.0,
  "pricePerRoomPerNightInclTaxes": 658.25,
  "pricePerBook": 549.0,
  "pricePerBookInclTaxes": 658.25,
  "originalPrice": 610.0,
  "discountPercent": 10.0,
  "priceCurrency": "SGD",
  "freeCancellation": true,
  "freeCancellationUntil": "2026-10-27T00:00:00.000+07:00",
  "payLater": true,
  "availableRooms": 26,
  "amenities": ["Gym/fitness", "Spa", "Swimming pool [outdoor]", "Bar", "Restaurants", "Front desk [24-hour]"],
  "roomTypes": [
    {
      "name": "Lifestyle Premier Twin Room",
      "size": "33 m²/355 ft²",
      "beds": "2 single beds",
      "maxOccupancy": 2,
      "lowestPrice": 549.0,
      "offers": [
        {"price": 549.0, "priceInclTaxes": 658.25, "totalPrice": 658.25, "currency": "SGD", "freeCancellation": false, "breakfastIncluded": false}
      ]
    }
  ],
  "image": "https://pix8.agoda.net/hotelImages/10603/0/9b08ae7ef919f0f09834adb33fd70a81.jpeg?ce=3",
  "reviews": [
    {
      "rating": 9.2,
      "title": "Great view and friendly staff",
      "text": "Room overlooking the bay, quick check-in and a good breakfast.",
      "reviewDate": "2026-10-02T10:15:00+08:00",
      "travelerType": "Couple",
      "reviewerName": "Alex",
      "reviewerCountry": "Australia",
      "source": "Agoda"
    }
  ],
  "checkIn": "2026-10-29",
  "checkOut": "2026-10-30",
  "nights": 1,
  "adults": 2,
  "searchQuery": "Singapore, Singapore",
  "cityId": 4064
}

💰 Pricing

You pay $4.00 per 1,000 hotels ($0.004 per hotel). Guest reviews, when you turn them on, cost $2.00 per 1,000 reviews. Platform usage (compute and proxy traffic) is billed on top at normal rates and is small. A search for 1,000 hotels uses a few MB of datacenter traffic.

Examples:

  • 20 hotels in one city ≈ $0.08 plus a fraction of a cent of usage.
  • 1,000 hotels ≈ $4.00.
  • 100 hotels with 20 reviews each ≈ $0.40 + $4.00 = $4.40.

❓ FAQ

Is it legal to scrape Agoda? The scraper reads public hotel pages that anyone can see without logging in. You're responsible for how you use the data: follow Agoda's terms and the privacy laws that apply to you, especially for review text.

Do I need an Agoda account or my own proxy? No. The built-in datacenter proxy works. If Agoda ever blocks it, the scraper switches to residential proxies by itself.

How many hotels can I get? Agoda lists up to a few thousand hotels per big city (for example, about 6,300 in Bangkok). Set the limit as high as you like; the run stops when Agoda has no more hotels for the search. Add more destinations to get more.

Why are some fields empty? Agoda doesn't publish every field for every hotel. Sold-out hotels have no price, and secret deals hide the hotel name. The full address, description and room types appear only with hotel details on, or for hotel URLs.

Are the prices for my dates and currency? Yes. pricePerRoomPerNight is before taxes and fees, and pricePerRoomPerNightInclTaxes is the all-in price Agoda shows at checkout. Prices come from Agoda for the stay, guests and currency you set. Room-type prices are converted with Agoda's own rate for the same hotel.

Can I schedule it or use the API? Yes. Schedule runs to track prices every day, and read the results through the API or the integrations.

⚠️ Limits

  • Each hotel is saved once per run, even if several searches or URLs find it.
  • Destinations are matched to Agoda cities. Neighborhood, landmark and region searches use the city they belong to.
  • Prices are what Agoda shows to a signed-out visitor. Member-only and app-only rates aren't included.
  • Agoda serves a few hundred of the most recent reviews per hotel (for example, about 400 of 1,700 for one Bangkok hotel). Older reviews aren't reachable.
  • Review text is in the original language. The scraper doesn't translate it.
  • Stays longer than 30 nights are capped at 30 nights.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.