IziVisas API for developers
A free JSON API, no key or account needed, to check short-stay visa requirements between two countries. Open CORS — callable directly from the browser.
A single read-only route:
GET https://izivisas.com/api/public/visa-check?from={FROM}&to={TO}&locale={LOCALE}Parameters
from(string — required) — Traveller nationality, ISO 3166-1 alpha-2 code (e.g. SN).to(string — required) — Destination country, ISO 3166-1 alpha-2 code (e.g. FR).locale(string — optional) — Response language: fr, en or es (default: fr).
curl
curl "https://izivisas.com/api/public/visa-check?from=SN&to=FR&locale=en"JavaScript (fetch)
const res = await fetch(
'https://izivisas.com/api/public/visa-check?from=SN&to=FR&locale=en'
);
const data = await res.json();
console.log(data.verdict.regime); // "consular"{
"from": { "code": "SN", "name": "Sénégal" },
"to": { "code": "FR", "name": "France" },
"verdict": {
"regime": "consular",
"color": "red",
"duration": "90 jours"
},
"visa": {
"name": "Visa Schengen court séjour",
"price": { "min": 80, "currency": "EUR" },
"processingTime": "15 jours",
"officialUrl": "https://france-visas.gouv.fr"
},
"detailsUrl": "https://izivisas.com/fr/visas/SN/FR",
"attribution": "Visa data by IziVisas — https://izivisas.com"
}The verdict is the most permissive regime for a short-stay tourist trip: visaFree, onArrival, eVisa, consular or notEligible (unknown when no data exists). The color field (green / yellow / red / null) enables traffic-light displays. visa is null when no tourist visa is referenced; price, processingTime, officialUrl and duration may be null.
Errors
400— Invalid country codes (expected format is 2 ISO letters).404— Country code unknown to the database.429— Too many requests — retry after the delay given in the Retry-After header.500— Internal error.
Responses are served with Cache-Control: public, max-age=3600, s-maxage=86400, stale-while-revalidate=604800: 1h browser cache, 24h CDN cache. Verdicts change rarely — cache the response on your side rather than calling the API on every render. The endpoint is protected by anti-abuse rate limiting: when exceeded it returns 429 with a Retry-After header. For heavy usage, get in touch.
The API is free for any website or app. Only condition: credit IziVisas with a visible link to izivisas.com wherever the data is displayed. Every response even includes a ready-to-use attribution field. Data is provided for guidance — always verify with official sources before travelling.
Don’t want to write code? The visa checker also ships as an embeddable widget: one tag to paste, attribution built in.
Discover the widget →