World Tourism Monitor
GET
/v1/monitorOne edition of the World Tourism Monitor: headline figures, regions, movers, records, trust grades, coming holidays and exchange rates. The world or one region, any month from 2015. Each edition is kept as first published as well as revised: vintage=first returns the first, and meta says whether it has been revised since.
On every plan, Free includedKey requiredJSON or CSVCached until the next release
Parameters
| Name | Type | Description |
|---|---|---|
| monthoptional | string query | A month, YYYY-MM (the latest when left out) e.g. 2026-09 |
| editionoptional | string query | world (the default), asia-pacific, europe, americas, africa or middle-east e.g. world |
| vintageoptional | string query | latest (the default): the edition as rebuilt with countries' later revisions; first: the edition exactly as first published e.g. first |
Request
# The monthly report on world tourism, as data
curl "https://api.tourismapi.com/v1/monitor" \
-H "X-API-Key: $TOURISM_API_KEY"const res = await fetch("https://api.tourismapi.com/v1/monitor", {
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/monitor",
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/monitor");
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_2996221a5c",
"data_as_of": "2026-11-07T04:51:52Z",
"count": 1,
"edition": "world",
"month": "2026-08",
"vintage": "latest",
"first_published_at": "2026-10-29T09:31:42Z",
"revised_since": true
},
"data": {
"month": "2026-08",
"edition": "world",
"title": "World",
"built_at": "2026-11-06T05:41:48Z",
"headline": {
"countries": 77,
"growing": 50,
"compared": 75,
"yoy_pct": 2.3,
"vs_2019_pct": 107.2,
"records": 21,
"trust": 99
},
"regions": [
{
"region": "americas",
"name": "Americas",
"countries": 11,
"yoy_pct": 5.5,
"vs_2019_pct": 129.8
},
{
"region": "africa",
"name": "Africa",
"countries": 4,
"yoy_pct": 9.5,
"vs_2019_pct": 108.8
},
{
"region": "middle-east",
"name": "Middle East",
"countries": 2,
"yoy_pct": 6.4,
"vs_2019_pct": 71.9
}
],
"rising": [
{
"country": "KR",
"name": "South Korea",
"region": "asia-pacific",
"measure": "arrivals",
"unit": "visitors",
"series": "sr_00pwc2k1",
"basis": "border",
"value": 2245293,
"year_before": 1820332,
"yoy_pct": 23.3,
"vs_2019_pct": 141.5,
"series_break": false,
"pct_of_record": 100,
"record": true
},
{
"country": "VN",
"name": "Vietnam",
"region": "asia-pacific",
"measure": "arrivals",
"unit": "visitors",
"series": "sr_6e2r1wmy",
"basis": "border",
"value": 1994469,
"year_before": 1684972,
"yoy_pct": 18.4,
"vs_2019_pct": 131.9,
"series_break": false,
"pct_of_record": 81.3,
"record": false
},
{
"country": "MN",
"name": "Mongolia",
"region": "asia-pacific",
"measure": "arrivals",
"unit": "",
"series": "sr_r4xbnvv4",
"basis": "border",
"value": 165261,
"year_before": 141044,
"yoy_pct": 17.2,
"vs_2019_pct": null,
"series_break": false,
"pct_of_record": 100,
"record": true
}
],
"falling": [
{
"country": "CR",
"name": "Costa Rica",
"region": "americas",
"measure": "arrivals",
"unit": "tourists",
"series": "sr_2gfft2v7",
"basis": "border",
"value": 189772,
"year_before": 199959,
"yoy_pct": -5.1,
"vs_2019_pct": 84.2,
"series_break": false,
"pct_of_record": 50,
"record": false
},
{
"country": "HU",
"name": "Hungary",
"region": "europe",
"measure": "arrivals",
"unit": "Number",
"series": "sr_n39qgps6",
"basis": "stays",
"value": 823719,
"year_before": 858076,
"yoy_pct": -4,
"vs_2019_pct": 88.7,
"series_break": false,
"pct_of_record": 88.7,
"record": false
},
{
"country": "SM",
"name": "San Marino",
"region": "europe",
"measure": "arrivals",
"unit": "visitors",
"series": "sr_g73nf5yb",
"basis": "border",
"value": 369558,
"year_before": 382005,
"yoy_pct": -3.3,
"vs_2019_pct": null,
"series_break": false,
"pct_of_record": 96.7,
"record": false
}
],
"records": [
{
"country": "AT",
"name": "Austria",
"region": "europe",
"measure": "arrivals",
"unit": "Number",
"series": "sr_7p2f5ceg",
"basis": "stays",
"value": 4029621,
"year_before": 3938140,
"yoy_pct": 2.3,
"vs_2019_pct": 113.9,
"series_break": false,
"pct_of_record": 100,
"record": true
},
{
"country": "BA",
"name": "Bosnia and Herzegovina",
"region": "europe",
"measure": "nights",
"unit": "nights",
"series": "sr_226y4v9p",
"basis": "border",
"value": 560221,
"year_before": 535986,
"yoy_pct": 4.5,
"vs_2019_pct": 123.1,
"series_break": false,
"pct_of_record": 100,
"record": true
},
{
"country": "BO",
"name": "Bolivia",
"region": "americas",
"measure": "arrivals",
"unit": "travellers",
"series": "sr_4ajhn206",
"basis": "border",
"value": 193686.5,
"year_before": 134458,
"yoy_pct": 44,
"vs_2019_pct": 124.6,
"series_break": false,
"pct_of_record": 100,
"record": true
}
],
"near_record": [
{
"country": "JO",
"name": "Jordan",
"region": "middle-east",
"measure": "arrivals",
"unit": "visitors",
"series": "sr_1y5dk6p4",
"basis": "border",
"value": 823707,
"year_before": 713443,
"yoy_pct": 15.5,
"vs_2019_pct": 136.8,
"series_break": false,
"pct_of_record": 100,
"record": true
},
{
"country": "KR",
"name": "South Korea",
"region": "asia-pacific",
"measure": "arrivals",
"unit": "visitors",
"series": "sr_00pwc2k1",
"basis": "border",
"value": 2245293,
"year_before": 1820332,
"yoy_pct": 23.3,
"vs_2019_pct": 141.5,
"series_break": false,
"pct_of_record": 100,
"record": true
},
{
"country": "MN",
"name": "Mongolia",
"region": "asia-pacific",
"measure": "arrivals",
"unit": "",
"series": "sr_r4xbnvv4",
"basis": "border",
"value": 165261,
"year_before": 141044,
"yoy_pct": 17.2,
"vs_2019_pct": null,
"series_break": false,
"pct_of_record": 100,
"record": true
}
],
"holidays_next_month": [
{
"name": "Independence Day",
"date": "2026-09-06",
"countries": [
"SZ"
]
},
{
"name": "Unification Day (observed)",
"date": "2026-09-07",
"countries": [
"BG"
]
},
{
"name": "Independence Day (observed)",
"date": "2026-09-07",
"countries": [
"SZ"
]
}
],
"fx": [
{
"currency": "AUD",
"per_eur": 1.6325,
"change_pct": 0.4
},
{
"currency": "THB",
"per_eur": 38.2698,
"change_pct": 0
},
{
"currency": "INR",
"per_eur": 110.6529,
"change_pct": -1.1
}
],
"countries": [
{
"country": "TO",
"name": "Tonga",
"region": "asia-pacific",
"measure": "arrivals",
"unit": "visitors",
"series": "sr_t4t8ttme",
"basis": "border",
"value": 7655,
"year_before": 6532,
"yoy_pct": 17.2,
"vs_2019_pct": null,
"series_break": false,
"pct_of_record": 66.2,
"record": false,
"trust": {
"fresh": 100,
"complete": 100,
"stable": 100,
"official": 100,
"score": 100,
"grade": "A"
}
},
{
"country": "TR",
"name": "Turkey",
"region": "europe",
"measure": "arrivals",
"unit": "visitors",
"series": "sr_fmxzvh7d",
"basis": "border",
"value": 8064709,
"year_before": 8136184,
"yoy_pct": -0.9,
"vs_2019_pct": 114.9,
"series_break": false,
"pct_of_record": 95.7,
"record": false,
"trust": {
"fresh": 100,
"complete": 100,
"stable": 100,
"official": 100,
"score": 100,
"grade": "A"
}
},
{
"country": "VN",
"name": "Vietnam",
"region": "asia-pacific",
"measure": "arrivals",
"unit": "visitors",
"series": "sr_6e2r1wmy",
"basis": "border",
"value": 1994469,
"year_before": 1684972,
"yoy_pct": 18.4,
"vs_2019_pct": 131.9,
"series_break": false,
"pct_of_record": 81.3,
"record": false,
"trust": {
"fresh": 100,
"complete": 98,
"stable": 100,
"official": 100,
"score": 99,
"grade": "A"
}
}
],
"method": "Each country's monthly headline (arrivals, or nights where arrivals are not counted). Changes are combined as a geometric mean, each country weighted by the square root of its size in 2019, so the large destinations count for more and none decides it alone. Trust is the data as held today: freshness, completeness over five years, revisions and official status, 0 to 100.",
"status": "complete",
"highlights": [],
"page": "https://tourismapi.com/monitor/2026-08",
"pdf": "https://tourismapi.com/monitor/2026-08.pdf",
"cite": "Tourism API, World Tourism Monitor: World, August 2026. https://tourismapi.com/monitor/2026-08"
}
}Response fields
| Field | Type | Example |
|---|---|---|
| month | string | 2026-08 |
| edition | string | world |
| title | string | World |
| built_at | string | 2026-11-06T05:41:48Z |
| headline | object | object |
| regions | array | 3 items |
| rising | array | 3 items |
| falling | array | 3 items |
| records | array | 3 items |
| near_record | array | 3 items |
| holidays_next_month | array | 3 items |
| fx | array | 3 items |
| countries | array | 3 items |
| method | string | Each country's monthly headline (arrivals, or nights where arrivals are not counted). Changes are combined as a geometric mean, each country weighted by the square root of its size in 2019, so the large destinations count for more and none decides it alone. Trust is the data as held today: freshness, completeness over five years, revisions and official status, 0 to 100. |
| status | string | complete |
| highlights | array | 0 items |
| page | string | https://tourismapi.com/monitor/2026-08 |
| string | https://tourismapi.com/monitor/2026-08.pdf | |
| cite | string | Tourism API, World Tourism Monitor: World, August 2026. https://tourismapi.com/monitor/2026-08 |