/agoda/hotels/rooms
curl --request POST \
--url https://api.anysite.io/api/agoda/hotels/rooms \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"hotel": "<string>",
"check_in": "<string>",
"check_out": "<string>",
"count": 2,
"timeout": 300,
"adults": 2,
"children_ages": [],
"rooms": 1
}
'import requests
url = "https://api.anysite.io/api/agoda/hotels/rooms"
payload = {
"hotel": "<string>",
"check_in": "<string>",
"check_out": "<string>",
"count": 2,
"timeout": 300,
"adults": 2,
"children_ages": [],
"rooms": 1
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
hotel: '<string>',
check_in: '<string>',
check_out: '<string>',
count: 2,
timeout: 300,
adults: 2,
children_ages: [],
rooms: 1
})
};
fetch('https://api.anysite.io/api/agoda/hotels/rooms', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/agoda/hotels/rooms",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'hotel' => '<string>',
'check_in' => '<string>',
'check_out' => '<string>',
'count' => 2,
'timeout' => 300,
'adults' => 2,
'children_ages' => [
],
'rooms' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/agoda/hotels/rooms"
payload := strings.NewReader("{\n \"hotel\": \"<string>\",\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"adults\": 2,\n \"children_ages\": [],\n \"rooms\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/agoda/hotels/rooms")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"hotel\": \"<string>\",\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"adults\": 2,\n \"children_ages\": [],\n \"rooms\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/agoda/hotels/rooms")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"hotel\": \"<string>\",\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"adults\": 2,\n \"children_ages\": [],\n \"rooms\": 1\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"@type": "AgodaRoom",
"room_type": "<string>",
"is_sold_out": true,
"room_size": "<string>",
"review_score": 123,
"features": [],
"facilities": [],
"amenities": [],
"images": [],
"min_price": 123,
"offers": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/agoda
/agoda/hotels/rooms
Get the live room rate grid for an Agoda hotel by property id (or hotel URL) for specific check-in / check-out dates and occupancy. Returns each available room type with its size, view and bed features, amenities, photos, guest review score and the list of bookable rate offers. Every offer carries the nightly price and currency, meal plan, cancellation policy, pay-later / pay-at-hotel flags, whether a credit card is required, the supplier and how many rooms are left. Prices and availability depend on the requested dates and occupancy.
Price: 10 credits per 14 results
⚠️ Common errors: 412: Hotel not found (well-formed but nonexistent property id)
POST
/
api
/
agoda
/
hotels
/
rooms
/agoda/hotels/rooms
curl --request POST \
--url https://api.anysite.io/api/agoda/hotels/rooms \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"hotel": "<string>",
"check_in": "<string>",
"check_out": "<string>",
"count": 2,
"timeout": 300,
"adults": 2,
"children_ages": [],
"rooms": 1
}
'import requests
url = "https://api.anysite.io/api/agoda/hotels/rooms"
payload = {
"hotel": "<string>",
"check_in": "<string>",
"check_out": "<string>",
"count": 2,
"timeout": 300,
"adults": 2,
"children_ages": [],
"rooms": 1
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
hotel: '<string>',
check_in: '<string>',
check_out: '<string>',
count: 2,
timeout: 300,
adults: 2,
children_ages: [],
rooms: 1
})
};
fetch('https://api.anysite.io/api/agoda/hotels/rooms', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/agoda/hotels/rooms",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'hotel' => '<string>',
'check_in' => '<string>',
'check_out' => '<string>',
'count' => 2,
'timeout' => 300,
'adults' => 2,
'children_ages' => [
],
'rooms' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/agoda/hotels/rooms"
payload := strings.NewReader("{\n \"hotel\": \"<string>\",\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"adults\": 2,\n \"children_ages\": [],\n \"rooms\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/agoda/hotels/rooms")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"hotel\": \"<string>\",\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"adults\": 2,\n \"children_ages\": [],\n \"rooms\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/agoda/hotels/rooms")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"hotel\": \"<string>\",\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"adults\": 2,\n \"children_ages\": [],\n \"rooms\": 1\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"@type": "AgodaRoom",
"room_type": "<string>",
"is_sold_out": true,
"room_size": "<string>",
"review_score": 123,
"features": [],
"facilities": [],
"amenities": [],
"images": [],
"min_price": 123,
"offers": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json
Minimum string length:
1Required range:
x >= 1Required range:
20 <= x <= 1500Required range:
x >= 1Required range:
x >= 1