Agoda Property Details Scraper
Under maintenancePricing
Pay per event
Agoda Property Details Scraper
Under maintenanceFull Agoda hotel/property detail (facilities, images, policies, location) plus room types and live rate-plan prices. No login needed.
Agoda Property Details Scraper pulls full content detail for one or more Agoda properties (hotel facilities, images, policies, location, review scores) plus, optionally, the live room types and bookable rate-plan offers for a given stay. It uses Agoda's own Android-app API (searchapi.agoda.com), which needs no login, cookie or request signing for these reads.
Spun off from the Agoda All-in-One API for teams that want a run-and-export dataset instead of a live REST API.
Why use this Actor?
- Content monitoring — track facilities, policies and review scores for a fixed set of properties over time.
- Price research — pull live room/rate-plan offers for a given stay across a portfolio of hotels in one run.
- Sourcing and comparison — export detail + prices for a shortlist of properties straight to a dataset (CSV/JSON/Excel).
Input
| Field | Required | Description |
|---|---|---|
propertyIds | yes | Agoda property (hotel) ids. Max 32 per run — this is Agoda's own API limit. Runs with more are rejected with a clear error; split larger lists across multiple runs rather than being silently chunked. |
checkin | no* | Stay start date, YYYY-MM-DD. *Required when includeRooms is true (needed to price room offers). Inert for property detail content alone. |
los | no | Length of stay in nights. Default 1. |
adults | no | Adults per room. Default 2. |
rooms | no | Number of rooms to book, used for room pricing. Default 1. |
currency | no | ISO currency code for room prices. Default USD. |
locale | no | Response language as an Agoda locale (e.g. th-th, ja-jp). Default en-us. |
includeRooms | no | Also fetch and push one row per room type / rate-plan offer for each property. Default true. |
includePii | no | Opt-in for personal data on property rows: host profile (name, photo, joined date, city/state), review-snippet reviewer first names, hotel-image uploader member names. Default false. Room-offer rows carry no PII regardless. |
Output
One property row per requested id:
{"type": "property","propertyId": 14654101,"name": "...","starRating": 4,"address": { "city": "...", "country": "...", "line1": "..." },"geo": { "lat": 0, "lon": 0 },"reviewScore": { "score": 8.4, "reviewCount": 1200 },"images": ["... up to ~45 images with multiple resolution urls each ..."],"hostProfile": null}
Plus, when includeRooms is true, one room-offer row per room type / rate-plan combination:
{"type": "room-offer","propertyId": 14654101,"propertyName": "...","checkIn": "2026-11-10","checkOut": "2026-11-11","currency": "USD","roomTypeName": "Deluxe Room","offer": {"price": { "display": { "amount": 86, "text": "US$86" } },"isFreeCancellation": true,"breakfastIncluded": false}}
hostProfile is null and reviewer/uploader names are stripped from images/reviewSummaries unless includePii is set.
Pricing / Cost estimation
Billed pay-per-event: one property event per property detail row and one room-offer event per room/rate-plan offer row, plus a flat apify-actor-start event per run. Rows cut off by a run's spending limit are not billed beyond that limit.
Known limitations
- 32-id batch limit. Agoda's own
propertyDetailsSearchAPI rejects more than 32 property ids in one call; this Actor validates that up front and fails the run with a clear error rather than silently chunking into multiple upstream calls or truncating your list. - Prices are not deterministic between identical calls. The room/rate-plan endpoint is a server-side sampled quote — the same request seconds apart can return a different offer count and price. This is verified upstream behavior, not a bug here; treat each run as a point-in-time snapshot.
- PII is opt-in. Host profile fields and reviewer/uploader display names are excluded by default and only returned when
includePiiis set. - Room offers require
checkin; property detail content itself does not depend on dates, currency or occupancy (those fields are only echoed back for parameter symmetry whenincludeRoomsis off).
FAQ, disclaimers, and support
This is an unofficial Actor, not affiliated with or endorsed by Agoda Company Pte. Ltd. It reads only data that Agoda's own app shows to signed-out users. Use responsibly and in line with Agoda's Terms of Service and applicable law.
Found an issue or need a custom field? Use the Issues tab on this Actor's page.