Skip to content
Yoogo

Developers

Two ways to use Yoogo’s entry-requirement data on your own site: an embeddable checker and a read-only JSON endpoint. Both are free, need no key and no account, and collect nothing about your visitors. Both require attribution.

The embeddable checker

Paste this where you want the widget. The script finds every element with adata-yoogo-embedattribute, or mounts where the tag itself sits if there is none.

<div data-yoogo-embed></div>
<script src="https://yoogo.to/embed.js" async></script>
  • The widget sizes itself. It reports its height to your page, and your page only accepts that message from yoogo.to.
  • It is sandboxed, loads lazily and sets nothing in your visitors’ browsers.
  • Result links open a Yoogo corridor page in a new tab and carry a source tag, so both sides can see the referral.
  • The “Entry data from Yoogo” line is part of the widget. Do not remove or hide it.

The corridor API

One read-only endpoint. Both path segments are Yoogo country slugs, the same ones that appear in a page address.

GET https://yoogo.to/api/v1/corridor/japan/united-kingdom
{
  "destination": { "name": "Japan", "slug": "japan", "iso2": "JP", "iso3": "JPN" },
  "passport": { "name": "United Kingdom", "slug": "united-kingdom", "iso2": "GB", "iso3": "GBR" },
  "status": "VISA_FREE",
  "maxStayDays": 90,
  "officialUrl": "https://www.mofa.go.jp/...",
  "checkedAt": "2026-09-01",
  "lastChangedAt": null,
  "page": "https://yoogo.to/japan/united-kingdom",
  "attribution": {
    "text": "Entry requirement data from Yoogo",
    "url": "https://yoogo.to/japan/united-kingdom",
    "required": true
  },
  "disclaimer": "Yoogo is not a government authority. Confirm with the official source before travelling."
}

Status values

VISA_FREENo visa needed for a short visit.
ETA_REQUIREDAn electronic travel authorisation must be approved before boarding.
EVISA_REQUIREDAn eVisa must be applied for and approved online.
VISA_ON_ARRIVALA visa is issued at the border.
VISA_REQUIREDA visa must be arranged in advance.

Errors

400 BAD_SLUGA path segment is not a Yoogo country slug.
400 SAME_COUNTRYDestination and passport are the same country.
404 UNKNOWN_COUNTRYA slug is not in the country registry.
404 NOT_IN_CORE_SETOutside the corridors the API covers. The response carries the page URL that answers it.
404 NO_REQUIREMENTNo entry requirement is recorded for that corridor.

Coverage and limits

  • The API answers for the Core Set, the corridors Yoogo actively re-checks. Anything outside it returns 404 with the page URL that does answer it. The site covers every corridor; the API is deliberately the narrower surface.
  • Responses are cached for a day and rate-limited to 60 requests a minute per address.
  • Cross-origin requests are allowed from anywhere. There is no key to keep secret.
  • checkedAt is when a person last confirmed the requirement against its official source. How we check explains the difference between that and lastChangedAt.

Terms

  • Attribution is required wherever the data appears: a visible link to the Yoogo page the answer came from, using the attribution object the API returns. The embed carries its own attribution, which must not be removed or hidden.
  • Do not present the data as your own, and do not resell it.
  • Do not cache a response beyond seven days. Entry rules change, and a stale answer with your name on it is worse for your readers than no answer.
  • Yoogo is not a government authority and the data is not legal advice. Keep the disclaimer with the answer.
  • The endpoint may change. Breaking changes go to a new version path, and this page says which version is current.

Questions, or building something bigger? support@yoogo.to