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

194/199

Verified against official sources

827

Rules with source citations

83

Rules re-verified today

538

Official sources checked daily

0d

Median rule age since verification

2026-08-11

Dataset version

API uptime · 30 days

172/199

Official application portals linked

AI-agent visits today

MCP tool calls · all time

Verification activity

  • AGOsmevisa.gov.ao and sme.gov.ao FAQ re-checked after repeated fetch failures; live and unchanged.
  • ANDgovern.ad travel-to-Andorra page re-checked after a content-change flag; no-visa-required and unspecified passport-validity rules unchanged.
  • ARESingle-entry tourist visa and India-VOA pages re-checked after a content-change flag; 6-month passport validity, onward-ticket/insurance requirement and 14-day India-VOA terms unchanged.
  • ATGimmigration.gov.ag visa-FAQ, entry-requirements, general-visa-info, application-process and visa-on-arrival pages re-checked after repeated fetch failures; live and unchanged.
  • AUSuk.embassy.gov.au FAQ page re-checked after an HTTP 500; live and unchanged.
  • AUToesterreich.gv.at re-checked after a content-change flag; 3-month post-departure Schengen passport rule unchanged.
  • BHRNPRA GCC-resident two-week eVisa page re-checked after repeated fetch failures; live and unchanged.
  • BHSBefore-Your-Arrival page re-checked after a content-change flag; 6-month passport validity and return-ticket/means requirement unchanged.
  • BIHDeep audit: SPS and FIPA pages re-read; subsistence-fund rule, EU/EEA/neighbour ID-card entry and Schengen-visa/residence-permit exemption all accurate.
  • BLRDeep audit: MFA pages re-read; 90-day post-departure passport rule, airport visa-free regime (12 nationalities, 76-country and 38-European-state lists) and insurance minimum all accurate.
  • BLZDeep audit: travelbelize.org, embassy and immigration.gov.bz pages re-read; 30-day passport/stay rule, onward-ticket/funds requirement and US/Canada/Schengen multiple-entry-visa exemption all accurate.
  • BOLDeep audit: Cancilleria visas page re-read; Grupo I/II/III passport and onward-ticket rules and Visa Multiple terms all accurate.
  • BRADeep audit: Itamaraty consular pages re-read; valid-for-stay passport rule, 2-blank-page visa requirement, onward-ticket checks and mandatory e-visa (VIVIS) terms all accurate.
  • BRBDeep audit: Immigration Department pages re-read; valid-for-stay passport rule, onward-ticket/support requirement, direct-transit provisions and visa fee/validity terms all accurate.
  • BRNThe live MFA FAQ documents a confirmed-ticket requirement for the 72-hour transit pass but no longer states a return/onward-ticket requirement for standard visa applications, so that half of the stored onward_ticket note could not be re-confirmed this session.
  • BTNDeep audit: Department of Immigration and bhutan.travel pages re-read; 6-month passport rule and SDF/visa-fee terms accurate. Live FAQ now lists a Swiss/Thai diplomatic-passport VOA category not yet in the dataset; not applied this session (addition, not a correction) but worth adding in a future pass.
  • BWAThe cited Tourism Visa page documents the unspecified passport-validity rule and onward-ticket/itinerary requirement, but does not mention the separate Business Visa category or its no-work/no-sale-of-goods restriction described in purpose_scope; that content could not be re-verified against this single source this session.
  • CAFDeep audit: embassy visa-application page re-read; no minimum-validity rule remains published, matching the stored unspecified rule.
  • CANDeep audit: IRCC pages re-read; valid-for-stay passport rule, 1-blank-page visa requirement, active Ebola travel restriction, China Transit Program/TWOV terms, US LPR exemption and 6-month business-visitor scope all accurate.
  • CHEDeep audit: SEM and EUR-Lex pages re-read; 3-month post-departure passport rule, means-of-subsistence condition, Schengen visa/residence-permit exemption and gainful-occupation visa-obligation terms all accurate.
  • COLPIP tourism/business permit page re-checked after an HTTP 404; live and unchanged.
  • CRISCIJ legal-text page (Resolucion 484) re-checked after repeated fetch failures; live and unchanged.
  • GABevisa.dgdi.ga e-visa portal re-checked after repeated fetch failures; live and unchanged.
  • GINpaf.gov.gn entry-requirements pages re-checked after repeated HTTP 500s; live and unchanged.
  • HUNKonzuliszolgalat Schengen residence-permit/visa exemption page re-checked after a fetch failure; live and unchanged.
  • INDEmbassy visa-info page re-checked after a content-change flag; 6-month passport validity and 2-blank-page requirement unchanged.
  • IRNBern embassy passport-validity/blank-pages page re-checked after repeated fetch failures; unchanged. evisa.mfa.ir remains bot-blocked (unrelated to any cited rule).
  • KAZMFA e-visa passport-criteria page re-checked after a content-change flag; visa-expiry-anchored 3-month validity and 2-blank-page rules unchanged.
  • KHMevisa.gov.kh visa-type and homepage re-checked after repeated fetch failures; unchanged.
  • LBNGeneral Security posts 61 and 38 re-checked after a content-change flag; passport validity, onward-ticket exceptions, GCC residence-permit visa-on-arrival and purpose scope unchanged.
  • LCAstlucia.org entry-requirements page re-checked after a content-change flag; unspecified passport-validity rule unchanged.
  • LSOLesotho Trade Portal visa FAQ re-checked after repeated HTTP 404s; unchanged.
  • LUXGuichet.lu short-stay entry-conditions page re-checked after a content-change flag; 90/180-day rule, insurance minimum and declaration-of-arrival requirement unchanged.
  • MDAevisa.gov.md portal re-checked after a fetch failure; portal and its linked MFA visa-regime pages remain live and unchanged.
  • MLTMalta Airport passport-control page re-checked after a content-change flag; 3-month post-departure Schengen rule unchanged.
  • MNGEmbassy visa FAQ re-checked after repeated fetch failures; 6-month passport-validity and 2-blank-page requirements unchanged.
  • MOZPAE visa-exemption implementation notice re-checked after repeated fetch failures; unchanged.
  • MUSpassport.govmu.org travel- and visa-requirements pages re-checked after repeated fetch failures; unchanged.
  • MYSkln.gov.my requirement and TWOV pages re-checked after repeated fetch failures; suspended-TWOV note and other terms unchanged.
  • NAMMHAISS visa fact-sheet and FAQ PDFs re-checked after repeated fetch failures; 6-month passport validity, VOA/e-visa blank-page split, insurance and 90-day cap unchanged.

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