/skyscanner/flights/prices/bands
curl --request POST \
--url https://api.anysite.io/api/skyscanner/flights/prices/bands \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"origin": "<string>",
"destination": "<string>",
"depart_date": "2023-12-25",
"timeout": 300,
"return_date": "2023-12-25",
"cabin_class": "ECONOMY"
}
'import requests
url = "https://api.anysite.io/api/skyscanner/flights/prices/bands"
payload = {
"origin": "<string>",
"destination": "<string>",
"depart_date": "2023-12-25",
"timeout": 300,
"return_date": "2023-12-25",
"cabin_class": "ECONOMY"
}
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({
origin: '<string>',
destination: '<string>',
depart_date: '2023-12-25',
timeout: 300,
return_date: '2023-12-25',
cabin_class: 'ECONOMY'
})
};
fetch('https://api.anysite.io/api/skyscanner/flights/prices/bands', 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/flights/prices/bands",
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([
'origin' => '<string>',
'destination' => '<string>',
'depart_date' => '2023-12-25',
'timeout' => 300,
'return_date' => '2023-12-25',
'cabin_class' => 'ECONOMY'
]),
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/flights/prices/bands"
payload := strings.NewReader("{\n \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"depart_date\": \"2023-12-25\",\n \"timeout\": 300,\n \"return_date\": \"2023-12-25\",\n \"cabin_class\": \"ECONOMY\"\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/flights/prices/bands")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"depart_date\": \"2023-12-25\",\n \"timeout\": 300,\n \"return_date\": \"2023-12-25\",\n \"cabin_class\": \"ECONOMY\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/skyscanner/flights/prices/bands")
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 \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"depart_date\": \"2023-12-25\",\n \"timeout\": 300,\n \"return_date\": \"2023-12-25\",\n \"cabin_class\": \"ECONOMY\"\n}"
response = http.request(request)
puts response.read_body[
{
"@type": "SkyscannerPriceBand",
"vertical": "<string>",
"currency": "<string>",
"season": "<string>",
"percentile_low": 123,
"percentile_high": 123,
"outlier_low": 123,
"low": 123,
"median": 123,
"high": 123,
"outlier_high": 123
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/skyscanner
/skyscanner/flights/prices/bands
Get the historical price distribution (price bands) for a flight route between two places by entity id for a given date, cabin class and trip type. Returns the typical price spread — low (20th percentile), median and high (80th percentile) price points plus the lower and upper outlier bounds, all in the market currency, along with the season the aggregation covers. Use it to judge whether a live fare is cheap or expensive versus what this route normally costs. For round trips also pass a return date. Origin and destination are Skyscanner place entity ids (resolve them via the places autosuggest).
Price: 1 credit
⚠️ Common errors: 412: No price-band history available for the given route, date and cabin combination
POST
/
api
/
skyscanner
/
flights
/
prices
/
bands
/skyscanner/flights/prices/bands
curl --request POST \
--url https://api.anysite.io/api/skyscanner/flights/prices/bands \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"origin": "<string>",
"destination": "<string>",
"depart_date": "2023-12-25",
"timeout": 300,
"return_date": "2023-12-25",
"cabin_class": "ECONOMY"
}
'import requests
url = "https://api.anysite.io/api/skyscanner/flights/prices/bands"
payload = {
"origin": "<string>",
"destination": "<string>",
"depart_date": "2023-12-25",
"timeout": 300,
"return_date": "2023-12-25",
"cabin_class": "ECONOMY"
}
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({
origin: '<string>',
destination: '<string>',
depart_date: '2023-12-25',
timeout: 300,
return_date: '2023-12-25',
cabin_class: 'ECONOMY'
})
};
fetch('https://api.anysite.io/api/skyscanner/flights/prices/bands', 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/flights/prices/bands",
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([
'origin' => '<string>',
'destination' => '<string>',
'depart_date' => '2023-12-25',
'timeout' => 300,
'return_date' => '2023-12-25',
'cabin_class' => 'ECONOMY'
]),
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/flights/prices/bands"
payload := strings.NewReader("{\n \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"depart_date\": \"2023-12-25\",\n \"timeout\": 300,\n \"return_date\": \"2023-12-25\",\n \"cabin_class\": \"ECONOMY\"\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/flights/prices/bands")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"depart_date\": \"2023-12-25\",\n \"timeout\": 300,\n \"return_date\": \"2023-12-25\",\n \"cabin_class\": \"ECONOMY\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/skyscanner/flights/prices/bands")
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 \"origin\": \"<string>\",\n \"destination\": \"<string>\",\n \"depart_date\": \"2023-12-25\",\n \"timeout\": 300,\n \"return_date\": \"2023-12-25\",\n \"cabin_class\": \"ECONOMY\"\n}"
response = http.request(request)
puts response.read_body[
{
"@type": "SkyscannerPriceBand",
"vertical": "<string>",
"currency": "<string>",
"season": "<string>",
"percentile_low": 123,
"percentile_high": 123,
"outlier_low": 123,
"low": 123,
"median": 123,
"high": 123,
"outlier_high": 123
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json