Ir al contenido principal
Código informático en una pantalla

Comprobar un visado en una llamada

Una API JSON para saber si un viajero necesita visado de corta estancia entre dos países. Acceso con clave, gratuita para poco volumen.

Precio
Gratis hasta 200 llamadas/día
Clave
Obligatoria
De pago
9 €/mes
Idiomas
FR, EN, ES
Endpoint
GET https://izivisas.com/api/public/visa-check?from=SN&to=FR&locale=fr

Acceso y tarifas

Clave obligatoria desde el 23 de octubre de 2026

La API estaba abierta sin clave. Sirvió sobre todo para extraer nuestro catálogo de forma automatizada, cientos de llamadas seguidas, sin el enlace a IziVisas que se pedía a cambio. Por eso se rechazan las llamadas anónimas. Las integraciones honestas siguen siendo bienvenidas y la clave gratuita basta para un uso normal.

Clave gratuita

0 €

  • 200 llamadas por 24 horas móviles, 50 por hora como máximo
  • Para mostrar el veredicto a sus visitantes, en un sitio web o una aplicación
  • Enlace visible a IziVisas obligatorio donde aparezcan los datos
  • Solo uso no comercial

Plan de pago

9 € al mes

o 90 € al año

  • Uso comercial, por ejemplo una aplicación o un servicio de pago
  • Sin enlace obligatorio a IziVisas
  • Ficha práctica de los países además del veredicto de visado (ver más abajo)
  • 500 llamadas por 24 horas; más volumen y exportación completa del catálogo bajo presupuesto

Obtener una clave

Escríbanos indicando el nombre y la dirección del sitio o de la aplicación, el uso previsto y el volumen estimado. Una clave por proyecto, normalmente en 24 horas. Para el plan de pago, suscríbase arriba: la clave se entrega, o la suya pasa al plan de pago, en 24 horas.

Pedir una clave o un presupuesto

Usos prohibidos sin contrato

  • Extraer el catálogo de forma sistemática, por cualquier medio: la API, las páginas del sitio, varias claves o varias direcciones IP.
  • Crear o alimentar una base de datos competidora.
  • Revender o redistribuir los datos en bruto.

Una clave usada así se revoca sin previo aviso.

Parámetros

  • X-API-Keycabecera, obligatoria

    Su clave. Nunca en la URL.

  • fromstring, obligatorio

    Nacionalidad del viajero, código ISO 3166-1 alpha-2 (ej. SN).

  • tostring, obligatorio

    País de destino, código ISO 3166-1 alpha-2 (ej. FR).

  • localestring, opcional

    Idioma de la respuesta: fr, en o es. Por defecto: fr.

Ejemplos de petición

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

¿Programa con un asistente de IA? Dele la versión Markdown de esta página: https://izivisas.com/developers.md

Respuesta

Respuesta real para un viajero senegalés que va a Francia:

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égimen más permisivo para una estancia turística corta (ver abajo).

  • verdict.color

    green, yellow, red o null, para una visualización tipo semáforo.

  • verdict.duration

    Duración de estancia autorizada, o null.

  • visa

    Visado turístico referenciado, o null. price, processingTime y officialUrl pueden ser null.

  • arrivalForm

    Formulario de llegada en línea obligatorio (TDAC de Tailandia, MDAC de Malasia…), incluso sin visado: name, url oficial, when (cuándo rellenarlo), free, alsoOnExit. null si el destino no lo exige o si la nacionalidad está exenta.

  • detailsUrl

    Página de IziVisas de la ruta, para un enlace « más información ».

  • attribution

    Texto de atribución listo para mostrar.

Valores de verdict.regime

  • visaFreeSin visado
  • onArrivalVisado a la llegada
  • eVisaVisado electrónico, se solicita en línea
  • consularVisado en la embajada o el consulado
  • notEligibleEntrada turística imposible para esta nacionalidad
  • unknownSin datos

Ficha práctica (plan de pago)

Solo para claves de pago: lo que un viajero necesita saber sobre el terreno, para un país. Misma clave y misma cuota que el veredicto de visado.

Endpoint
GET https://izivisas.com/api/public/country-info?code=TH&locale=en
  • X-API-Keycabecera, obligatoria

    Su clave, pasada al plan de pago.

  • codestring, obligatorio

    País, código ISO 3166-1 alpha-2 (ej. TH).

  • localestring, opcional

    Idioma de los textos: fr, en o es. Por defecto: en.

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

Respuesta real para Tailandia, en inglés (listas de costes reducidas a dos líneas):

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 (no potable), varies (según la ciudad o la región) o unknown.

  • tapWater.label

    Etiqueta del estado en el idioma pedido, o null.

  • tapWater.note

    Precisión cuando la hay (« usar agua embotellada »), si no null.

  • tipping

    Costumbres de propina, o null.

  • costs

    Precios recogidos en la ciudad principal (costs.city), en USD, por categoría: food, transport, housing, health, leisure, other. Un rango se escribe « 350-600 ». null si no hay datos.

  • electricity

    Tipos de enchufe, tensión y frecuencia.

  • emergency

    Números de emergencia: police, ambulance, fire (a veces general).

  • drivingSide

    left, right o null.

  • currency, timezone, callingCode

    Moneda, zona horaria IANA, prefijo telefónico.

  • detailsUrl

    Ficha del país en IziVisas.

Errores

  • 400

    Códigos de país no válidos: se esperan dos letras ISO.

  • 401

    Clave ausente, desconocida o revocada.

  • 403

    Ficha práctica pedida con una clave gratuita.

  • 404

    Código de país desconocido en la base.

  • 429

    Cuota de la clave agotada en las últimas 24 horas o la última hora: reintente tras el plazo de la cabecera Retry-After.

  • 500

    Error interno.

Cuota y caché

  • La cuota cuenta las respuestas correctas (200) en 24 horas móviles, con un tope por hora de una cuarta parte de la cuota. Los errores no la consumen.
  • Los veredictos cambian raramente: guarde cada respuesta en caché en su lado, al menos un día, en lugar de llamar a la API en cada renderizado.
  • Llame a la API desde su servidor. Una clave puesta en el código de una página la puede leer cualquiera, y su cuota con ella.
  • Veredictos de visado en caché privada durante una hora (Cache-Control: private, max-age=3600); la ficha práctica no se guarda en caché (no-store).

Atribución

Con una clave gratuita, dos condiciones: un uso no comercial y un enlace visible a IziVisas donde aparezcan los datos. Basta con el enlace de abajo. Una aplicación o un servicio de pago que muestre nuestros datos corresponde al plan de pago, sin enlace obligatorio. Los datos son orientativos: verifique siempre las fuentes oficiales antes de viajar.

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

Sin código ni clave: el widget

El mismo verificador existe como widget para pegar en una página. Sigue siendo gratuito, sin clave, con la atribución incluida.

Ver el widget

Configuración de privacidad

Usamos cookies para mejorar su experiencia. Puede elegir qué cookies aceptar. política de privacidad