Agoda Hotel & Room Scraper avatar

Agoda Hotel & Room Scraper

Pricing

from $4.00 / 1,000 hotel results

Go to Apify Store
Agoda Hotel & Room Scraper

Agoda Hotel & Room Scraper

Scrape hotel room availability, pricing, and policies from Agoda.com. Get real-time rates, breakfast info, cancellation policies, and room details for any hotel. Supports multiple hotels, date ranges, guest configs, and currencies (USD/THB/IDR/SGD/MYR).

Pricing

from $4.00 / 1,000 hotel results

Rating

5.0

(1)

Developer

Datawebot

Datawebot

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

Scrape hotel room availability, pricing, and policies from Agoda.com — one of Asia's largest hotel booking platforms.

What You Get

Room-level data from Agoda's internal API, including:

  • Room info: name, type, max occupancy
  • Pricing: current price, original price (before discount), currency
  • Policies: breakfast included, free cancellation, pay later
  • Stay details: check-in, check-out dates
  • Raw data: full API response in _raw field

Input

{
"hotelUrls": [
{"url": "https://www.agoda.com/the-sukhothai-bangkok/hotel/bangkok-th.html", "name": "The Sukhothai Bangkok"},
{"url": "https://www.agoda.com/mandarin-oriental-bangkok/hotel/bangkok-th.html", "name": "Mandarin Oriental"}
],
"checkinDate": "2026-04-15",
"checkoutDate": "2026-04-16",
"rooms": 1,
"adults": 2,
"children": 0,
"currency": "USD",
"locale": "en-us"
}

Parameters

ParameterTypeRequiredDefaultDescription
hotelUrlsarrayList of {url, name} objects
checkinDatestringNo+7 daysCheck-in date (YYYY-MM-DD)
checkoutDatestringNo+1 nightCheck-out date (YYYY-MM-DD)
roomsintegerNo1Number of rooms
adultsintegerNo2Number of adults
childrenintegerNo0Number of children
currencystringNoUSDCurrency (USD, THB, IDR, SGD, MYR)
localestringNoen-usLanguage/locale (en-us, th-th, id-id)
headlessbooleanNotrueRun browser headless

Output

Raw data from Agoda's internal API. Each item is one room option:

{
"hotelName": "The Sukhothai Bangkok",
"hotelUrl": "https://www.agoda.com/the-sukhothai-bangkok/hotel/bangkok-th.html",
"roomName": "Superior King",
"roomType": "Superior",
"price": 189.00,
"originalPrice": 250.00,
"currency": "USD",
"maxOccupancy": 2,
"breakfastIncluded": true,
"freeCancellation": true,
"payLater": false,
"checkin": "2026-04-15",
"checkout": "2026-04-16",
"_mode": "hotel",
"_hotel_index": 0,
"_raw": { ... }
}

Note: The _raw field contains the full room object from Agoda's API with all nested data (pricing details, images, amenities, etc.).

How It Works

  1. URL construction — builds Agoda URLs with check-in/out, guests, currency params
  2. Browser automation — loads hotel page via Playwright headless Chromium
  3. API interception — intercepts Agoda's internal GetSecondaryData API call
  4. Data extraction — parses room grid data, pricing, and policies from API response

Proxy

No proxy by default (direct connection). For large-scale scraping (>50 hotels), add a proxy to avoid rate limits.

{
"hotelUrls": [...],
"proxyUrl": "http://user:pass@host:port"
}

Billing

Billed per hotel scraped (1 event = 1 hotel page).

MetricPrice
Per hotel$0.004
Per 1000 hotels$4.00

Check the Actor's pricing tab for current rates.

Limits

  • Max hotels per run: no hard limit, but ~50 hotels recommended per run
  • Timeout: 60 seconds per hotel page
  • Browser: Playwright Chromium (headless)

Use Cases

  • Price Comparison: Compare room rates across hotels in a city
  • Revenue Management: Monitor competitor pricing strategies
  • Travel Analytics: Track hotel availability and pricing trends
  • Booking Intelligence: Identify deals, discounts, and availability

Changelog

0.1 (2026-04-02)

  • Initial release
  • Hotel room scraping via Playwright API interception
  • Support for multiple hotels, date ranges, guest configs
  • Currency and locale options