API gratuita de OCR de pasaportes

Esta es una API gratuita de OCR de pasaportes a la que puedes llamar antes de tener una cuenta. La documentación publica una clave pública de sandbox, y esa clave ejecuta 10 reconocimientos reales por dirección IP: sin registro, sin tarjeta de crédito y sin ninguna llamada comercial de por medio. Regístrate y recibirás 20 créditos más en la cuenta. A partir de ahí, cada documento reconocido cuesta un centavo, tarifa plana, a cualquier volumen. Envía una fotografía o un escaneo de un pasaporte, un documento de identidad o un documento de viaje y recibe JSON estructurado con el titular, el documento, cada campo encontrado y la zona de lectura mecánica (MRZ) con sus dígitos de control verificados. Un escaneo fallido no cuesta nada.

Haz tu primer reconocimiento sin cuenta

Copia la clave de la documentación y envía una imagen. Esa es toda la integración:

IMG=$(base64 -i passport.jpg | tr -d '\n')

curl -s https://api.doc.cheap/v1/scans \
  -H "Authorization: Bearer sk_sandbox_public" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: first-call-1" \
  -d '{"image":"'"$IMG"'","options":{"mode":"full"}}'

sk_sandbox_public es la clave pública del sandbox: se publica a propósito, no es un secreto y tiene un límite de solicitudes. Idempotency-Key significa que una solicitud reintentada no se cobra dos veces, algo que importa el día que reproduces una cola.

Qué recibes

{
  "meta": { "schema_version": "1.0", "status": "recognized", "billed": true,
            "confidence": "high",
            "timing": { "upload_ms": 118, "processing_ms": 684, "total_ms": 826 } },
  "document": { "kind": "passport", "country": "GRC", "country_name": "Greece",
                "number": "AM7304518", "series": null,
                "issue_date": "2022-03-10", "expiry_date": "2032-03-10",
                "is_expired": false, "days_remaining": 2001 },
  "holder": { "given_names": "ELENI SOFIA", "surname": "PARADEIGMA",
              "birth_date": "1994-03-08", "sex": "F", "nationality": "GRC" },
  "mrz": { "status": "passed", "reason": null, "lines": ["…", "…"] },
  "fields": [ "…" ], "images": { "…": null },
  "quality": { "overall": "pass" },
  "authenticity": { "overall": "not_checked", "checks": [] }
}
  • meta.status es exactamente una de cinco cadenas: recognized, no_document_found, unreadable, unsupported_document, rejected.
  • Las fechas van siempre en ISO-8601. Un valor ausente es null, nunca una clave que falta.
  • meta.billed está en todas las respuestas e indica si esa llamada costó algo.
  • fields[] contiene todos los campos del documento, leídos por separado de la zona codificada y de la zona impresa, cada uno con su propia confianza, para que puedas comparar las dos lecturas. Los valores en su propia escritura llegan junto a la transliteración latina, etiquetados con su idioma.

Cuánto cuesta después de las llamadas gratuitas

1¢ por documento. Tarifa plana, para todas las cuentas, a cualquier volumen.

Un solo número, sea cual sea el volumen: sin tramos, sin lista de precios que pedir, nada que negociar. Un crédito es un centavo, y un centavo es un documento reconocido.

Solo se cobran los documentos reconocidos. Solo se cobra un documento reconocido correctamente. Un escaneo que no encuentra ningún documento, no puede leer la imagen o no puede determinar el tipo responde con su veredicto y no cuesta nada.

  • ✓ 10 documentos reconocidos gratis por dirección con la clave pública del sandbox, sin ninguna cuenta, con un máximo de 10 solicitudes por hora, sea cual sea la respuesta.
  • ✓ 20 documentos gratis al registrarte, abonados en tu saldo.

Cómo se factura Cómo se compara con las alternativas

Qué pasa con la imagen

Cuando la foto no se puede leer

  • no_document_found – no hay nada con forma de documento en el encuadre.
  • unreadable – se encontró, pero no se pudo leer: reflejos, desenfoque, resolución.
  • unsupported_document – se leyó, pero ese tipo no está admitido.

Herramientas gratuitas que no necesitan ninguna clave

Preguntas frecuentes

¿Qué es el OCR de pasaportes?

El OCR de pasaportes es la lectura automática de la página de datos de un pasaporte a partir de una fotografía o un escaneo. Tiene dos mitades. La zona de lectura mecánica (MRZ) son las dos líneas de 44 caracteres de la parte inferior de la página, impresas en una fuente diseñada para que la lea una máquina y protegidas por dígitos de control. La zona visual es todo lo impreso para una persona: el mismo nombre, número y fechas, más los datos que la zona no lleva, como el lugar de nacimiento, la autoridad expedidora o el retrato. Leer solo la primera mitad es más fácil y te dice menos; leer las dos te permite compararlas.

¿Existe una API gratuita de OCR de pasaportes?

Sí, dentro de unos límites. Esta publica en la documentación una clave de sandbox que ejecuta 10 reconocimientos reales por dirección IP sin cuenta y sin tarjeta, y al registrarte se suman 20 créditos: 30 documentos antes de cualquier pago. Sin conexión, la biblioteca abierta PassportEye con tesseract lee la zona de lectura mecánica gratis en tu propia máquina; no lee el lado impreso, y su precisión con fotos tomadas con el teléfono depende por completo de tu propio preprocesamiento de imagen. “Gratis para siempre a gran volumen” no existe en esta categoría con nadie, tampoco con nosotros.

¿Cuánto cuesta una API de OCR de pasaportes?

Aquí, $0.01 por documento, tarifa plana, a cualquier volumen, y nada cuando el reconocimiento falla. Los precios de lista publicados en otros sitios usan unidades distintas: algunos proveedores cobran por página y nosotros por documento, así que compara en la misma unidad antes de comparar las cifras. Las cifras, cada una leída en la propia página del proveedor y enlazada a ella, están en la página de comparación.

¿Se guarda la imagen del pasaporte?

No. La imagen nunca se escribe en disco; existe en memoria mientras dura la solicitud y desaparece cuando se envía la respuesta. En una clave de sandbox tampoco se almacena el resultado. En una clave live se conserva durante las retain_hours que indiques o, si no las indicas, durante el plazo de conservación de la cuenta – un año (8760 horas) mientras no lo cambies –, y retain_hours: 0 no guarda nada. Aquí no hay ningún almacén de documentos, y esa es la respuesta corta a qué pasa con los pasaportes de tus usuarios.

¿Qué pasa si la foto no se puede leer?

Recibes una respuesta y no se te cobra nada. La respuesta incluye meta.status (unreadable cuando se encontró el documento pero no se pudo leer, o no_document_found cuando no había nada con forma de documento en el encuadre) y meta.billed en false. El grupo quality lleva el veredicto sobre la propia imagen. Vuelve a hacer la foto sin reflejos sobre la zona, llena el encuadre con la página de datos y mantén la zona por encima de unos 300 DPI.