Aller au contenu principal
Code informatique sur un écran

Vérifier un visa en un appel

Une API JSON pour savoir si un voyageur a besoin d’un visa court séjour entre deux pays. Accès par clé, gratuite pour un petit volume.

Prix
Gratuit jusqu’à 200 appels/jour
Clé
Obligatoire
Offre payante
9 €/mois
Langues
FR, EN, ES
Endpoint
GET https://izivisas.com/api/public/visa-check?from=SN&to=FR&locale=fr

Accès et tarifs

Clé obligatoire depuis le 23 octobre 2026

L’API était ouverte sans clé. Elle a surtout servi à aspirer notre catalogue de façon automatisée, des centaines d’appels à la chaîne, sans le lien vers IziVisas demandé en échange. Les appels anonymes sont donc refusés. Les intégrations honnêtes restent bienvenues et la clé gratuite suffit pour un usage courant.

Clé gratuite

0 €

  • 200 appels par 24 heures glissantes, 50 par heure au plus
  • Pour afficher le verdict à vos visiteurs, sur un site ou une application
  • Lien visible vers IziVisas obligatoire là où les données apparaissent
  • Usage non commercial uniquement

Offre payante

9 € par mois

ou 90 € par an

  • Usage commercial, par exemple une application ou un service payant
  • Aucun lien vers IziVisas exigé
  • Fiche pratique des pays en plus du verdict visa (voir plus bas)
  • 500 appels par 24 heures ; volume plus élevé et export complet du catalogue sur devis

Obtenir une clé

Écrivez-nous en indiquant le nom et l’adresse du site ou de l’application, l’usage prévu et le volume estimé. Une clé est délivrée par projet, en général sous 24 heures. Pour l’offre payante, abonnez-vous ci-dessus : la clé est délivrée, ou la vôtre passée en payante, sous 24 heures.

Demander une clé ou un devis

Usages interdits sans contrat

  • Extraire le catalogue de façon systématique, quelle que soit la méthode : API, pages du site, plusieurs clés ou plusieurs adresses IP.
  • Constituer ou alimenter une base de données concurrente.
  • Revendre ou redistribuer les données brutes.

Une clé utilisée ainsi est révoquée sans préavis.

Paramètres

  • X-API-Keyen-tête, requis

    Votre clé. Jamais dans l’URL.

  • fromstring, requis

    Nationalité du voyageur, code ISO 3166-1 alpha-2 (ex. SN).

  • tostring, requis

    Pays de destination, code ISO 3166-1 alpha-2 (ex. FR).

  • localestring, optionnel

    Langue de la réponse : fr, en ou es. Par défaut : fr.

Exemples de requête

curl
curl -H "X-API-Key: $IZIVISAS_API_KEY" \
  "https://izivisas.com/api/public/visa-check?from=SN&to=FR&locale=fr"
JavaScript (fetch)
const res = await fetch(
  'https://izivisas.com/api/public/visa-check?from=SN&to=FR&locale=fr',
  { headers: { 'X-API-Key': process.env.IZIVISAS_API_KEY } }
);
const data = await res.json();
console.log(data.verdict.regime); // "consular"

Vous codez avec un assistant IA ? Donnez-lui la version Markdown de cette page : https://izivisas.com/developers.md

Réponse

Réponse réelle pour un voyageur sénégalais qui va en France :

200 OK, application/json
{
  "from": { "code": "SN", "name": "Sénégal" },
  "to": { "code": "FR", "name": "France" },
  "verdict": {
    "regime": "consular",
    "color": "red",
    "duration": "90 jours par période de 180 jours"
  },
  "visa": {
    "name": "Court séjour (tourisme)",
    "price": { "min": 90, "max": 90, "currency": "EUR" },
    "processingTime": "15 à 45 jours",
    "officialUrl": "https://www.france-visas.gouv.fr/en/short-stay-visa"
  },
  "arrivalForm": null,
  "detailsUrl": "https://izivisas.com/fr/visas/SN/FR",
  "attribution": "Visa data by IziVisas, https://izivisas.com"
}
  • verdict.regime

    Régime le plus permissif pour un court séjour touristique (voir ci-dessous).

  • verdict.color

    green, yellow, red ou null, pour un affichage en feu tricolore.

  • verdict.duration

    Durée de séjour autorisée, ou null.

  • visa

    Visa touristique référencé, ou null. price, processingTime et officialUrl peuvent être null.

  • arrivalForm

    Formulaire d’arrivée en ligne obligatoire (TDAC thaïlandaise, MDAC malaisienne…), même sans visa : name, url officielle, when (quand le remplir), free, alsoOnExit. null si la destination n’en exige pas ou si la nationalité en est dispensée.

  • detailsUrl

    Page IziVisas de la route, à utiliser comme lien « en savoir plus ».

  • attribution

    Texte d’attribution prêt à afficher.

