Find series
GET
/v1/seriesBrowse the 2.75 million series. Filter by country, measure and frequency; every result carries its id for the calls below.
Developer plan and upKey requiredJSON or CSVCached until the next release
Parameters
| Name | Type | Description |
|---|---|---|
| countryoptional | string query | One or more ISO codes, comma separated e.g. CL,BA,AT |
| measurerequired | string query | arrivals, nights, spend, departures, occupancy or capacity e.g. arrivals |
| freqoptional | M | Q | A query | Frequency: monthly, quarterly or annual e.g. M |
| limitoptional | integer query | Rows per page, 1 to 1000 e.g. 100 |
| cursoroptional | string query | The next value from the previous page |
Request
# Find series by country, measure, frequency or text
curl "https://api.tourismapi.com/v1/series?country=CL&measure=arrivals" \
-H "X-API-Key: $TOURISM_API_KEY"const res = await fetch("https://api.tourismapi.com/v1/series?country=CL&measure=arrivals", {
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/series?country=CL&measure=arrivals",
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/series?country=CL&measure=arrivals");
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_0ba6034bd6",
"data_as_of": "2026-10-20T04:47:58Z",
"count": 3,
"next_cursor": null,
"page": 1,
"per_page": 100,
"total": 3,
"total_pages": 1,
"next_page": null,
"prev_page": null
},
"data": [
{
"id": "sr_gnvbx5rt",
"alias": "cl.arrivals.total.a",
"country": "CL",
"name": "CHL, _Z, ARRIVALS, PS, _T, _Z, TDS, A",
"measure": "arrivals",
"breakdown": null,
"freq": "A",
"unit": "PS",
"first": "2008",
"last": "2024",
"points": 17,
"headline": true
},
{
"id": "sr_f93x9ssn",
"alias": null,
"country": "CL",
"name": "CHL, _Z, ARRIVALS, PS, SAME_DAY, _Z, TDS, A",
"measure": "arrivals",
"breakdown": null,
"freq": "A",
"unit": "PS",
"first": "2008",
"last": "2024",
"points": 17,
"headline": false
},
{
"id": "sr_swj304b6",
"alias": null,
"country": "CL",
"name": "Tourist arrivals in Chile: hotels",
"measure": "arrivals",
"breakdown": "accommodation",
"freq": "M",
"unit": "arrivals",
"first": "2026-06",
"last": "2026-08",
"points": 3,
"headline": false
}
]
}Response fields
| Field | Type | Example |
|---|---|---|
| id | string | sr_gnvbx5rt |
| alias | string | cl.arrivals.total.a |
| country | string | CL |
| name | string | CHL, _Z, ARRIVALS, PS, _T, _Z, TDS, A |
| measure | string | arrivals |
| breakdown | null | null |
| freq | string | A |
| unit | string | PS |
| first | string | 2008 |
| last | string | 2024 |
| points | number | 17 |
| headline | boolean | true |