Docs/Skills/Travel Entry Requirements

Travel Entry Requirements

Passport validity, blank pages, yellow fever and travel advisories by destination

OperationalCredits 20 per callp50 237msTransportation

Overview

Covers about 228 countries and territories. Passport validity is normalized to a rule and a number, such as 6 months after arrival, 3 months after departure or valid for the whole stay, with a one-line summary and plain-English guidance alongside. Send trip dates and a passport expiry date and the API works out the date the passport must be valid until and whether it passes. Rules come from UK FCDO travel advice, published for British passport holders; passport validity, blank page and vaccination rules are usually the same for every foreign visitor, while visa rules are not (see the Visa Requirements API). US advisory levels come from the State Department. Data is checked daily. Confirm with the destination's official source before travel.

Live Test Travel Entry Requirements Skill →

The tool

Once your client is connected to the VerveKit server, this appears in its tool list as TravelEntryRequirements. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.

Tool call
{
  "name": "TravelEntryRequirements",
  "arguments": {
    "destination": "TH"
  }
}

You do not name the tool yourself; the model picks it. Asking about TH in the terms this skill covers is enough for it to reach for TravelEntryRequirements on its own — naming it explicitly also works, and is the way to force the call.

Connecting

One server URL covers every skill in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.

{
  "mcpServers": {
    "vervekit": {
      "url": "https://api.vervekit.com/v1/mcp"
    }
  }
}

Per-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.

Arguments

These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.

ArgumentTypeDescription
destinationRequiredstringThe destination country or territory: a two-letter ISO code such as TH, or an English name such as Thailand
length 0–60
arrivalDateOptionalPremiumstringTrip arrival date (YYYY-MM-DD), for passportCheck
date
departureDateOptionalPremiumstringTrip departure date (YYYY-MM-DD), for passportCheck
date
passportExpiryOptionalPremiumstringThe traveler's passport expiry date (YYYY-MM-DD); passportCheck says whether it meets the destination's rule
date

What the model gets back

The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.

Result
{
  "status": "ok",
  "error": null,
  "data": {
    "destination": "TH",
    "destinationName": "Thailand",
    "passportValidity": {
      "rule": "months_after_arrival",
      "months": 6,
      "days": null,
      "summary": "Valid for at least 6 months after arrival",
      "issuedWithinYears": null,
      "guidance": "Your passport must be valid for at least 6 months after the day you arrive. It needs at least 1 blank page."
    },
    "blankPagesRequired": 1,
    "passportCheck": null,
    "yellowFever": {
      "certificate": "from_risk_countries",
      "certificateLabel": "Certificate required only when arriving from, or transiting, a country with yellow fever risk",
      "guidance": "A yellow fever vaccination certificate is required only if you are arriving from, or have transited through, a country with a risk of yellow fever transmission. Travelers coming directly from elsewhere do not need one."
    },
    "advisories": {
      "uk": {
        "level": "avoid_all_but_essential_travel_to_parts",
        "label": "Advises against all but essential travel to parts of the country",
        "url": "https://www.gov.uk/foreign-travel-advice/thailand"
      },
      "us": {
        "level": 1,
        "label": "Exercise normal precautions",
        "url": "https://travel.state.gov/content/tsg_aem/us/en/home/international-travel/travel-advisories/destination.tha.html"
      }
    },
    "rulesUpdatedAt": "2026-10-12T10:20:34+01:00",
    "updatedAt": "2026-11-14T08:32:16.103Z"
  }
}

Response fields

Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.

