Historical data and bulk downloads
How far back the archive goes, the columns of every bulk file, and the manifest.
Annual figures go back to 1926 for some countries, and monthly figures to the 1970s for several. For analysis or model training, take a country or the whole archive as files instead of paging through calls (Intelligence plan).
curl -O "https://api.tourismapi.com/v1/bulk/AT.csv" -H "X-API-Key: $TOURISM_API_KEY" curl -O "https://api.tourismapi.com/v1/bulk/all.zip" -H "X-API-Key: $TOURISM_API_KEY" curl "https://api.tourismapi.com/v1/bulk/all.zip?manifest=1" -H "X-API-Key: $TOURISM_API_KEY"
The country file
UTF-8 CSV with a header row, one row per series and period, ordered by measure, headline series first. Columns:
| Column | What it holds |
|---|---|
series | The series id, the same as in every API answer |
country | ISO 3166-1 alpha-2 code |
measure | arrivals, nights, spend, departures, occupancy or capacity |
breakdown | total, or the breakdown the series belongs to (origin, purpose, accommodation type, region) |
name | The series' name |
unit | The unit, as in /v1/units |
freq | M (month), Q (quarter) or A (year) |
period | YYYY-MM, YYYY-Qn or YYYY |
value | The figure as published; empty where the office left the cell blank |
status | The office's own flag on the figure (provisional, estimated, confidential) when it gives one |
The file holds the periods your plan covers.
The whole archive
all.zip holds one CSV per country, named by its lower-case ISO code (at.csv), in the same columns, and manifest.json: built_at, countries, rows, and for each file its country, file, series, rows and bytes. ?manifest=1 returns the manifest alone, so you can tell whether a new build is out before downloading. The archive is rebuilt weekly and swapped in whole, so a download never catches half a build; a single country's CSV is always current.