Agoda Scraper avatar

Agoda Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Agoda Scraper

Agoda Scraper

Scrape Agoda.com — hotels, vacation rentals, room offers, traveler reviews, calendar price grids, plus flight search and flight details. 11 endpoints in one actor; one row per result with photo, rating, price, Agoda URL and Raw JSON.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

ONE API

ONE API

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Categories

Share

Scrape Agoda.com — hotels, vacation rentals, room offers, traveler reviews, calendar price grids, plus flight search and flight details — from a single Actor. Eleven purpose-built endpoints in one place, backed by realtyapi.io's real-time Agoda API.

⭐️ Found this useful? Please leave 5 stars! Issues / requests: 📬 oneapi.project@gmail.com


What you can do

SectionWhat it doesInput format
🔍 AutocompleteAgoda typeahead — resolves any partial query to cityId / objectId + name + parent country + lat/lng + numberOfHotels. Mixes destinations and individual properties in one feed.free text, one per line
🏙️ Search Hotels by LocationFree-text location → paginated hotel list with propertyId, name, star rating, guest score, review count, price-from, address, photo, and Agoda URL per row.Bangkok, Phuket, etc.
📍 Search Hotels by CoordinatesDecimal lat,lng → reverse-geocoded city → hotel list.13.7563,100.5018
🔗 Search Hotels by URLAgoda search-page URL → hotel list. Works on /search?city=<id>..., /city/<slug>.html, /country/<slug>.html.full Agoda URL
ℹ️ Property Details by IDFull property detail for any propertyId — name, address, star rating, guest review score, photos, amenities, rooms, lat/lng, live nightly pricing.digits (propertyId), one per line
🔗 Property Details by URLSame detail by parsing the hotel page URL (/<slug>/hotel/<city>-<country>.html).full Agoda URL
Property ReviewsTraveler reviews per propertyId — reviewer, date, rating, title, body, positives/negatives, owner response. One row per review.digits, one per line
🛏️ Property Room OffersAll bookable master rooms / rate-plans for a property + check-in window — name, beds, max occupancy, cheapest price, images, facilities, offers.digits, one per line
💰 Property Price GridCalendar nightly prices across a date window. One row per check-in date.propertyId,cityId per line
✈️ Flights — SearchFlight search by IATA pair + date (one-way or round-trip). One row per flight with searchId, resultId, airline, duration, stops, price.BKK-SIN,2026-08-10 or JFK-LAX,2026-09-15,2026-09-22
🛫 Flights — DetailsFull booking-option detail for a specific flight result (re-uses searchId + resultId, or re-runs from a flight share URL).searchId,resultId or /flights/<O>-<D>/<date>/<token>

Fill any combination of sections in a single run — leave the others empty.


Output

Each autocomplete hit / hotel / detail / review / room / price-grid date / flight is pushed as one dataset row, flattened to friendly columns plus a Raw column with the full upstream JSON for power users.

ModeProperty / City IDNameStarsGuest Score# ReviewsPriceCityPhotosAgoda URL
autocomplete9395Bangkok12450Bangkok, Thailandhttps://www.agoda.com/...
search/bylocation542404Radisson Blu Plaza Bangkok5.08.89764USD 110Bangkokhttps://pix8.agoda.net/...https://www.agoda.com/radisson-blu-plaza-bangkok/...
details/byid8027370PLOY Hostel2.0Bangkokhttps://pix8.agoda.net/...https://www.agoda.com/ploy-hostel_2/...
reviews8027370Great stay99TH
rooms8027370Deluxe TwinUSD 45https://...
price_grid80273702026-08-10USD 389395
flights/searchabc123Singapore AirlinesUSD 220BKKhttps://www.agoda.com/flights/...

For nested fields (full photo galleries, amenity groups, full review text, all rate plans, segment-level flight info), the complete upstream JSON is in the Raw column.


Sample input

{
"autocomplete_inputs": ["Bangkok", "Singapore"],
"autocomplete_resultCount": 10,
"search_bylocation_inputs": ["Bangkok", "Phuket"],
"search_bycoordinates_inputs": ["13.7563,100.5018"],
"search_byurl_inputs": ["https://www.agoda.com/city/bangkok-th.html"],
"search_checkIn": "2026-08-10",
"search_checkOut": "2026-08-12",
"search_adults": 2,
"search_rooms": 1,
"search_resultCount": 30,
"search_pages": 1,
"search_sortOrder": "Best_Match",
"search_currency": "USD",
"details_byid_inputs": ["8027370", "542404"],
"details_byurl_inputs": ["https://www.agoda.com/ploy-hostel_2/hotel/bangkok-th.html"],
"details_checkIn": "2026-08-10",
"details_checkOut": "2026-08-12",
"reviews_inputs": ["8027370"],
"reviews_resultCount": 10,
"reviews_pages": 1,
"reviews_sortOrder": "most_helpful",
"rooms_inputs": ["8027370"],
"rooms_checkIn": "2026-08-10",
"rooms_checkOut": "2026-08-12",
"rooms_adults": 2,
"rooms_rooms": 1,
"price_grid_inputs": ["8027370,9395"],
"price_grid_los": 1,
"price_grid_currency": "USD",
"flights_search_inputs": ["BKK-SIN,2026-08-10"],
"flights_search_cabin": "Economy",
"flights_search_sortOrder": "best",
"flights_search_resultCount": 30
}

Hotel-search filters

  • search_resultCount — hotels per page (1-200, default 30).
  • search_pages — pages per input (1-20).
  • search_sortOrderBest_Match, Lowest_Price, Highest_Price, Top_Guest_Ratings, Secret_Deals.
  • search_currencyUSD, EUR, GBP, CAD, AUD, JPY, CNY, INR, AED, BRL, MXN, SGD, THB.
  • Occupancysearch_adults, search_children (+ search_childAges), search_rooms.

Flight-search filters

  • CabinEconomy, Premium_Economy, Business, First.
  • Sortbest, price, duration.
  • Passengersflights_search_adults, flights_search_children, flights_search_infants.

Pricing

Pay per result$3 per 1,000 items pushed (the same flat rate across every tier). Failed inputs return a row with Summary: ERROR: ... and are billed the same as a successful row.

To cap spend, set Max paid dataset items on the run page.


Tips

  • Don't know a cityId / propertyId? Run the Autocomplete section first — the resulting rows give you the canonical id to drop into any of the search / details / price-grid endpoints.
  • One free-text city → hotel list? Use Search by Location — it does typeahead resolve + citySearch in one call.
  • Got an Agoda search URL? Drop it into Search by URL — works on /city/..., /country/..., and /search?city=....
  • Calendar pricing? Price-grid needs both propertyId AND cityId per line — get cityId from Autocomplete first.
  • Round-trip flights? Append a return date: JFK-LAX,2026-09-15,2026-09-22.
  • Flights detail without a fresh search? Pass searchId,resultId from a recent /flights/search row, or a flight share URL like /flights/BKK-SIN/2026-08-10/<token> — the actor will re-run the search and match the token.