Visafar API

The same answers as visafar.com, inside your product: where a passport, plus the visas and residence permits someone holds, lets them travel. Every destination comes with its conditions and the source it was read from.

Ask for a key Keys are issued by hand while the API is new, with a monthly request allowance agreed with you.

Request

curl https://www.visafar.com/api/v1/evaluate?passport=IND&held=us_visa \
  -H "Authorization: Bearer vf_live_…"
ParameterMeaning
passportRequired. ISO 3166 alpha-3 code of the passport, e.g. IND, NGA, PHL. 199 passports are covered.
heldOptional. Comma-separated documents the traveller holds (codes below).
residenceOptional. Alpha-3 code of the country they live in, or HOME (default).
dateOptional. Travel date, YYYY-MM-DD. Time-limited rules are applied for that date.

The key can also go in an X-Api-Key header. Browser calls work from the sites listed on your key (CORS).

Document codes

CodeDocument
us_visaUS visa
us_prUS Green Card
schengen_visaSchengen visa
eu_residenceEU/EEA residence permit
uk_visaUK visa
uk_residenceUK residence permit
canada_visaCanadian visa
canada_prCanadian PR
australia_visaAustralian visa
japan_visaJapanese visa
korea_visaSouth Korean visa
ireland_visaIrish visa
gcc_residenceGCC residence permit
nz_visaNew Zealand visa

Response

A live example, generated when this page was built (Indian passport with a US visa, one destination shown):

{
  "ok": true,
  "passport": {
    "code": "IND",
    "name": "India"
  },
  "held": [
    "us_visa"
  ],
  "residence": "HOME",
  "date": null,
  "scope": "full",
  "counts": {
    "open": 130,
    "unlocked": 28,
    "conditional": 0,
    "visaRequired": 72,
    "onPassportAlone": 111,
    "newWithDocuments": 19,
    "easierWithDocuments": 9
  },
  "destinations": [   /* 202 in the real response; one shown */
    {
      "code": "MEX",
      "name": "Mexico",
      "status": "unlocked",
      "entry": "visa_free",
      "entryLabel": "Visa free",
      "maxStayDays": 180,
      "via": [
        "us_visa"
      ],
      "conditions": [
        "Supporting visa or residence card must be valid on both entry and exit.",
        "Admission is as a visitor without permission to carry out paid activities.",
        "For residence, the legal text lists PERMANENT residence in Canada, the US, Japan, the UK or a Schengen state. A temporary EU/EEA residence permit or UK pre-settled status is not listed — confirm with a Mexican consulate before relying on one."
      ],
      "basis": "visafar_rule",
      "source": "https://www.gob.mx/sre",
      "lastChecked": "2026-09-19"
    }
  ],
  "data": {
    "rules": 53,
    "datasetAsOf": "2026-02-18",
    "compiled": "2026-09-24"
  },
  "attribution": "Visa data by Visafar, https://www.visafar.com",
  "notices": "https://www.visafar.com/third-party-notices.txt",
  "disclaimer": "Short tourist stays only. Entry rules change without notice and the final decision is the border officer's; confirm with the destination's official source before travel."
}
FieldMeaning
statusopen on the passport, unlocked by a document held, conditional (a document could work but a condition isn't met; see gateReasons), or visa_required.
entryvisa_free, visa_on_arrival, evisa, eta or visa_required; maxStayDays when the source states one.
viaThe documents that unlock it.
conditionsThe conditions the source attaches, in plain English.
basisvisafar_rule: a rule Visafar read at the government source. official_source: a passport-alone answer Visafar confirmed or corrected at an official source. dataset: the passport-index open dataset (see below).
countsTotals, including newWithDocuments (countries the passport alone can't enter) and easierWithDocuments (already open, easier with the documents).

Where the answers come from

Unlock rules are Visafar's own: each was read at the official source and links it, with the date it was last checked (data status). Passport-alone answers come from an open dataset compiled from passportindex.org, as of February 2026, except where Visafar has checked an official source. Keys can be limited to Visafar's rules and official sources only. The dataset's licence notices are at third-party-notices.txt.

Errors

StatusError
400bad_passport, bad_residence, bad_date
401missing_key, invalid_key
403origin_not_allowed: a browser call from a site not listed on the key
429quota_exceeded: this month's allowance is used up. X-Quota-Remaining on every response shows what's left.

Widget

A small "Where can you go?" box for your site: pick a passport and documents, see the count and the best new destinations. It only loads on the sites listed on your key, and each lookup counts toward its allowance.

<iframe src="https://www.visafar.com/embed?key=vf_live_…&p=IND"
  width="100%" height="560" style="border:0" title="Where can you go? (Visafar)"></iframe>

Terms of use

Questions: hello@visafar.com.