ForHosting KIT · OCR y extracción de datos

Leer el MRZ de un pasaporte

Las dos o tres líneas de texto monoespaciado al pie de la página de datos de un pasaporte se diseñaron para que las lea un escáner, no una persona, y este endpoint hace justamente eso. Envía una imagen del MRZ y recibe los campos decodificados junto con si cada dígito de control validó correctamente, que es lo que distingue una lectura real de una simple adivinanza.

● BetaPor solicitud + por imagen$0.010
Úselo desde WebAPIEmailApp prontoTelegram pronto

Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.

Un formato más antiguo que la cámara del teléfono que lo lee

La zona legible por máquina se estandarizó hace décadas para que aeropuertos y puestos fronterizos pudieran pasar el pasaporte por un lector en vez de teclearlo, y todo documento de viaje conforme aún la lleva: dos líneas de 44 caracteres, o tres de 30 en formatos más antiguos de tipo carné, con una disposición fija de nombre, número de documento, nacionalidad, fecha de nacimiento, sexo, fecha de vencimiento y dígitos de control. Este endpoint interpreta esa disposición directamente.

Qué le dice realmente la respuesta

Más allá de los campos decodificados, el formato MRZ incorpora un dígito de control después de varios de ellos, así que la respuesta indica si cada una de esas verificaciones pasó. Es una señal importante: una foto de pasaporte tomada en ángulo o de un documento desgastado puede arrojar caracteres legibles que aun así fallen el dígito de control, y conocer esa diferencia le permite a su sistema decidir si confiar en la lectura o pedir una foto más clara.

Por qué se prefiere el MRZ en vez de OCR de página completa

Leer la línea MRZ es más rápido y confiable que intentar interpretar la zona de inspección visual de arriba, porque el MRZ usa un conjunto de caracteres y posiciones de columna fijos por diseño, mientras que el nombre impreso y el área de la foto varían según el país emisor. Para herramientas de viaje, inmigración y detección de fraude que solo necesitan los campos de identidad principales, el MRZ es el objetivo más confiable.

Cómo se llama al endpoint

Una sola llamada a POST /ocr/mrz con la imagen del pasaporte devuelve un task_id de inmediato; la tarea corre de forma asíncrona y entrega su resultado mediante un webhook firmado o un enlace firmado válido por 24 horas. Ante una imagen problemática ocurren tres reintentos internos automáticos antes de que vea un fallo, y una tarea fallida no genera cobro.

Cómo encaja en un flujo de check-in o verificación

Como se cobra por tarea completada y no por nivel de suscripción, este endpoint encaja de forma natural en quioscos de check-in de aerolíneas, recepciones de hotel y herramientas de preverificación migratoria que procesan un viajero a la vez pero necesitan que la lectura ocurra en el momento en que se presenta el pasaporte, no minutos después.

Check-in autoservicio de aerolíneas

Un quiosco fotografía la página de datos del pasaporte y lee el MRZ para prellenar el nombre, número de documento y vencimiento en la solicitud de tarjeta de embarque.

Registro de huéspedes en hoteles

El software de recepción escanea el MRZ del pasaporte de un huésped extranjero en vez de pedirle al personal que retipee un nombre con caracteres poco familiares.

Preverificación de visa e inmigración

Una agencia de viajes valida que la fecha de vencimiento del pasaporte de un cliente cumpla la regla de seis meses del país destino antes de reservar, directamente desde el MRZ.

Triaje de fraude en el registro

Un servicio de verificación marca cuentas donde falla el dígito de control del MRZ, enviándolas a revisión manual en lugar de aceptar un documento posiblemente alterado.

¿Para qué se usa una API que lee el MRZ de pasaportes?

Decodifica la zona legible por máquina al pie de la página de datos de un pasaporte en número de documento, nombre, nacionalidad, fecha de nacimiento y vencimiento, con validación de dígitos de control en cada campo.

¿Existe un plan gratuito?

No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.

¿Cuánto cuesta?

$0.010 por solicitud más $0.0575 por imagen, cobrado solo cuando la tarea se completa con éxito.

¿Funciona también en cédulas o solo en pasaportes?

Está orientada al formato MRZ de las páginas de datos de pasaporte; muchas cédulas usan un MRZ de tres líneas similar y se decodifican correctamente si el formato coincide.

¿Cómo sé si la lectura es confiable?

Cada campo del MRZ con dígito de control se valida como parte de la respuesta, así que puede ver si el chequeo pasó en vez de recibir solo texto decodificado sin verificar.

¿Cómo obtengo el resultado?

Llama a POST /ocr/mrz para recibir un task_id de inmediato, luego recibe la salida interpretada por webhook o la recupera desde un enlace firmado válido por 24 horas.

¿Qué pasa si el MRZ está manchado o parcialmente cubierto?

El sistema reintenta internamente hasta tres veces; si la zona sigue sin poder leerse con fiabilidad, recibe un error claro y no se le cobra.

¿Puedo leer muchos pasaportes en un lote?

Sí, envía cada imagen de MRZ como una tarea asíncrona independiente y recoge los resultados conforme se completan, lo que se adapta bien a escenarios de check-in o frontera de alto volumen.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/ocr/mrz

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.

curl -X POST https://api.kit.forhosting.com/ocr/mrz \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image":"https://ejemplo.com/imagen.jpg"}'
{
  "image": "https://ejemplo.com/imagen.jpg"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "ocr.mrz",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.010
Por imagen$0.0575

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_mb25
max_pages10
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.
422task_failedLa tarea falló tras 3 reintentos. No se cobra.

Ver la documentación completa del KIT →