Methods, every country
GET
/v1/methodsEvery country at once: its way of counting, how often and how late it publishes, and its flags (late publisher, revised, monthly stopped), to filter or rank countries by how timely their figures are. Free.
On every plan, Free includedKey requiredJSON or CSVCached until the next release
Parameters
| Name | Type | Description |
|---|---|---|
| limitoptional | integer query | Rows per page, 1 to 1000 e.g. 100 |
| cursoroptional | string query | The next value from the previous page |
Request
# How every country counts its visitors
curl "https://api.tourismapi.com/v1/methods" \
-H "X-API-Key: $TOURISM_API_KEY"const res = await fetch("https://api.tourismapi.com/v1/methods", {
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/methods",
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/methods");
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_fd593eed06",
"data_as_of": "2026-11-07T04:49:21Z",
"count": 161,
"built_at": "2026-11-07T03:51:02Z",
"world_median_delay_months": 4,
"by_method": {
"accommodation": 43,
"air": 9,
"border": 82,
"ports": 1,
"published": 21,
"survey": 5
},
"methods": {
"border": {
"label": "Border records",
"means": "Arrivals recorded at the border: the immigration record or arrival card taken of every traveller entering."
},
"accommodation": {
"label": "Accommodation registers",
"means": "Guests and nights reported by registered tourist accommodation (hotels and similar), counted by the establishments themselves each month."
},
"survey": {
"label": "Traveller survey",
"means": "A survey of travellers at airports and ports; the totals are estimated from their answers rather than counted one by one."
},
"air": {
"label": "Airport counts",
"means": "Passengers counted at the country's airports, arriving and departing."
},
"ports": {
"label": "Port counts",
"means": "Passengers counted as they arrive at the country's airports and sea ports."
},
"payments": {
"label": "Spending only",
"means": "Only the money visitors spend in the country is held, from its international payments figures; no count of visitors is held yet."
},
"published": {
"label": "Published counts",
"means": "Visitor figures as the country's statistics office or tourism authority publishes them; how they are counted is not described here yet."
}
}
},
"data": [
{
"country": "AL",
"name": "Albania",
"method": "published",
"method_label": "Published counts",
"written": false,
"basis": "series_name",
"counts": "arrivals",
"frequency": "monthly",
"frequency_before": null,
"latest": "2026-09",
"delay_months": {
"now": 2,
"world_median": 4
},
"revised_periods": 0,
"flags": [],
"summary": "Published counts, monthly, published within two months"
},
{
"country": "AS",
"name": "American Samoa",
"method": "border",
"method_label": "Border records",
"written": false,
"basis": "country",
"counts": "arrivals",
"frequency": "yearly",
"frequency_before": null,
"latest": "2020",
"delay_months": {
"now": 71,
"world_median": 4
},
"revised_periods": null,
"flags": [
"late_publisher",
"stopped",
"yearly_only"
],
"summary": "Border records, yearly, about 71 months late"
},
{
"country": "AO",
"name": "Angola",
"method": "border",
"method_label": "Border records",
"written": false,
"basis": "country",
"counts": "arrivals",
"frequency": "monthly",
"frequency_before": null,
"latest": "2023-12",
"delay_months": {
"now": 35,
"world_median": 4
},
"revised_periods": 0,
"flags": [
"late_publisher",
"stopped"
],
"summary": "Border records, monthly, about 35 months late"
}
]
}Response fields
| Field | Type | Example |
|---|---|---|
| country | string | AL |
| name | string | Albania |
| method | string | published |
| method_label | string | Published counts |
| written | boolean | false |
| basis | string | series_name |
| counts | string | arrivals |
| frequency | string | monthly |
| frequency_before | null | null |
| latest | string | 2026-09 |
| delay_months | object | object |
| revised_periods | number | 0 |
| flags | array | 0 items |
| summary | string | Published counts, monthly, published within two months |