Agoda Hotels Scraper
Pricing
from $0.45 / 1,000 hotel results
Agoda Hotels Scraper
Scrape public Agoda hotel listings, prices, ratings, amenities, and property URLs by destination.
Pricing
from $0.45 / 1,000 hotel results
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
Extract public Agoda hotel listings, nightly prices, ratings, review counts, locations, amenities, images, and property URLs from Agoda search result pages. Use it for travel market research, hotel price monitoring, OTA analysis, hospitality lead generation, and destination benchmarking.
What does Agoda Hotels Scraper do?
Agoda Hotels Scraper turns public Agoda search pages into structured datasets. Give it one or more Agoda search URLs, or provide a city ID and stay details, and it returns hotel/property rows that are ready to export to JSON, CSV, Excel, Google Sheets, or your own database.
Who is it for?
- 🏨 Hotel revenue teams tracking competitor prices and review signals.
- ✈️ Travel market researchers comparing destinations and property supply.
- 📊 OTA analysts building hotel availability and pricing dashboards.
- 🧳 Travel agencies collecting public property options for trip planning.
- 🔎 Lead-generation teams finding hotels in specific Agoda destinations.
Why use this scraper?
Manual hotel research is slow and hard to repeat. This actor gives you repeatable extraction with bounded result counts, stay parameters, currency hints, and consistent output fields.
What data can you extract?
| Field | Description |
|---|---|
searchUrl | Agoda search page used for the result |
propertyId | Property identifier when visible in the URL |
name | Hotel or property name |
url | Agoda property page URL |
location | Area, city, and nearby landmark text |
address | Address/location text when visible |
starRating | Star rating when visible |
reviewScore | Public Agoda review score |
reviewCount | Number of reviews |
price | Visible nightly price |
currency | Visible or requested currency |
taxesFeesNote | Taxes/fees text shown near the price |
availability | Availability flag when Agoda explicitly shows unavailable/sold out |
amenities | Visible amenity or benefit snippets |
imageUrl | Main property image URL |
scrapedAt | ISO timestamp of extraction |
How much does it cost to scrape Agoda hotel listings?
The actor uses pay-per-event pricing. You pay a small $0.006 start fee and then a per-hotel result charge. Formula-derived cloud validation set the BRONZE tier at about $0.76 per 1,000 hotel results before volume discounts.
How to use it
- Open the actor on Apify.
- Add Agoda search URLs, or enter a city ID and stay details.
- Set
maxItemsto the number of hotels you need. - Run the actor.
- Download the dataset or connect it to your workflow.
Input options
Agoda search URLs
Use searchUrls when you already have Agoda search result pages. This is the most precise option because it preserves Agoda filters in the URL.
City ID and destination
Use cityId plus optional destination text when you want the actor to build a basic Agoda search URL for you.
Stay details
Set check-in/check-out dates, adults, children, and rooms to match the travel scenario you want to monitor.
Currency and language
Use currency and language to influence how Agoda displays price and page text.
Maximum hotels
maxItems caps how many hotel listings are saved. Keep it small for test runs and increase it for production monitoring.
Proxy configuration
Proxy use is optional. Start without a proxy for small tests. Enable Apify Proxy if your larger repeated runs encounter blocking or regional differences.
Example input
{"searchUrls": [{ "url": "https://www.agoda.com/search?city=9395&adults=2&rooms=1" }],"maxItems": 25,"currency": "EUR","language": "en-US","proxyConfiguration": { "useApifyProxy": false }}
Example output
{"searchUrl": "https://www.agoda.com/search?city=9395&adults=2&rooms=1","propertyId": null,"name": "Hyatt Regency Bangkok Suvarnabhumi Airport","url": "https://www.agoda.com/...","location": "Suvarnabhumi Airport, Bangkok - 18.2 km to center","address": "Suvarnabhumi Airport, Bangkok - 18.2 km to center","latitude": null,"longitude": null,"starRating": 4,"reviewScore": 8.5,"reviewCount": 23131,"price": 135,"currency": "EUR","taxesFeesNote": "Per night after taxes and fees","availability": null,"amenities": ["Free 24/7 Shuttle Service"],"imageUrl": "https://pix8.agoda.net/...jpg","scrapedAt": "2026-07-03T19:24:02.763Z"}
Tips for best results
- Use real Agoda search URLs when you need exact filters.
- Keep
maxItemslow while testing. - Use the same stay dates for recurring price comparisons.
- Save the original
searchUrlso you can audit where each row came from. - Enable proxy only when needed to control costs.
Common use cases
Hotel price monitoring
Run the same destination and dates daily to watch public nightly prices.
Destination benchmarking
Compare hotel count, average review scores, and visible pricing across cities.
Competitor tracking
Track public listings near a hotel, airport, landmark, or resort area.
Lead generation
Collect property names and Agoda URLs for hospitality outreach workflows.
Integrations
- Google Sheets: export CSV or connect via Apify integrations.
- BI dashboards: send dataset rows to BigQuery, Snowflake, or PostgreSQL.
- Alerts: compare today’s dataset with yesterday’s and notify on price changes.
- CRM workflows: enrich hotel leads with property URLs and public ratings.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/agoda-hotels-scraper').call({searchUrls: [{ url: 'https://www.agoda.com/search?city=9395&adults=2&rooms=1' }],maxItems: 25,});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('APIFY_TOKEN')run = client.actor('fetch_cat/agoda-hotels-scraper').call(run_input={'searchUrls': [{'url': 'https://www.agoda.com/search?city=9395&adults=2&rooms=1'}],'maxItems': 25,})print(run['defaultDatasetId'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~agoda-hotels-scraper/runs?token=APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"searchUrls":[{"url":"https://www.agoda.com/search?city=9395&adults=2&rooms=1"}],"maxItems":25}'
MCP usage
Use the Apify MCP server from Claude Code, Claude Desktop, Cursor, or VS Code with the tool-scoped URL:
https://mcp.apify.com/?tools=fetch_cat/agoda-hotels-scraper
Add it from Claude Code:
$claude mcp add apify-agoda-hotels --transport http "https://mcp.apify.com/?tools=fetch_cat/agoda-hotels-scraper"
Claude Desktop JSON config example:
{"mcpServers": {"apify-agoda-hotels": {"url": "https://mcp.apify.com/?tools=fetch_cat/agoda-hotels-scraper"}}}
Cursor and VS Code MCP setup:
- Open your editor's MCP server settings.
- Add a new HTTP MCP server named
apify-agoda-hotels. - Use
https://mcp.apify.com/?tools=fetch_cat/agoda-hotels-scraperas the server URL. - Save, reload the MCP tools list, and select the Agoda Hotels Scraper tool when prompting.
Example prompts:
- “Scrape 50 Agoda hotels in Bangkok and summarize average review score.”
- “Find public Agoda hotel prices for my saved search URL.”
- “Compare the cheapest visible hotels from two Agoda city searches.”
Limits and caveats
Agoda pages are dynamic and can vary by market, date, device, language, and currency. Some fields may be missing when Agoda does not display them on the search page. Prices are public visible prices at scrape time, not guaranteed booking quotes.
FAQ and troubleshooting
Why did I get fewer hotels than requested?
The search page may show fewer visible results, filters may be restrictive, or Agoda may not load more results for that market. Try a broader search URL or lower filters.
Why is currency different from my input?
Agoda can override display currency based on region, cookies, or URL state. The actor reports the visible currency when available.
Should I enable proxy?
Start without proxy for small tests. Enable Apify Proxy for repeated production runs or if Agoda blocks your traffic.
Legality
This actor extracts public information visible on Agoda pages. Use it responsibly, respect applicable laws, and avoid collecting private, account-only, or personal data. Review Agoda’s terms and your legal basis before running large-scale monitoring.
Related scrapers
- https://apify.com/fetch_cat/agoda-reviews-scraper
- https://apify.com/fetch_cat/airbnb-scraper
- https://apify.com/fetch_cat/booking-scraper
Support
If a run fails, include the run ID, input, and expected destination or Agoda URL when asking for help. This makes reproduction faster.