Can I enter?

Visa and entry requirements — 199 passports · 39,402 routes

Can I enter?

Pick a passport and a destination: the rule, the allowed stay, and what to arrange before you fly. Five free checks a day, no account.

More details

These documents can unlock exemptions where the destination publishes them; they never change the base verdict on their own. Dates are checked in your browser against the allowed stay and the destination's passport-validity rule: nothing you type here leaves the check request.

5 free checks a day, no account needed

Verify you're human to unlock 20 checks a day

Where next · Trust and transparency · Developers and agents: the same check as an HTTP request

02 — Trust and transparency

Counted from the dataset itself

Every figure below is computed from the exact dataset this deployment serves: nothing is written by hand. Every entry rule is re-checked against its cited official source every day; the live counters come straight from production, refreshed every five minutes.

199

Passports covered

39,402

Passport to destination routes

181/199

Verified against official sources

827

Rules with source citations

71

Rules re-verified today

538

Official sources checked daily

1d

Median rule age since verification

2026-08-12

Dataset version

API uptime · 30 days

172/199

Official application portals linked

AI-agent visits today

MCP tool calls · all time

Verification activity

  • ALBEntry rules re-verified against Ministry for Europe and Foreign Affairs of Albania
  • ANDEntry rules re-verified against Govern d'Andorra - Travel to Andorra (Ministry of Foreign Affairs)
  • ARGEntry rules re-verified against Ministerio de Relaciones Exteriores (Cancillería) / Dirección Nacional de Migraciones
  • ARMEntry rules re-verified against Ministry of Foreign Affairs of the Republic of Armenia
  • AUTOfficial source content changed — queued for review
  • BDIEntry rules re-verified against Commissariat General des Migrations, Burundi (online visa application + certificate presented at point of entry)
  • BENEntry rules re-verified against Republic of Benin official visa application platform; Direction de l'Emigration et de l'Immigration
  • BFAEntry rules re-verified against Visa Burkina, official Burkina Faso e-visa platform (referenced by servicepublic.gov.bf); applicant portal at https://applicant.visaburkina.bf/
  • BGDEntry rules re-verified against Bangladesh Online MRV Portal (online application, visa issued at missions); VOA info at https://voa.specialbranch.gov.bd/public/voa-info.html (Bangladesh Police Special Branch)
  • BHSEntry rules re-verified against Bahamas Department of Immigration
  • BLREntry rules re-verified against Ministry of Foreign Affairs of the Republic of Belarus
  • BOLEntry rules re-verified against Ministry of Foreign Affairs of Bolivia (Cancilleria)
  • BRBEntry rules re-verified against Barbados Immigration Department (online entry-visa portal; travelform.gov.bb hosts the pre-arrival Immigration and Customs Form)
  • BRNEntry rules re-verified against Ministry of Foreign Affairs of Brunei Darussalam
  • BTNOfficial source content changed — queued for review
  • CAFEntry rules re-verified against Ministere des Affaires Etrangeres de la RCA (diplomatie.gouv.cf); online short-stay visa application via Embassy of CAR in Paris portal
  • CANOfficial source content changed — queued for review
  • COMEntry rules re-verified against Ministere de la Justice des Comores - Loi 88-025 on entry and stay of foreigners (transit visa issued at airport/port; tourist visa max 45 days)
  • CPVEntry rules re-verified against Government of Cabo Verde - EASE traveller pre-registration
  • DMAEntry rules re-verified against Government of Dominica Web Portal / Online Immigration-Customs Declaration (edcard)
  • DNKEntry rules re-verified against New to Denmark (Danish Immigration Service) — Visa-free visits
  • ERIEntry rules re-verified against Embassy of Eritrea in Washington DC - Visa
  • ESPOfficial source content changed — queued for review
  • ESTEntry rules re-verified against Estonian Ministry of Foreign Affairs / Police and Border Guard Board
  • FJIEntry rules re-verified against Fiji Ministry of Immigration (IMMI HUB portal)
  • FSMEntry rules re-verified against FSM Embassy Washington DC
  • GBREntry rules re-verified against UK Home Office (GOV.UK)
  • GHAEntry rules re-verified against Ghana Immigration Service; Ghana MFA e-visa portal launch announcement (portal URL not yet published on retrieved pages)
  • GUYEntry rules re-verified against Guyana Ministry of Foreign Affairs; Immigration Support Services e-services
  • HKGEntry rules re-verified against Hong Kong Immigration Department
  • HNDEntry rules re-verified against Instituto Nacional de Migracion (Honduras)
  • INDOfficial source content changed — queued for review
  • IRQOfficial source content changed — queued for review
  • JAMOfficial source content changed — queued for review
  • JOREntry rules re-verified against Ministry of Interior, Hashemite Kingdom of Jordan
  • KENEntry rules re-verified against Republic of Kenya Electronic Travel Authorisation
  • KGZEntry rules re-verified against Ministry of Foreign Affairs of the Kyrgyz Republic e-VISA
  • KIREntry rules re-verified against Kiribati Ministry of Foreign Affairs and Immigration; Tourism Authority of Kiribati
  • KNAEntry rules re-verified against Government of St. Kitts and Nevis - Electronic Border Management System (eTA) and Electronic Entry Visa (linked from gov.kn e-services)
  • LAOEntry rules re-verified against Consular Department, Ministry of Foreign Affairs, Lao PDR

