agoda.com APIagoda.com ↗
Access Agoda hotel rooms, guest reviews, destination autocomplete, and popular cities via 4 structured endpoints. No scraping setup required.
curl -X GET 'https://api.parse.bot/scraper/a4015091-6c26-4493-b397-cb2209fa5d64/search_autocomplete?query=Tokyo' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for destination suggestions by keyword. Returns matching cities, neighborhoods, landmarks, and hotels from Agoda's autocomplete index.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword for destination lookup (e.g. 'Tokyo', 'Bangkok', 'Bali'). |
{
"type": "object",
"fields": {
"suggestions": "array of suggestion objects, each containing name, display_name, city_id, object_id, type, and country"
},
"sample": {
"data": {
"suggestions": [
{
"name": "Tokyo",
"type": null,
"city_id": 0,
"country": null,
"object_id": 5085,
"display_name": "Tokyo"
},
{
"name": "Tokyo",
"type": "most-popular-destinations",
"city_id": 5085,
"country": "JP",
"object_id": 5085,
"display_name": null
}
]
},
"status": "success"
}
}About the agoda.com API
The Agoda API gives developers structured access to Agoda's hotel and destination data across 4 endpoints. Use search_autocomplete to resolve destination keywords into typed location objects with city and property IDs, then feed those IDs into get_hotel_rooms or get_hotel_reviews to retrieve room-level inventory details or paginated guest ratings. Each endpoint returns clean, typed JSON fields you can integrate directly into travel apps or aggregators.
Destination Search and ID Resolution
The search_autocomplete endpoint accepts a free-text query parameter (e.g. "Tokyo" or "Bali") and returns an array of suggestion objects. Each suggestion includes a name, display_name, city_id, object_id, type (city, neighborhood, landmark, or hotel), and country. The object_id field is the primary key you pass downstream to property-level endpoints.
Hotel Rooms and Reviews
get_hotel_rooms accepts a hotel_id (integer) and returns the hotel_name alongside a rooms array. Each room object exposes name, is_available, size, max_occupancy, bed_type, and a facilities list — enough to build a room-comparison view or availability checker without additional calls. get_hotel_reviews takes the same hotel_id plus an optional page integer (10 reviews per page). The response includes the hotel_name, an aggregate overall_score out of 10, and a reviews array where each entry carries rating, title, text, date, reviewer, country, and source platform.
Popular Destinations
get_popular_destinations requires no parameters and returns up to 20 destination objects, each with city_id, city_name, country, and hotel_count. This endpoint is useful for seeding landing pages, populating dropdown defaults, or building a curated city guide without requiring a user query first.
- Build a hotel search UI that resolves typed city names to Agoda city IDs using search_autocomplete
- Aggregate guest review scores and sentiment by pulling paginated reviews via get_hotel_reviews
- Compare room configurations, bed types, and occupancy limits across properties with get_hotel_rooms
- Populate a 'top destinations' carousel using hotel_count and city metadata from get_popular_destinations
- Cross-reference reviewer country data from get_hotel_reviews to analyze source market distribution
- Resolve landmark or neighborhood queries to hotel object IDs for property-level lookups
- Track changes in overall_score over time by periodically polling get_hotel_reviews for a fixed hotel_id
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Agoda offer an official developer API?+
What does get_hotel_reviews return beyond the review text?+
rating, a title, the full review text, the submission date, the reviewer name, the reviewer's country, and a source field indicating which platform the review originated from. The endpoint also returns the hotel's aggregate overall_score out of 10 at the top level.Does the API return real-time room pricing or availability dates?+
get_hotel_rooms returns room metadata — name, size, max_occupancy, bed_type, facilities, and an is_available boolean — but does not include nightly rates, check-in/check-out date filtering, or inventory counts. You can fork this API on Parse and revise it to add a date-parameterized pricing endpoint.Can I filter reviews by rating, language, or reviewer country?+
get_hotel_reviews endpoint supports pagination via the page parameter but does not expose filtering by rating value, language, or country on the request side. Those fields are present in each review object, so client-side filtering is possible after fetching. You can fork the API on Parse and revise it to add server-side filter parameters.How do I get a hotel_id to use with get_hotel_rooms or get_hotel_reviews?+
search_autocomplete with a hotel name or destination keyword. Results with type set to hotel will include an object_id field — that integer is the hotel_id accepted by both property-level endpoints. City-level results return a city_id which is not interchangeable with hotel_id.