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-10-20T04:48:24Z",
"count": 1,
"edition": "world",
"month": "2026-07",
"vintage": "latest",
"first_published_at": "2026-10-13T21:08:06Z",
"revised_since": true
},
"data": {
"month": "2026-07",
"edition": "world",
"title": "World",
"built_at": "2026-10-19T15:42:30Z",
"headline": {
"countries": 71,
"growing": 52,
"compared": 71,
"yoy_pct": 4,
"vs_2019_pct": 104.5,
"records": 13,
"trust": 99
},
"regions": [
{
"region": "americas",
"name": "Americas",
"countries": 10,
"yoy_pct": 4.1,
"vs_2019_pct": 101.1
},
{
"region": "africa",
"name": "Africa",
"countries": 4,
"yoy_pct": 7.5,
"vs_2019_pct": 115.9
},
{
"region": "middle-east",
"name": "Middle East",
"countries": 2,
"yoy_pct": 23.2,
"vs_2019_pct": 70.4
}
],
"rising": [
{
"country": "XK",
"name": "Kosovo",
"region": "europe",
"measure": "arrivals",
"unit": "Number",
"series": "sr_zqr55sk9",
"basis": "stays",
"value": 66955,
"year_before": 50825,
"yoy_pct": 31.7,
"vs_2019_pct": null,
"series_break": true,
"pct_of_record": 100,
"record": true
},
{
"country": "IL",
"name": "Israel",
"region": "middle-east",
"measure": "arrivals",
"unit": "number",
"series": "sr_4jryaj4q",
"basis": "border",
"value": 109300,
"year_before": 85000,
"yoy_pct": 28.6,
"vs_2019_pct": 33.9,
"series_break": false,
"pct_of_record": 22.5,
"record": false
},
{
"country": "SK",
"name": "Slovakia",
"region": "europe",
"measure": "arrivals",
"unit": "Number",
"series": "sr_m4e713de",
"basis": "stays",
"value": 315126,
"year_before": 256276,
"yoy_pct": 23,
"vs_2019_pct": 110,
"series_break": false,
"pct_of_record": 100,
"record": true
}
],
"falling": [
{
"country": "AU",
"name": "Australia",
"region": "asia-pacific",
"measure": "arrivals",
"unit": "NUM",
"series": "sr_bgakrnej",
"basis": "border",
"value": 710980,
"year_before": 743210,
"yoy_pct": -4.3,
"vs_2019_pct": 90,
"series_break": false,
"pct_of_record": 66,
"record": false
},
{
"country": "CY",
"name": "Cyprus",
"region": "europe",
"measure": "arrivals",
"unit": "Number",
"series": "sr_890crw2r",
"basis": "stays",
"value": 413874,
"year_before": 430908,
"yoy_pct": -4,
"vs_2019_pct": 112.8,
"series_break": false,
"pct_of_record": 93.5,
"record": false
},
{
"country": "SG",
"name": "Singapore",
"region": "asia-pacific",
"measure": "arrivals",
"unit": "Number",
"series": "sr_x860p4b7",
"basis": "border",
"value": 1515955,
"year_before": 1571981,
"yoy_pct": -3.6,
"vs_2019_pct": 87.9,
"series_break": false,
"pct_of_record": 86.5,
"record": false
}
],
"records": [
{
"country": "RS",
"name": "Serbia",
"region": "europe",
"measure": "arrivals",
"unit": "Number",
"series": "sr_7w10s48w",
"basis": "stays",
"value": 283890,
"year_before": 273713,
"yoy_pct": 3.7,
"vs_2019_pct": 131.6,
"series_break": false,
"pct_of_record": 100,
"record": true
},
{
"country": "SE",
"name": "Sweden",
"region": "europe",
"measure": "arrivals",
"unit": "Number",
"series": "sr_3p3g5pxe",
"basis": "stays",
"value": 1920099,
"year_before": 1725525,
"yoy_pct": 11.3,
"vs_2019_pct": 119.7,
"series_break": false,
"pct_of_record": 100,
"record": true
},
{
"country": "SK",
"name": "Slovakia",
"region": "europe",
"measure": "arrivals",
"unit": "Number",
"series": "sr_m4e713de",
"basis": "stays",
"value": 315126,
"year_before": 256276,
"yoy_pct": 23,
"vs_2019_pct": 110,
"series_break": false,
"pct_of_record": 100,
"record": true
}
],
"near_record": [
{
"country": "DE",
"name": "Germany",
"region": "europe",
"measure": "arrivals",
"unit": "Number",
"series": "sr_1pwb6msd",
"basis": "stays",
"value": 4847525,
"year_before": 4666150,
"yoy_pct": 3.9,
"vs_2019_pct": 100.3,
"series_break": false,
"pct_of_record": 100,
"record": true
},
{
"country": "LI",
"name": "Liechtenstein",
"region": "europe",
"measure": "arrivals",
"unit": "Number",
"series": "sr_dsta93xs",
"basis": "stays",
"value": 22514,
"year_before": 15838,
"yoy_pct": 42.2,
"vs_2019_pct": 171.9,
"series_break": false,
"pct_of_record": 100,
"record": true
},
{
"country": "LU",
"name": "Luxembourg",
"region": "europe",
"measure": "arrivals",
"unit": "Number",
"series": "sr_r4tdem87",
"basis": "stays",
"value": 204693,
"year_before": 183375,
"yoy_pct": 11.6,
"vs_2019_pct": 164.7,
"series_break": false,
"pct_of_record": 100,
"record": true
}
],
"holidays_next_month": [
{
"name": "Day of the Republic",
"date": "2026-08-02",
"countries": [
"MK"
]
},
{
"name": "Agrarian Reform Day",
"date": "2026-08-02",
"countries": [
"BO"
]
},
{
"name": "Commerce Day",
"date": "2026-08-03",
"countries": [
"IS"
]
}
],
"fx": [
{
"currency": "AUD",
"per_eur": 1.6396,
"change_pct": 0
},
{
"currency": "THB",
"per_eur": 38.2595,
"change_pct": -1
},
{
"currency": "INR",
"per_eur": 109.4158,
"change_pct": -0.1
}
],
"countries": [
{
"country": "TN",
"name": "Tunisia",
"region": "africa",
"measure": "arrivals",
"unit": "visitors",
"series": "sr_pxc56ykb",
"basis": "border",
"value": 1113200,
"year_before": 1065600,
"yoy_pct": 4.5,
"vs_2019_pct": null,
"series_break": false,
"pct_of_record": 90.2,
"record": false,
"trust": {
"fresh": 100,
"complete": 96,
"stable": 100,
"official": 100,
"score": 99,
"grade": "A"
}
},
{
"country": "US",
"name": "United States",
"region": "americas",
"measure": "arrivals",
"unit": "arrivals",
"series": "sr_4fr14e35",
"basis": "border",
"value": 6248242,
"year_before": 6252054,
"yoy_pct": -0.1,
"vs_2019_pct": 81.1,
"series_break": false,
"pct_of_record": 76.5,
"record": false,
"trust": {
"fresh": 100,
"complete": 85,
"stable": 100,
"official": 100,
"score": 96,
"grade": "A"
}
},
{
"country": "VN",
"name": "Vietnam",
"region": "asia-pacific",
"measure": "arrivals",
"unit": "visitors",
"series": "sr_6e2r1wmy",
"basis": "border",
"value": 1665846,
"year_before": 1562588,
"yoy_pct": 6.6,
"vs_2019_pct": 126.6,
"series_break": false,
"pct_of_record": 67.9,
"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",
"lede": "Seventy-one countries reported July figures, of which 52 registered growth. International arrivals rose 4.0% on a year, lifting the global level to 104.5% of the same month in 2019. Europe led the larger regions with a 4.2% gain, while the Middle East posted the steepest rise at 23.2%. Africa reached 115.9% of its 2019 benchmark, the highest of any region.",
"highlights": [
{
"tag": "Movers",
"text": "Bhutan led the risers with arrivals up 101.2% on a year."
},
{
"tag": "Records",
"text": "Eight countries, including Germany and South Korea, set a record July."
},
{
"tag": "Currencies",
"text": "The Korean won rose 3.5% against the euro, the strongest move in the basket."
}
],
"page": "https://tourismapi.com/monitor/2026-07",
"pdf": "https://tourismapi.com/monitor/2026-07.pdf",
"cite": "Tourism API, World Tourism Monitor: World, July 2026. https://tourismapi.com/monitor/2026-07"
}
}Response fields
| Field | Type | Example |
|---|---|---|
| month | string | 2026-07 |
| edition | string | world |
| title | string | World |
| built_at | string | 2026-10-19T15:42:30Z |
| 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 |
| lede | string | Seventy-one countries reported July figures, of which 52 registered growth. International arrivals rose 4.0% on a year, lifting the global level to 104.5% of the same month in 2019. Europe led the larger regions with a 4.2% gain, while the Middle East posted the steepest rise at 23.2%. Africa reached 115.9% of its 2019 benchmark, the highest of any region. |
| highlights | array | 3 items |
| page | string | https://tourismapi.com/monitor/2026-07 |
| string | https://tourismapi.com/monitor/2026-07.pdf | |
| cite | string | Tourism API, World Tourism Monitor: World, July 2026. https://tourismapi.com/monitor/2026-07 |