161 countries and territories138 of 193 UN membersmonthly to 2026-09back to 1926
Documentation / Guides / Trust the figures / 11 of 26

Historical data and bulk downloads

How far back the archive goes, the columns of every bulk file, and the manifest.

Guide

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:

ColumnWhat it holds
seriesThe series id, the same as in every API answer
countryISO 3166-1 alpha-2 code
measurearrivals, nights, spend, departures, occupancy or capacity
breakdowntotal, or the breakdown the series belongs to (origin, purpose, accommodation type, region)
nameThe series' name
unitThe unit, as in /v1/units
freqM (month), Q (quarter) or A (year)
periodYYYY-MM, YYYY-Qn or YYYY
valueThe figure as published; empty where the office left the cell blank
statusThe 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.