Published

Contributing

Short-stay tourist entry requirements for all 38,612 passport-destination pairs. Every value that departs from the base snapshot names the government page it came from and the date a human read it. CC BY 4.0, DOI on Zenodo. Built for visachecker.org.

Contributing

Reporting a wrong row

Open an issue with the pair and a link to the government page that contradicts us. That is the whole process. You do not need to know the law, and you do not need to be sure you are right — if the official page reads differently from our row, the disagreement is worth an issue either way.

Errors in the dangerous direction get priority: we would much rather hear that we told someone no authorisation was needed when one was, than that we sent someone through an unnecessary e-visa form. The first costs a flight; the second costs fifty dollars.

What counts as a source

In descending order of authority:

  1. A gazetted instrument — regulations, statutory instruments, decrees. These settle any disagreement, including a disagreement with the issuing government's own website. Published tables go out of date; the Schedule is the law.
  2. The destination's immigration department or ministry of foreign affairs.
  3. The destination's official e-visa or ETA portal.
  4. The destination's embassy in a specific country, for a bilateral arrangement that the national pages do not mention.

IATA Timatic is what airlines actually check at the gate and is genuinely authoritative in the operational sense, but it is not public, so we cannot cite it and neither can you.

Wikipedia, aggregator sites, other visa datasets, airline help pages and travel blogs are not sources for this purpose. They are frequently right; they are never citable, because they are the layer that copying errors live in.

Changes we will decline

Adding a duration where the source does not state one. If a country's schedule grants an exemption without naming a length of stay, max_stay_days stays empty. Filling it with 30 or 90 because that is the regional norm is the single most common way visa datasets acquire fictions.

Reclassifying an ETA as visa free because the destination's own marketing calls it visa-free travel. We know. It still stops you at check-in.

Non-tourist regimes. Business, work, study, transit, crew, medical travel, residence permits, and diplomatic, service or official passports are all out of scope by design, and adding them piecemeal to a table that claims to be about tourism would be worse than not having them.

Conditional entitlements that cannot be expressed as one value. "Visa free if you hold a valid US visa" is real, common and important, and a single requirement column cannot carry it. Open an issue anyway if you find one that is missing from our notes — we would rather record it in the changelog prose than lose it.

Editing the data directly

Please do not send a pull request that edits data/*.csv. Those files are build output; the next build overwrites them. The upstream source is the site's own data layer, and the maintainer applies corrections there so that the dataset, the website and the change journal stay in agreement. An issue with a link gets your correction in faster than a pull request will.

Pull requests against scripts/, the README, the schema descriptor or the issue templates are very welcome.

Verification dates

Every corrected row carries verified: the date a human last re-read the primary source and found it still true. Re-verifying an unchanged rule is real work and resets that clock honestly — it answers "how long since anyone looked", which is the question a reader of a visa dataset actually has.

If you re-check a row and find it unchanged, say so in an issue. "Still correct as of today, here is the page" is a useful contribution, not a non-event.