FieldTypeExampleDescription
destinationstringTHDestination, ISO 3166 two-letter code
destinationNamestringThailandDestination name
passportValidityobject{…}
passportValidity.rulestringmonths_after_arrivalmonths_after_arrival, months_after_departure, days_after_arrival, days_after_departure, months_after_visa_application, months_after_visa_expiry, duration_of_stay, valid_on_arrival, or null when no rule is published
passportValidity.monthsnumber6Minimum months of passport validity the rule requires, or null
passportValidity.daysobjectnullMinimum days of passport validity the rule requires, when the rule is stated in days, or null
passportValidity.summarystringValid for at least 6 months after arrivalThe rule as one sentence, e.g. Valid for at least 6 months after arrival
passportValidity.issuedWithinYearsPremiumobjectnull10 when the passport must have been issued within the last 10 years (Schengen area rules), else null
passportValidity.guidancePremiumstringYour passport must be valid for at least 6 months after the day you arrive. It needs at least 1 blan…Plain-English guidance combining the validity rule, the issue-date limit and blank pages, e.g. Your passport must be valid for at least 6 months after the day you arrive. It needs at least 1 blank page.
blankPagesRequiredPremiumnumber1Minimum blank passport pages required on entry, or null when none is stated
passportCheckobjectnull
yellowFeverobject{…}
yellowFever.certificatestringfrom_risk_countriesall_travellers, from_risk_countries, not_listed or see_text
yellowFever.certificateLabelstringCertificate required only when arriving from, or transiting, a country with yellow fever riskReadable form of yellowFever.certificate
yellowFever.guidancePremiumstringA yellow fever vaccination certificate is required only if you are arriving from, or have transited…Plain-English guidance on the yellow fever certificate requirement
advisoriesobject{…}
advisories.ukobject{…}
advisories.uk.levelPremiumstringavoid_all_but_essential_travel_to_partsUK travel advice level: no_warnings, avoid_all_but_essential_travel_to_parts, avoid_all_travel_to_parts, avoid_all_but_essential_travel or avoid_all_travel
advisories.uk.labelPremiumstringAdvises against all but essential travel to parts of the countryReadable form of the UK advice level
advisories.uk.urlPremiumstringhttps://www.gov.uk/foreign-travel-advice/thailandUK travel advice page for the destination
advisories.usobject{…}
advisories.us.levelPremiumnumber1US State Department advisory level, 1 (exercise normal precautions) to 4 (do not travel); advisories.us is null when none is published
advisories.us.labelPremiumstringExercise normal precautionsReadable form of the US advisory level
advisories.us.urlPremiumstringhttps://travel.state.gov/content/tsg_aem/us/en/home/international-travel/travel-advisories/destinati…US State Department advisory page for the destination
rulesUpdatedAtstring2026-10-12T10:20:34+01:00When this destination's entry rules were last revised (ISO 8601)
updatedAtstring2026-11-14T08:32:16.103ZWhen the dataset was last refreshed (ISO 8601)

Failure modes

Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.

StatusWhat it means
400 / 422The arguments did not validate. The message names the offending one.
401The OAuth session is invalid or expired — reconnect the server.
403Blocked by a key restriction or an IP allow-list. Never a bad identity.
404This skill is not part of VerveKit. Check the catalog.
429Out of credits, or a brief rate limit. The message tells them apart.

A call costs 20 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.

Use cases

Booking Checkout Checks
Booking sites compare the traveler's passport expiry date with the destination's validity rule and warn before payment when it falls short.
Corporate Travel Risk
Travel management tools show the UK and US advisory levels for each trip and route level 3 and 4 destinations for approval.
Travel Agency Itineraries
Agencies print passport validity, blank page and yellow fever requirements on every itinerary instead of researching each country by hand.
Trip Planning Apps
Itinerary apps list what each stop needs, such as a yellow fever certificate after a stop in a risk country, so travelers prepare before they leave.

Other ways to use Travel Entry Requirements

Set up Travel Entry Requirements on VerveKit, or reach the same source a different way. Your VerveKit account and credits work on all of them — one key, one balance.

Call it as a REST APIOne HTTPS endpoint and an x-api-key header, with SDKs for Node, Python and .NET.APIVerve →Reference →
Google Sheets or ExcelA =VERVE() formula fills a column — no script, no export, recalculates in place.VerveSheets →Reference →
Ground an agent on itA cited, machine-checkable fact your model can't produce on its own.VerveContext →Reference →

More in Transportation:

Was this page helpful?