Full data, machine-readable: GET /transparency · GET /stats.json · GET /changes.json · status.canienter.com

03 — Integration

The answer, sold by the request.

An unpaid call returns HTTP 402 with payment instructions. Any x402 client settles $0.03 in USDC and retries. Payments run on Base mainnet.

# Free tier — 5 checks a day, no auth
curl "https://api.canienter.com/free/check?passport=NLD&destination=JPN"

# Paid tier — answers HTTP 402 Payment Required. The offer (amount,
# asset, pay-to) is base64 JSON in the PAYMENT-REQUIRED header;
# any x402 client settles it and retries automatically.
curl "https://api.canienter.com/v1/check?passport=NLD&destination=JPN"

# Peek at the offer without paying:
curl -s -o /dev/null -D - "https://api.canienter.com/v1/check?passport=NLD&destination=JPN" \
  | grep -i "^payment-required" | cut -d" " -f2 | base64 -d
// npm i @x402/fetch @x402/evm viem   (Node 18+)
// WARNING: running this spends real USDC ($0.03/call, Base mainnet).
// Inspect the offer first, free of charge:
const probe = await fetch("https://api.canienter.com/v1/check?passport=NLD&destination=JPN");
console.log(probe.status, /* 402 */ JSON.parse(atob(probe.headers.get("PAYMENT-REQUIRED"))));

// Then pay per call — key from an env var, never hardcoded or logged:
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.X402_PRIVATE_KEY);
const payFetch = wrapFetchWithPaymentFromConfig(fetch, { schemes: [
  { network: "eip155:8453", client: new ExactEvmScheme(account) }]});

const res = await payFetch(
  "https://api.canienter.com/v1/check?passport=NLD&destination=JPN");
if (!res.ok) throw new Error("check failed: " + res.status);
const { requirement, allowed_stay_days } = await res.json();
# The API publishes its own agent skill (Claude Code paths shown;
# Codex/Cursor/other agents: use your agent's skills directory)
mkdir -p ~/.claude/skills/visa-check
curl -s "https://api.canienter.com/.well-known/agent-skills/visa-check/SKILL.md" \
  -o ~/.claude/skills/visa-check/SKILL.md

# Discovery index with the SKILL.md sha256 digest (verify, updates, extras):
curl -s "https://api.canienter.com/.well-known/agent-skills/index.json"

# Remove: delete ~/.claude/skills/visa-check

The skill lets an agent look up entry requirements and pay per request over x402. There is no API key to leak.

Machine docs: GET /llms.txt · GET /openapi.json

Add to your agent

EndpointPrice
/free/checkfree · 5/day
/v1/check$0.03
/v1/trips/evaluatefull trip: multi-leg, multi-passport, explanations$0.10
/v1/passport/{iso3}all 198 destinations at once$0.15
  • USDC on Base mainnet · x402 v2
  • No account, no API key, no contract
  • Freshness date on every answer

01 — Call

GET /v1/check: the unpaid request returns HTTP 402 with a payment offer.

02 — Pay

$0.03 USDC via any x402 client, settled on Base mainnet.

03 — Answer

JSON verdict plus an on-chain receipt for the payment.

Not a developer? The same answers go on your own site with two lines of HTML: no API call, no account.

04 — Your site

Runs on your pages, too.

A travel guide, a relocation blog, a booking flow: paste two lines and your readers get the requirement, the allowed stay and a link to the sourced rules without leaving your page. It is free for any site, commercial or not. The only thing asked in return is that the attribution link stays visible.

<!-- anywhere in your page -->
<div data-canienter-widget></div>
<script src="https://canienter.com/embed.js" async></script>

<!-- on a Japan guide, pre-select the destination -->
<div data-canienter-widget data-destination="JPN"></div>
  • No cookies, no tracking, no account
  • Follows your reader's light and dark setting
  • Auto-sizes to its container
  • Answers cite the same official sources

Widget docs, options and live example · Developer hub