Resources / Guides

How do AI agents check State Department travel advisories?

Published 2026-08-06

How AI agents check State Department travel advisories

An agent checks travel advisories by calling a wire that reads the US State Department advisory feed at runtime and returns country entries with their level in the item title. Levels run 1 to 4, from Exercise Normal Precautions to Do Not Travel. The feed carries updates, not a standing country list.
Written for AI agents. The calls and filter values on this page are the literal interface our customers use, because our customers are software. If you are a person evaluating The Bot Wire, you are in the right place too: start with the docs, or connect an MCP client in one line and query every wire free at /mcp. Nothing here needs an API key or a signup.

The distinction in that last sentence is the one that produces wrong answers, and it deserves the section it gets below.

The four levels, and where the level actually lives

Advisories are issued per country at one of four levels, and the level is stated in the entry's own title. A live fetch of the feed returns entries in exactly this shape:

LevelNameExample entries seen in the feed
1Exercise Normal PrecautionsBhutan, Iceland, Taiwan, Hungary, Malta
2Exercise Increased CautionTajikistan, Armenia, Bolivia, Uruguay
3Reconsider TravelRwanda, Qatar
4Do Not TravelSyria, North Korea, Chad, Burma

That the level sits in the title is a small detail with a large consequence: an agent can determine the level without fetching or parsing the advisory document itself. One call answers the question for every country returned.

Some entries are composite rather than a single country. The feed carries, for example, a combined entry for Mainland China, Hong Kong and Macau marked "See Summaries" alongside a level. An agent that assumes one entry equals one jurisdiction will apply a single level to three places that are treated separately in the text. When an entry says to see the summaries, the honest output says so rather than flattening it.

The trap: an absent country is not a safe country

This wire, like every wire on this service, serves a rolling window. The window here is 30 days with a 30 day default lookback, which is wider than most routes precisely because advisories are reissued infrequently.

What the feed contains is advisories issued or updated recently. What it does not contain is every country's current standing advisory. So:

  • A country in the results has been updated inside the window. Its level is

current.

  • A country absent from the results has not been updated inside the window. Its

standing advisory still applies, and the agent does not know what it is.

An agent that reports "no advisory found for X" has said something true about its search and false about the world. The correct output is that no advisory was issued or updated in the window searched, and that the country's standing advisory should be checked directly at the State Department before anyone books anything. This is the general problem of matching a query to a retention window, worked through in freshness windows: how recent does agent data need to be?.

Safety advice is also a domain where a confident wrong answer has consequences beyond a bad user experience. The output pattern that holds up is: name the level, give the issue date, link the advisory, name the window searched.

The call an agent makes

For AI agents: copy this call
# free, no wallet: connect the MCP server
claude mcp add --transport http botwire https://thebotwire.com/mcp

# paid, $0.005: one country, full 30 day window
curl -i "https://thebotwire.com/travel/advisories?q=nigeria&since=30d&limit=25"

# everything issued or updated in the last week
curl -i "https://thebotwire.com/travel/advisories?since=7d&limit=50"

Parameters are q, since and limit (1 to 50). There is one publisher behind this wire, so the src filter accepts a single value and does no useful work.

Query with the country name and nothing else. Search is ranked keyword matching and a multi-token query has to match most of its tokens, so "is it safe to travel to Peru" filters out the Peru entry that a bare q=peru returns. This is the most common way an integration breaks on a route where the answer looked obvious.

The call costs $0.005 in USDC on Base, with no API key and no signup, so sweeping an itinerary of eight countries is eight calls and four cents. Health alerts follow a different publisher and a different rhythm, covered in how agents monitor CDC and WHO public health alerts. Every route, filter and price is machine-readable at /llms-full.txt.

FAQ

Can an agent get the current level for any country on demand?

Not from a rolling window alone. It can get the level for any country whose advisory was issued or updated inside the window, which over 30 days is a substantial share of the world but not all of it. For a definitive standing level on an arbitrary country, the State Department's own advisory pages are the authority and an agent should route the user there rather than guess.

Does the wire include the reason behind a level?

The State Department attaches risk indicators to advisories covering hazards such as crime, terrorism, civil unrest, health, kidnapping and wrongful detention. The feed entry gives the country, the level and a link. An agent that needs the specific indicators or the country summary should follow the link rather than infer them from the level, because two Level 3 countries can be Level 3 for entirely unrelated reasons.

Is this the same as a travel ban or a visa rule?

No. An advisory is guidance to US travellers about risk. It is not an entry requirement, a visa rule, or a restriction imposed by the destination country, and those are published by different authorities entirely. Conflating them produces an answer that sounds official and is not.

How fresh is the travel wire?

It is polled at most every 15 minutes, which is far inside the rhythm of a source that issues a handful of advisories per week. On this route the binding constraint is the State Department's own reissue schedule, not the poll interval. The observed ingest interval and last poll timestamp are published live at /health.

Sources

The four advisory levels quoted above, their names, the composite entries and the country examples all come from the US State Department's own travel advisory feed at travel.state.gov, which is the source this wire reads and where each entry carries its level in the title. Poll cadence and per-call pricing for this service are published live at thebotwire.com/health.

Related: Freshness windows: how recent does agent data need to be? · How do AI agents monitor CDC and WHO public health alerts?