Agoda API endpoint
Returns full hotel detail from Agoda: identity (name, any former name), an accommodation type code, address (street address, postal code, city, country), guest rating, a main photo, room count, hotel chain id, a long and short description, and short-form policy statements (minimum age, adult/child definitions, extra-bed and additional-room booking policy).
/agoda/hotels/{property_id}Path parameters:
property_id (required) — numeric Agoda property id, from a prior search
call's property_id field or the id embedded in an Agoda hotel URL (e.g.
10637).Notable response behavior:
property_id must be numeric; a non-numeric or non-positive value returns
400 before any upstream request is made.404.min_age is an empty list on properties with no minimum-age policy on
file; the other policy fields (adult, extra_bed, additional) are
Agoda's own short display strings, not a structured rule schema.accommodation_type is Agoda's own numeric property-type code. Known
values: 34 (Hotel), 33 (Hostel), 37 (Resort), 120 (Apartment).main_image_url is omitted when Agoda has no main photo on file for the
property. Guest-review scores are not yet included in this response — see
the endpoint's ongoing coverage notes for what is planned.| Field | In the sample | Value in the sample |
|---|---|---|
| property_id | Has a value | |
| display_name | Has a value | |
| accommodation_type | Has a value | 34 |
| rating | Has a value | 4 |
| address.city | Has a value | |
| address.country | Has a value | |
| address.address1 | Has a value | |
| address.postal_code | Has a value | |
| number_of_rooms | Has a value | 659 |
| chain_id | Has a value | |
| children_stay_free_type_id | Has a value | |
| description_long | Has a value | 24,189 characters |
| description_short | Has a value | “Experience Luxury and Convenience at Baiyoke Sky Hotel. Wel…” |
| policy.adult | Has a value | 1 entry |
| policy.extra_bed | Has a value | 1 entry |
| policy.additional | Has a value | 1 entry |
| main_image_url | Has a value | pix8.agoda.net |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| property_id (path) | string | Yes | Numeric Agoda property id, from a prior search call's property_id field or the id embedded in an Agoda hotel URL | 10637 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/agoda/hotels/10637" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"property_id": 10637,
"display_name": "Baiyoke Sky Hotel",
"accommodation_type": 34,
"rating": 4,
"address": {
"city": {
"id": 9395,
"name": "Bangkok"
},
"country": {
"id": 106,
"name": "Thailand"
},
"address1": "222 Ratchaprarop Road, Ratchathewi",
"postal_code": "10400"
},
"main_image_url": "https://pix8.agoda.net/hotelImages/10637/-1/878a9b58ccd19eee41b98d20e388c080.jpg?ca=9&ce=1",
"number_of_rooms": "659",
"chain_id": 3603,
"description_long": "Experience Luxury and Convenience at Baiyoke Sky Hotel. Welcome to Baiyoke Sky Hotel, a luxurious 4-star hotel located in the heart of Bangkok, Thailand...",
"description_short": "Experience Luxury and Convenience at Baiyoke Sky Hotel.",
"policy": {
"adult": [
"Guests 12 years and older are considered adults."
],
"extra_bed": [
"Extra beds are dependent on the room you choose. Please check the individual room capacity for more details."
],
"additional": [
"When booking more than 5 rooms, different policies and additional supplements may apply."
]
},
"source_url": "https://www.agoda.com/search?cid=-1&selectedproperty=10637&city=9395"
}
}Request schema
No body schema
Response schema
#/definitions/agoda.DetailResponse
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| accommodation_type | integer | No | 34 | AccommodationType is Agoda's own numeric property-type code (contentSummary.accommodationType), confirmed live 2026-08-05. Known values: 34 = Hotel, 33 = Hostel, 37 = Resort, 120 = Apartment. | ||
| address | agoda.Address | No | ||||
| address.address1 | string | No | 222 Ratchaprarop Road, Ratchathewi | |||
| address.city | agoda.City | No | ||||
| address.city.id | integer | No | 9395 | |||
| address.city.name | string | No | Bangkok | |||
| address.country | agoda.Country | No | ||||
| address.country.id | integer | No | 106 | |||
| address.country.name | string | No | Thailand | |||
| address.postal_code | string | No | 10400 | |||
| chain_id | integer | No | 3603 | |||
| children_stay_free_type_id | integer | No | 1 | |||
| description_long | string | No | ||||
| description_short | string | No | Experience Luxury and Convenience at Baiyoke Sky Hotel. | |||
| display_name | string | No | Baiyoke Sky Hotel | |||
| formerly_name | string | No | ||||
| main_image_url | string | No | https://pix8.agoda.net/hotelImages/10637/-1/878a9b58ccd19eee41b98d20e388c080.jpg?ca=9&ce=1 | MainImageURL is the property's primary photo, resolved from Agoda's own content API (contentImages.mainImage.urls) and normalized to an absolute https:// URL. Empty if Agoda has no main image on file. | ||
| number_of_rooms | string | No | 659 | |||
| policy | agoda.Policy | No | ||||
| policy.additional | array | No | When booking more than 5 rooms, different policies and additional supplements may apply. | |||
| policy.adult | array | No | Guests 12 years and older are considered adults. | |||
| policy.extra_bed | array | No | Extra beds are dependent on the room you choose. Please check the individual room capacity for more details. | |||
| policy.min_age | array | No | ||||
| property_id | integer | No | 10637 | |||
| rating | number | No | 4 | |||
| source_url | string | No | https://www.agoda.com/search?cid=-1&selectedproperty=10637&city=9395 | SourceURL is a real, live-verified Agoda URL that resolves directly to this property (Agoda's own affiliate redirect target), even though it is not the pretty slug-based hotel page. |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/agoda/hotels/10637" \
-H "x-api-key: $CRAWLORA_API_KEY"