/skyscanner/stays/search
curl --request POST \
--url https://api.anysite.io/api/skyscanner/stays/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"entity_id": "<string>",
"checkin_date": "2023-12-25",
"checkout_date": "2023-12-25",
"count": 2,
"timeout": 300,
"adults": 2,
"children_ages": [],
"rooms": 1
}
'import requests
url = "https://api.anysite.io/api/skyscanner/stays/search"
payload = {
"entity_id": "<string>",
"checkin_date": "2023-12-25",
"checkout_date": "2023-12-25",
"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({
entity_id: '<string>',
checkin_date: '2023-12-25',
checkout_date: '2023-12-25',
count: 2,
timeout: 300,
adults: 2,
children_ages: [],
rooms: 1
})
};
fetch('https://api.anysite.io/api/skyscanner/stays/search', 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/skyscanner/stays/search",
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([
'entity_id' => '<string>',
'checkin_date' => '2023-12-25',
'checkout_date' => '2023-12-25',
'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/skyscanner/stays/search"
payload := strings.NewReader("{\n \"entity_id\": \"<string>\",\n \"checkin_date\": \"2023-12-25\",\n \"checkout_date\": \"2023-12-25\",\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/skyscanner/stays/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"entity_id\": \"<string>\",\n \"checkin_date\": \"2023-12-25\",\n \"checkout_date\": \"2023-12-25\",\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/skyscanner/stays/search")
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 \"entity_id\": \"<string>\",\n \"checkin_date\": \"2023-12-25\",\n \"checkout_date\": \"2023-12-25\",\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": "SkyscannerStay",
"name": "<string>",
"stars": 123,
"review_score": 123,
"review_count": 123,
"review_label": "<string>",
"rating_provider": "<string>",
"image": "<string>",
"images": [],
"price": 123,
"price_total": 123,
"price_with_taxes": 123,
"price_without_discount": 123,
"discount_percentage": 123,
"currency": "<string>",
"distance": "<string>",
"address": "<string>",
"postcode": "<string>",
"location_text": "<string>",
"latitude": 123,
"longitude": 123,
"url": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/skyscanner
/skyscanner/stays/search
Search Skyscanner hotels for a destination (by place entity id) for a check-in/check-out date range, guest and room count. Returns ranked hotels with name, star rating, guest review score and count, the cheapest nightly and total price (with and without taxes and any discount), distance to a nearby landmark, full address, postcode, neighbourhood and exact coordinates, photos and a link to the hotel page. The destination is a Skyscanner place entity id (resolve it via the places autosuggest).
Price: 10 credits per 10 results
⚠️ Common errors: 412: Destination not found or no hotels available for the given dates
POST
/
api
/
skyscanner
/
stays
/
search
/skyscanner/stays/search
curl --request POST \
--url https://api.anysite.io/api/skyscanner/stays/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"entity_id": "<string>",
"checkin_date": "2023-12-25",
"checkout_date": "2023-12-25",
"count": 2,
"timeout": 300,
"adults": 2,
"children_ages": [],
"rooms": 1
}
'import requests
url = "https://api.anysite.io/api/skyscanner/stays/search"
payload = {
"entity_id": "<string>",
"checkin_date": "2023-12-25",
"checkout_date": "2023-12-25",
"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({
entity_id: '<string>',
checkin_date: '2023-12-25',
checkout_date: '2023-12-25',
count: 2,
timeout: 300,
adults: 2,
children_ages: [],
rooms: 1
})
};
fetch('https://api.anysite.io/api/skyscanner/stays/search', 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/skyscanner/stays/search",
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([
'entity_id' => '<string>',
'checkin_date' => '2023-12-25',
'checkout_date' => '2023-12-25',
'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/skyscanner/stays/search"
payload := strings.NewReader("{\n \"entity_id\": \"<string>\",\n \"checkin_date\": \"2023-12-25\",\n \"checkout_date\": \"2023-12-25\",\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/skyscanner/stays/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"entity_id\": \"<string>\",\n \"checkin_date\": \"2023-12-25\",\n \"checkout_date\": \"2023-12-25\",\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/skyscanner/stays/search")
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 \"entity_id\": \"<string>\",\n \"checkin_date\": \"2023-12-25\",\n \"checkout_date\": \"2023-12-25\",\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": "SkyscannerStay",
"name": "<string>",
"stars": 123,
"review_score": 123,
"review_count": 123,
"review_label": "<string>",
"rating_provider": "<string>",
"image": "<string>",
"images": [],
"price": 123,
"price_total": 123,
"price_with_taxes": 123,
"price_without_discount": 123,
"discount_percentage": 123,
"currency": "<string>",
"distance": "<string>",
"address": "<string>",
"postcode": "<string>",
"location_text": "<string>",
"latitude": 123,
"longitude": 123,
"url": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json
Pattern:
^\d+$Required range:
x >= 1Required range:
20 <= x <= 1500Required range:
1 <= x <= 16Required range:
1 <= x <= 8Response
Successful Response