Agoda API Scraper
Pricing
from $1.00 / 1,000 dataset rows
Agoda API Scraper
Scrapes Agoda accommodation search results, pricing and property details via Agoda's public GraphQL endpoints (requests-based, no browser).
What does Agoda API Scraper do?
Agoda API Scraper extracts hotel and accommodation data — live pricing, review scores, photos, facilities and static property details — from Agoda without a browser. It talks directly to the same public GraphQL search endpoints www.agoda.com/search itself calls, so runs are fast and don't need to render pages. Give it a destination (or a list of property IDs) and your stay dates, and get back structured JSON, ready for the Apify API, scheduling and integrations.
See agoda_api_scraping.md for the underlying endpoint reverse-engineering notes.
Why use Agoda API Scraper?
- Price monitoring — track nightly/total rates for specific properties or a whole city over time.
- Market research — pull review scores, star ratings and facility data across a destination for competitor analysis.
- Lead generation / travel apps — feed structured accommodation data into your own product without maintaining a browser-based scraper.
How to use Agoda API Scraper
- Enter a Destination (e.g.
"Bangkok") — it's resolved to Agoda's internal city ID automatically. Or paste specific Property IDs to skip search entirely. - Set Check-in / Check-out dates, Rooms/Adults/Children ages and a Currency.
- Optionally turn on Include static details for address/review-breakdown/useful-info per property.
- Run the Actor and download results from the Dataset tab (JSON, CSV, Excel, …).
Input
See the Input tab for the full schema. Key fields:
| Field | Description |
|---|---|
search | Free-text destination, e.g. "Bangkok" |
cityId | Exact numeric Agoda city ID (skips destination resolution) |
propertyIds | Specific property IDs (bypasses search; static content only, no live pricing) |
checkin / checkout | Stay dates (YYYY-MM-DD) |
adults / rooms / childrenAges | Occupancy |
currency | Display currency |
sortBy | Ranking, Price or AllGuestsReviewScore |
includeDetails | Adds a details object per property |
maxItems | Result cap |
Output
Each dataset item is one accommodation:
{"propertyId": 14654101,"name": "Solaria Nishitetsu Hotel Bangkok","url": "https://www.agoda.com/solaria-nishitetsu-hotel-bangkok/hotel/bangkok-th.html","propertyType": "Hotel","starRating": 4,"address": { "country": "Thailand", "countryCode": "TH", "city": "Bangkok", "area": "Sukhumvit" },"latitude": 13.74, "longitude": 100.56,"reviewScore": 9.2,"reviewCount": 1523,"facilityHighlights": ["Free Wi-Fi", "Swimming pool", "Airport transfer"],"images": ["https://pix8.agoda.net/hotelImages/..."],"price": {"currency": "USD","perNight": 125.83,"perNightBeforeDiscount": 125.83,"perStay": 251.65,"freeCancellation": false,"payLaterEligible": false}}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Main data fields
| Field | Meaning |
|---|---|
propertyId | Agoda's internal numeric property ID |
name / url | Display name and canonical Agoda page |
starRating, reviewScore, reviewCount | Rating summary |
address, latitude, longitude | Location |
price | Cheapest available offer for the given dates/occupancy |
images, facilityHighlights | Media and top amenities |
details (optional) | Address detail, review breakdown, useful info (check-in time, property age, extras) |
Pricing / cost estimation
This Actor makes 1 request per page of ~25 results (plus 1 request per 20 properties if "Include static details" is on) — no browser rendering, so compute-unit usage per item is very low compared to browser-based scrapers. Check the Actor pricing tab for the current pricing model.
Tips
- Leave
includeDetailsoff for the fastest, cheapest runs when you only need pricing/ratings. - Use
propertyIdsdirectly if you already know which properties you want — it skips destination resolution and search pagination entirely. - Prices reflect Agoda's live availability at request time; re-run periodically for price-tracking use cases (see the Apify Scheduler).
FAQ, disclaimers and support
This Actor scrapes publicly available data from Agoda for personal or business research purposes; use it in accordance with Agoda's Terms of Service and applicable law. Agoda may change its API at any time, which can affect this Actor's behavior — please report issues on the Issues tab. Need something custom? Reach out for tailored scraping solutions.