Seats
GET
/v1/seatsSeats offered by air each month on a European country's routes, by airport pair, by partner country, or in total beside the country's arrivals.
Analyst plan and upKey requiredJSON or CSVCached until the next release
Parameters
| Name | Type | Description |
|---|---|---|
| isorequired | string path | ISO 3166 two-letter country code e.g. CL |
| groupoptional | pair | country | total query | One row per route (pair), per partner country, or the country's total beside its arrivals e.g. country |
| airportoptional | string query | Only routes from one airport, by its four-letter code e.g. LEMD |
| partneroptional | string query | Only routes to one partner country e.g. GB |
| fromoptional | period query | First period to return e.g. 2025-01 |
| tooptional | period query | Last period to return e.g. 2026-08 |
| limitoptional | integer query | Rows per page, 1 to 1000 e.g. 100 |
Request
# Seat capacity by route
curl "https://api.tourismapi.com/v1/seats?iso=MT&group=country&from=2024-10" \
-H "X-API-Key: $TOURISM_API_KEY"const res = await fetch("https://api.tourismapi.com/v1/seats?iso=MT&group=country&from=2024-10", {
headers: { "X-API-Key": process.env.TOURISM_API_KEY }
});
if (!res.ok) throw new Error(`Tourism API ${res.status}`);
const { meta, data } = await res.json();
console.log(meta.data_as_of, data);import os, requests
r = requests.get(
"https://api.tourismapi.com/v1/seats?iso=MT&group=country&from=2024-10",
headers={"X-API-Key": os.environ["TOURISM_API_KEY"]},
timeout=10,
)
r.raise_for_status()
body = r.json()
print(body["meta"]["data_as_of"], body["data"])$ch = curl_init("https://api.tourismapi.com/v1/seats?iso=MT&group=country&from=2024-10");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["X-API-Key: " . getenv("TOURISM_API_KEY")],
]);
$body = json_decode(curl_exec($ch), true);
print_r($body["data"]);
Example response
{
"meta": {
"request_id": "req_ca0c23d2df",
"data_as_of": "2026-11-07T04:51:41Z",
"count": 81,
"country": "MT",
"group": "country",
"newest": "2024-12",
"note": "Seats offered on departing and arriving flights of the reporting country's airports, monthly; the tables run about a year behind.",
"joined": null
},
"data": [
{
"partner_country": "IT",
"period": "2024-12",
"seats": 151157
},
{
"partner_country": "GB",
"period": "2024-12",
"seats": 116130
},
{
"partner_country": "PL",
"period": "2024-12",
"seats": 70213
}
]
}Response fields
| Field | Type | Example |
|---|---|---|
| partner_country | string | IT |
| period | string | 2024-12 |
| seats | number | 151157 |