Agoda Hotel Reviews Scraper
Pricing
Pay per event
Agoda Hotel Reviews Scraper
🏨 Extract public Agoda guest reviews with ratings, comments, traveler and stay context, management responses, and media. Built for hotel reputation monitoring and hospitality research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Collect structured Agoda hotel reviews for reputation monitoring, travel research, sentiment analysis, and hospitality intelligence.
Provide Agoda hotel URLs or numeric hotel IDs. The Actor returns one clean dataset row per guest review, including ratings, written feedback, traveler and stay context, management responses, and guest media when available.
No Agoda login or private account is required for the supported public review scope.
What does Agoda Hotel Reviews Scraper do?
Agoda Hotel Reviews Scraper turns public hotel review pages into analysis-ready records.
It can:
- 🏨 Process one hotel or a portfolio of hotels.
- ⭐ Extract numeric scores and Agoda rating labels.
- 💬 Preserve review titles, comments, positives, and negatives.
- 🌍 Capture reviewer country and traveler group.
- 🛏️ Capture room type, stay dates, and number of nights.
- ↩️ Collect hotel management responses.
- 📷 Return guest-uploaded media references when present.
- 📅 Stop at a chosen earliest review date.
- 🔁 Deduplicate reviews by Agoda's stable review ID.
- 📦 Export results as JSON, CSV, Excel, XML, or RSS through Apify.
The Actor uses Agoda's anonymous server-rendered review surface and review data endpoint. It does not automate a user account.
Who is this Agoda reviews extractor for?
Hotel reputation teams
Monitor recent praise, complaints, recurring service issues, and management-response coverage across a hotel portfolio.
Hospitality agencies
Create recurring review reports for clients without manually copying comments from each property page.
Travel-market researchers
Compare guest satisfaction, traveler segments, room experiences, and review volume across competing properties.
Review and sentiment data vendors
Feed normalized text and metadata into classification, topic modeling, alerting, or BI systems.
Hotel operators
Track what guests mention after a stay and identify issues associated with specific room types or traveler groups.
Why use this Agoda review scraper?
- Structured output: receive stable field names instead of raw HTML.
- Repeatable collection: schedule the same hotel list daily or weekly.
- Per-hotel controls: set a separate review ceiling for every property.
- Freshness filtering: use
reviewsSincefor incremental monitoring. - Source fidelity: retain provider IDs and positive/negative fields.
- Low setup: start with a public Agoda URL or numeric hotel ID.
- Integrations: send data to cloud storage, webhooks, spreadsheets, or code.
- Transparent charging: pay for the run start and reviews actually saved.
What Agoda review data can I extract?
| Field | Description |
|---|---|
reviewId | Stable Agoda hotel review identifier |
providerId | Numeric review provider identifier |
providerName | Agoda or displayed partner provider |
rating | Numeric guest rating |
ratingLabel | Text label such as Excellent |
title | Review title |
text | Main review comment |
positive | Positive feedback kept in its source field |
negative | Negative feedback kept in its source field |
reviewDate | ISO timestamp when the review was posted |
stayMonth | Human-readable stay month |
checkInDate | Check-in timestamp when available |
checkOutDate | Check-out timestamp when available |
reviewerName | Public reviewer display name |
reviewerCountry | Reviewer country shown by Agoda |
travelerGroup | Couple, solo traveler, family, group, or business context |
roomType | Room type associated with the stay |
stayLength | Number of nights |
helpfulVotes | Helpful-vote count |
managementResponse | Hotel response text |
responseDate | Management response timestamp |
responderName | Displayed responder or hotel name |
originalTitle | Original-language title when exposed |
originalComment | Original-language comment when exposed |
ugcMedia | Guest media URLs and optional thumbnails/captions |
hotelId | Agoda hotel identifier |
hotelName | Hotel name when resolved from the source page |
hotelScore | Aggregate hotel score |
hotelReviewCount | Aggregate displayed review count |
sourceUrl | User-supplied source URL or hotel-ID reference |
scrapedAt | ISO extraction timestamp |
Optional fields are omitted when Agoda does not provide them. This avoids ambiguous null values.
How to scrape Agoda hotel reviews
- Open the Actor input page.
- Add one or more Agoda hotel URLs under Agoda hotel URLs.
- Alternatively, add numeric values under Agoda hotel IDs.
- Set Maximum reviews per hotel.
- Optionally choose Reviews since for incremental collection.
- Leave partner reviews disabled for Agoda-only review records, or enable them for broader displayed provider coverage.
- Click Start.
- Preview the dataset while the run is active.
- Export the finished dataset or connect it to another service.
Start with 20 reviews for a quick validation run before increasing the limit.
Input
A simple URL input:
{"startUrls": [{"url": "https://www.agoda.com/holiday-inn-bangkok-sukhumvit/reviews/bangkok-th.html"}],"maxReviewsPerHotel": 20,"locale": "en-us","includePartnerReviews": false}
A recurring hotel-ID monitor:
{"hotelIds": ["394439", "1214694"],"maxReviewsPerHotel": 100,"reviewsSince": "2026-07-01","locale": "en-us"}
You may combine URLs and IDs in one run. Duplicate targets and duplicate review IDs are removed.
Output example
{"reviewId": "1123548083","providerId": 332,"providerName": "Agoda","rating": 8,"ratingLabel": "Excellent","title": "A comfortable city stay","text": "Friendly staff and a convenient location.","reviewDate": "2026-05-25T03:06:00+07:00","stayMonth": "May 2026","checkInDate": "2026-05-20T00:00:00+07:00","checkOutDate": "2026-05-24T00:00:00+07:00","reviewerName": "Damien","reviewerCountry": "Singapore","travelerGroup": "Group","roomType": "1 King Standard City View","stayLength": 4,"helpfulVotes": 0,"ugcMedia": [],"hotelId": "394439","hotelName": "Holiday Inn Bangkok Sukhumvit By IHG","hotelScore": 8.4,"hotelReviewCount": 5667,"sourceUrl": "https://www.agoda.com/holiday-inn-bangkok-sukhumvit/reviews/bangkok-th.html","scrapedAt": "2026-07-24T06:00:00.000Z"}
The exact text and optional fields depend on the public review record returned by Agoda.
How much does it cost to extract Agoda hotel reviews?
The Actor uses pay-per-event pricing:
- Start: $0.005 per run.
- Agoda review: $0.000046531 per saved review on the BRONZE plan before volume discounts.
Plan-based tier discounts lower the per-review price for larger Apify plans. The Apify Console shows the applicable price before a run starts.
Example at the BRONZE rate:
- 20 reviews: approximately $0.0059.
- 100 reviews: approximately $0.0097.
- 1,000 reviews: approximately $0.0515.
These examples cover Actor charges. Your Apify account may separately account for platform usage according to its plan.
Scheduling an Agoda review monitor
Use Apify schedules for repeat reputation monitoring:
- Save the hotel list as an Actor task.
- Set
reviewsSinceto the start of the monitoring window. - Schedule the task daily or weekly.
- Add a webhook for successful runs.
- Send the dataset to your warehouse, spreadsheet, or alerting workflow.
For incremental pipelines, deduplicate downstream on reviewId. It is stable and source-specific.
Tips for reliable results
- Use canonical Agoda hotel or review URLs.
- Keep the first run small to confirm the correct property.
- Prefer numeric hotel IDs when URLs are generated dynamically by another system.
- Use a recent
reviewsSincevalue for scheduled monitoring. - Enable partner reviews only when your analysis should include providers displayed by Agoda.
- Keep proxy routing disabled unless your network or geography requires it.
- If a large run is interrupted, rerun it and deduplicate on
reviewIddownstream.
The Actor uses conservative sequential requests per hotel to reduce pressure on Agoda.
Integrations
Google Sheets and Excel
Export the default dataset as CSV or XLSX for review operations and client reports.
Webhooks
Trigger a webhook after each successful scheduled run and pass the dataset URL to your automation.
Slack or email alerts
Filter low ratings or complaint keywords in Make, Zapier, n8n, or your own function, then notify a hotel team.
Data warehouses
Load JSON into BigQuery, Snowflake, PostgreSQL, or object storage. Use reviewId as the natural deduplication key.
Sentiment and topic models
Send title, text, positive, and negative to a language model or classifier while retaining hotel and stay context.
Agoda Hotel Reviews Scraper API with JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/agoda-hotel-reviews-scraper').call({hotelIds: ['394439'],maxReviewsPerHotel: 20,locale: 'en-us'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Agoda Hotel Reviews Scraper API with Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/agoda-hotel-reviews-scraper").call(run_input={"hotelIds": ["394439"],"maxReviewsPerHotel": 20,"locale": "en-us",})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Agoda Hotel Reviews Scraper API with cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~agoda-hotel-reviews-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"hotelIds":["394439"],"maxReviewsPerHotel":20}'
Poll the returned run ID or use run-sync-get-dataset-items when your client can hold the connection until completion.
Use Agoda reviews through MCP
Claude Code setup
Connect Apify's MCP server to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com/?tools=automation-lab/agoda-hotel-reviews-scraper"
Claude Desktop setup
Add this HTTP MCP server to your Claude Desktop configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=automation-lab/agoda-hotel-reviews-scraper"}}}
Cursor setup
Open Settings → Tools & Integrations → MCP, add a remote HTTP server named apify, and use https://mcp.apify.com/?tools=automation-lab/agoda-hotel-reviews-scraper as its URL.
VS Code setup
Open the MCP server configuration for your GitHub Copilot or MCP extension, add an HTTP server named apify, and use the same scoped MCP URL above.
Example prompts for MCP
Useful prompts include:
- “Collect the 50 newest Agoda reviews for hotel 394439.”
- “Find negative feedback from the last month for these Agoda hotels.”
- “Compare traveler-group ratings and room complaints across this hotel set.”
Data quality and limitations
- Agoda can change its public page and endpoint structure.
- Review counts and aggregate scores can include providers beyond the extracted scope.
- Some reviews contain a title but little separate body text.
- Reviewer names are public display names and may be anonymized.
- Management responses and UGC media are optional.
- Date-cutoff behavior assumes reviews are returned newest first.
- Hotel-ID input may not include aggregate hotel name/score context when Agoda does not return it for that ID bootstrap.
- The Actor extracts public review information; it does not access bookings or private guest accounts.
When a route changes, the Actor fails non-zero instead of silently returning an empty successful run.
Is scraping Agoda reviews legal?
Public web data can still be subject to website terms, database rights, privacy law, and contractual restrictions.
You are responsible for:
- having a lawful purpose for collection;
- minimizing personal data;
- following applicable privacy and consumer-protection rules;
- respecting Agoda's terms and access restrictions;
- securing exported datasets;
- honoring deletion or retention obligations relevant to your use case.
This Actor does not provide legal advice. Avoid using review data for harassment, discrimination, or attempts to identify anonymous guests.
Troubleshooting
Why did the Actor reject my URL?
The URL must use an Agoda domain and contain a recognizable hotel slug plus a destination HTML path. Try the canonical hotel or reviews URL shown in your browser.
Why are fewer reviews returned than requested?
The property may have fewer crawlable reviews, the date cutoff may exclude older records, or the public source may expose a bounded review window. Check the log's per-page counts.
Why is the run empty?
A completely empty extraction is treated as a failure. Verify the hotel ID, remove an overly recent reviewsSince value, and retry a small run.
Should I enable a proxy?
Usually no. If direct traffic is restricted in your environment, enable Apify Proxy and use a stable session. Avoid unnecessary residential traffic.
Why is a field missing?
Optional fields are omitted when Agoda does not show them for that review. For example, not every guest writes separate positive/negative text or receives a management response.
FAQ
Can I scrape multiple Agoda hotels in one run?
Yes. Add multiple URLs, hotel IDs, or both. maxReviewsPerHotel applies independently to each property.
Can I get only recent reviews?
Yes. Set reviewsSince to an ISO date such as 2026-07-01.
Are Booking.com or Priceline reviews included?
By default, the Actor requests Agoda provider reviews. Enable includePartnerReviews to include additional review providers exposed by Agoda.
Does the Actor translate reviews?
No. It requests the selected Agoda locale and preserves original-language fields when Agoda exposes them.
Can I download CSV or Excel?
Yes. Every Apify dataset can be exported as CSV, XLSX, JSON, XML, HTML, or RSS.
Can I use this for sentiment analysis?
Yes. The normalized text fields and hotel/stay metadata are suitable inputs for sentiment, topic, complaint, and trend analysis.
Related travel scrapers
Explore other Automation Lab travel data tools:
- Trip.com Reviews Scraper for Trip.com guest feedback.
- Expedia Reviews Scraper for Expedia property reviews.
- Booking Scraper for hotel search and property data.
Use this Actor when Agoda review records—not hotel inventory or live prices—are the required product.
Support
If a valid Agoda property stops returning reviews, open an Actor issue with:
- the public hotel URL or ID;
- a small reproducible input;
- the run ID;
- the approximate time of the run;
- the expected review scope.
Do not include private booking information, account credentials, or personal data that is not already part of the public review page.