Agoda Hotel Scraper
parseforge/agoda-scraper
TravelAutomationDeveloper tools
Scrapes Agoda hotel search results for any destination. Returns each property with its nightly price, star rating, review score, and location as a structured row.
- Total users
- 43
- Monthly active
- 8
- Total runs
- 442
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 9 days ago
Overview
Agoda Hotel Scraper
Scrape Agoda hotel listings for any destination, up to a million properties per run. Every hotel comes with its nightly price, star rating, review score, and location details. No API key required. Export to CSV, JSON, Excel, or XML.
Agoda's hotel data is locked behind dynamic pages and rate-limited searches, making bulk collection slow and unreliable. This actor reads the public search results directly for any city, region, or destination you specify. It returns each hotel as a structured row with its current price, guest rating, star class, and location, ready for analysis or price monitoring.
| Who uses it | What they scrape Agoda for |
|---|---|
| Revenue managers | Monitor competitor pricing for a destination across specific dates. |
| Travel aggregators | Build a feed of available properties with live rates and review scores. |
| Market researchers | Analyze hotel supply, star rating distribution, and guest satisfaction in a region. |
| Data analysts | Feed hotel pricing and rating data into dashboards and forecasting models. |
What it does
This Actor collects Agoda hotel listings by destination search query and returns each property as a flat row with pricing, ratings, and location data.
- π¨ Destination search: enter any city, region, or landmark name to find all available hotels.
- π Date-specific pricing: set check-in and check-out dates to see live nightly rates and availability.
- π₯ Guest and room control: specify the number of adults and rooms for accurate per-night pricing.
- β Flexible sorting: order results by best match, lowest price, guest review score, or star rating.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with Agoda data
π° Monitor competitor pricing.
A revenue manager runs the actor weekly for a destination to track how rival hotels adjust their rates for the upcoming month.
π Build a market landscape report.
A consultant scrapes all hotels in a city to analyze the distribution of star ratings, review scores, and price bands.
πΊοΈ Populate a travel search engine.
A developer feeds Agoda hotel data into a meta-search site, combining it with listings from other OTAs.
π Track review score trends.
A hotel owner scrapes their own property and competitors weekly to monitor guest satisfaction changes over time.
Why choose this scraper
| What you get | |
|---|---|
| Live pricing | See the actual nightly rate for your exact dates and party size, not a cached estimate. |
| Review scores | Get the aggregated guest rating for each property alongside the price. |
| Star ratings | Know the official star class of every hotel in your results. |
| Location data | Receive the city, area, and geographic coordinates for mapping and regional analysis. |
| Structured output | Every hotel is a flat row in CSV, JSON, Excel, or XML, ready for your database or spreadsheet. |
How it compares
This actor focuses on Agoda search results with date-specific pricing, while the alternatives below either scrape a different source or focus on reviews rather than search listings.
| Feature | ParseForge | Google Hotels Scraper | Fast Agoda Reviews Scraper |
|---|---|---|---|
| Scrapes Agoda search results | Yes | Not listed | Not listed |
| Live nightly pricing for specific dates | Yes | Yes | Not listed |
| Guest review scores | Yes | Yes | Yes |
| Star rating | Yes | Yes | Not listed |
| Sort by price, reviews, or stars | Yes | Not listed | Not listed |
| Full review text extraction | Not listed | Yes | Yes |
Configure the run
Drive the Actor with a destination search query, then narrow results by travel dates, number of guests, rooms, and sort order so only relevant hotels reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{
"searchQuery": "Bangkok",
"maxItems": 10
}
A larger pull:
{
"searchQuery": "Bangkok",
"maxItems": 200
}
Pricing
Pay-per-result: $0.0055 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.55 |
| 1,000 results | $5.50 |
| 10,000 results | $55.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the Agoda Hotel Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to Agoda through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/agoda-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your searchQuery is a valid destination Agoda recognizes. Try a broader term like a major city name. Also verify your check-in date is not in the past.
The prices look different from what I see on the website.
Prices on Agoda can change frequently and may vary by user location, cookies, or membership status. The actor captures the public rate shown for your specified dates and guest count at the moment of scraping.
The actor is running slowly or timing out.
Agoda's pages are dynamic and image-heavy. Reduce maxItems to a smaller number, or increase the run timeout in your actor settings. A faster Apify plan with more memory can also help.
Some hotels are missing from the results.
Agoda's search ranking can push some properties deep into pagination. Try increasing maxItems, or narrow your search with a more specific destination name to reduce the total result set.
I get an error about the date format.
Ensure your checkIn and checkOut values use the YYYY-MM-DD format exactly, for example 2025-12-25. Do not use slashes or written month names.
FAQ
| Question | Answer |
|---|---|
| Can I scrape hotels for a specific check-in date? | Yes. Set the checkIn and checkOut fields in YYYY-MM-DD format. The actor will return live pricing for those exact dates. If you leave them empty, it defaults to tomorrow and the following day. |
| How many hotels can I scrape in one run? | You can set maxItems up to 1,000,000. The actor will collect that many properties from the search results, stopping when it reaches your limit or runs out of listings. |
| What destination formats does the search accept? | You can enter a city name like Bangkok, a region like Bali, or a specific landmark. The actor passes your query directly to Agoda's search and collects the results. |
| Does this actor get the full hotel description and amenities? | This actor collects the search result data: price, star rating, review score, and location. For full details, photos, and amenities, you would need a hotel detail page scraper. |
| Can I sort results by lowest price? | Yes. Set the sortBy field to Price. You can also sort by Best Match, Guest Reviews, or Star Rating. |
| Do I need an Agoda account or API key? | No. This actor reads the public search pages. No login, no API registration, and no key are required. |
| Can I search for multiple destinations in one run? | Each run takes one search query. To scrape multiple destinations, run the actor multiple times with different searchQuery values, or use an array input in a workflow. |
| What output formats are supported? | You can export your dataset as CSV, JSON, Excel, or XML directly from the Apify platform. |
| Does the actor handle Agoda's dynamic page loading? | Yes. The actor uses a headless browser to render the search results, scroll through listings, and extract data from the fully loaded page. |
| Can I set the number of guests and rooms? | Yes. The adults and rooms fields let you specify your party size. The pricing returned will reflect the per-night cost for that configuration. |
Related actors
Browse the full ParseForge collection for more scrapers.
π Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
β οΈ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Agoda Company Pte. Ltd. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| searchQuery | string | City, region, or destination to search for hotels (e.g. Bangkok, Bali, Tokyo). | Bangkok |
| maxItems | integer | How many hotels to collect per run. | 10 |
| checkIn | string | Check-in date in YYYY-MM-DD format. Defaults to tomorrow if not set. | not set |
| checkOut | string | Check-out date in YYYY-MM-DD format. Defaults to the day after check-in if not set. | not set |
| adults | integer | Number of adult guests. | 2 |
| rooms | integer | Number of rooms. | 1 |
| sortBy | string (4 options) | How to sort the search results. | Ranking |
Pricing
from $5.00 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.005 to $0.0055 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~agoda-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
