| Concern | Endpoint family |
|---|---|
| Visa, document validity, proof of funds, return ticket, accommodation, customs, insurance | /entry-requirements |
| Vaccines required or recommended for a destination | /health-requirements |
| Vaccine catalogue and metadata (doses, lead time, immunity duration) | /vaccines |
Personalized vs general
Entry requirements come in two flavours:- General —
fromCountryIdisnull. Apply to every traveler regardless of nationality. - Country-specific —
fromCountryIdis set. Override the general rule for travelers carrying that passport.
/entry-requirements/personalized
with the traveler’s passport country and destination, and it returns
the most specific applicable rule plus context about why.
applicabilityContext
explaining the matching logic:
Enforcement levels
Each requirement field uses an enforcement vocabulary that captures how the rule plays out at the border, not just whether it exists on paper:| Value | Meaning |
|---|---|
required | Mandatory. Always checked at entry. |
may_be_asked | Legally required but enforcement is discretionary — the officer decides. |
recommended | Strongly suggested but not enforced. |
not_required | Not required for this traveler/destination. |
required and may_be_asked matters in practice:
proof of funds, return ticket, and accommodation are commonly
may_be_asked rather than universal blockers. Surfacing the
distinction lets your UI tell travelers what to prepare for, not just
what is mandatory.
Visa requirement types
ThevisaRequirementType field on an entry requirement uses one of:
| Value | Meaning |
|---|---|
visa_free | No visa needed for the duration in maxStayDays |
visa_on_arrival | Visa is issued at the border |
e_visa | Online application; see visaApplicationUrl |
eta | Electronic travel authorization required |
visa_required | Embassy / consulate visa required in advance |
not_allowed | Entry not permitted for this passport |
Health requirements
/health-requirements?countryId={id} returns vaccines required or
recommended for a destination. Pass cityId as well to filter to
city-specific or general (non-region-specific) requirements only —
useful for destinations like Iguazu Falls where yellow fever applies
to the northern jungle but not Buenos Aires.
Each row references a vaccine by id and includes the enforcement
level, region scope, and notes. The full vaccine catalogue (doses,
lead time before travel, booster info) lives at /vaccines.
Data freshness
Every requirement has alastVerifiedAt timestamp. Records older than
six months are flagged stale and re-verified by the editorial team.
Build your UX with lastVerifiedAt visible — travelers should be told
when the source is recent, and when to double-check with an official
government link before booking.