Valeurs de verdict.regime

  • visaFreeSans visa
  • onArrivalVisa à l’arrivée
  • eVisaVisa électronique à demander en ligne
  • consularVisa à demander à l’ambassade ou au consulat
  • notEligibleEntrée touristique impossible pour cette nationalité
  • unknownAucune donnée

Fiche pratique (offre payante)

Réservée aux clés payantes : ce qu’un voyageur doit savoir sur place, pour un pays. Même clé et même quota que le verdict visa.

Endpoint
GET https://izivisas.com/api/public/country-info?code=TH&locale=en
  • X-API-Keyen-tête, requis

    Votre clé, passée en offre payante.

  • codestring, requis

    Pays, code ISO 3166-1 alpha-2 (ex. TH).

  • localestring, optionnel

    Langue des textes : fr, en ou es. Par défaut : en.

curl
curl -H "X-API-Key: $IZIVISAS_API_KEY" \
  "https://izivisas.com/api/public/country-info?code=TH&locale=en"

Réponse réelle pour la Thaïlande, en anglais (listes de coûts raccourcies à deux lignes) :

200 OK, application/json
{
  "code": "TH",
  "name": "Thailand",
  "currency": { "code": "THB", "symbol": "฿", "name": "Thai Baht" },
  "timezone": "Asia/Bangkok",
  "callingCode": "+66",
  "drivingSide": "left",
  "electricity": {
    "plugs": ["Type A", "Type B", "Type C", "Type O"],
    "voltage": ["220V"],
    "frequency": ["50Hz"]
  },
  "emergency": { "fire": "199", "police": "191", "ambulance": "1669" },
  "tapWater": { "status": "unsafe", "label": "Not safe to drink", "note": null },
  "tipping": "Not mandatory, round up or small tip 10%",
  "costs": {
    "city": "in Bangkok",
    "currency": "USD",
    "updatedAt": "2026-10-10",
    "food": [
      { "label": "Meal at an inexpensive restaurant", "price": "3" },
      { "label": "Meal for two at a mid-range restaurant", "price": "22" }
    ],
    "transport": [
      { "label": "Public transport, one way", "price": "1" },
      { "label": "Monthly transport pass", "price": "42" }
    ],
    "housing": [...],
    "health": [...],
    "leisure": [...],
    "other": [...]
  },
  "detailsUrl": "https://izivisas.com/en/countries/TH"
}
  • tapWater.status

    safe (potable), unsafe (non potable), varies (selon la ville ou la région) ou unknown.

  • tapWater.label

    Libellé du statut dans la langue demandée, ou null.

  • tapWater.note

    Précision quand il y en a une (« utiliser l’eau en bouteille »), sinon null.

  • tipping

    Usages en matière de pourboire, ou null.

  • costs

    Prix relevés dans la ville principale (costs.city), en USD, par catégorie : food, transport, housing, health, leisure, other. Une fourchette s’écrit « 350-600 ». null si aucune donnée.

  • electricity

    Types de prise, tension et fréquence.

  • emergency

    Numéros d’urgence : police, ambulance, fire (parfois general).

  • drivingSide

    left, right ou null.

  • currency, timezone, callingCode

    Monnaie, fuseau horaire IANA, indicatif téléphonique.

  • detailsUrl

    Fiche du pays sur IziVisas.

Erreurs

  • 400

    Codes pays invalides : deux lettres ISO attendues.

  • 401

    Clé absente, inconnue ou révoquée.

  • 403

    Fiche pratique demandée avec une clé gratuite.

  • 404

    Code pays inconnu de la base.

  • 429

    Quota de la clé atteint sur les dernières 24 heures ou la dernière heure : réessayez après le délai de l’en-tête Retry-After.

  • 500

    Erreur interne.

Quota et cache

  • Le quota compte les réponses réussies (200) sur 24 heures glissantes, avec un plafond horaire d’un quart du quota. Les erreurs ne le consomment pas.
  • Les verdicts changent rarement : gardez chaque réponse en cache de votre côté, au moins une journée, plutôt que d’appeler l’API à chaque affichage.
  • Appelez l’API depuis votre serveur. Une clé placée dans le code d’une page est lisible par tous, et son quota part avec.
  • Verdict visa en cache privé une heure (Cache-Control: private, max-age=3600) ; la fiche pratique n’est pas mise en cache (no-store).

Attribution

Avec une clé gratuite, deux conditions : un usage non commercial, et un lien visible vers IziVisas là où les données apparaissent. Le lien ci-dessous suffit. Une application ou un service payant qui affiche nos données relève de l’offre payante, sans lien exigé. Les données sont indicatives : vérifiez toujours auprès des sources officielles avant de voyager.

HTML
<a href="https://izivisas.com">Visa data by IziVisas</a>

Sans code ni clé : le widget

Le même vérificateur existe en widget à coller dans une page. Il reste gratuit, sans clé, attribution comprise.

Voir le widget

Paramètres de confidentialité

Nous utilisons des cookies pour améliorer votre expérience. Vous pouvez choisir quels cookies accepter. politique de confidentialité