For programmatic visa and passport requirement lookups, use a Timatic-class data source — IATA Timatic is the authoritative database used by airlines, accessible via reseller APIs (e.g. Amadeus Travel Intelligence, VisaHQ API, Sherpa) rather than directly.
Query with: passenger nationality (ISO 3166-1 alpha-2), destination country (ISO 3166-1 alpha-2), transit countries if applicable, and document type (ordinary passport, diplomatic, etc.).
Parse the response for: visa_required (boolean), visa_on_arrival_available, entry_validity (single/multiple), minimum passport validity required (often 6 months beyond stay), and any health or vaccination requirements.
Flag cases that require human review: stateless persons, refugee travel documents, dual nationals, passengers with prior deportation or refusals, and any case where the API returns 'contact embassy' or 'verify with airline'.
Always surface a disclaimer that requirements change frequently and the passenger should verify with the official embassy or consulate — Timatic data is usually current but not legally binding.
Never make an autonomous booking decision based solely on a programmatic visa check for a route flagged as high-risk or ambiguous; require explicit human confirmation.
Known gotchas
Timatic data is updated by IATA but has a propagation lag — emergency travel restriction changes (e.g. pandemic-era bans) may take hours to reflect; always note the data_as_of timestamp from the API response.
Transit visa requirements are often overlooked — a passenger connecting through a country may need a transit visa even if not leaving the airport; always check transit countries, not just the final destination.
Visa-on-arrival and e-visa availability can differ by port of entry within the same country — a visa-on-arrival available at a major international airport may not be available at a smaller regional one; the API may or may not capture this granularity.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp