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
Una sola forma de respuesta, ocho grupos, y todas las claves siempre presentes. El explorador de campos enumera cada clave con su tipo, y la referencia de la API (en inglés) es el contrato en sí.
{
"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.
La titular del ejemplo es un espécimen sintético: una persona inventada, con aritmética real de dígitos de control sobre valores inventados. La zona que lleva se explica en la página de formatos MRZ.
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.
Qué pasa con la imagen
En una clave de sandbox no se guarda nada. La imagen nunca se escribe en disco – vive en memoria mientras dura la solicitud – y el resultado tampoco se almacena. Con tu propia clave live, un resultado se conserva para que puedas volver a leerlo: durante las retain_hours que indique la solicitud o, si no las indica, durante el plazo de conservación de tu cuenta, que es de un año (8760 horas) mientras no lo cambies.
Envía retain_hours: 0 para no guardar nada – ningún resultado almacenado, nada que recuperar después. Lo decides tú, en cada llamada.
Cuando la foto no se puede leer
La respuesta lo dice, y es gratis. meta.status distingue los casos, y en los tres meta.billed es false:
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.
Cada respuesta incluye su propio desglose de tiempos, y la mediana en vivo se publica en la página de estado en lugar de prometerse aquí.
Herramientas gratuitas que no necesitan ninguna clave
- Analizador de MRZ – pega una zona TD1, TD2 o TD3 y ve cada campo y cada dígito de control. Funciona en tu navegador.
- Generador de MRZ – crea una zona válida para hacer pruebas.
- Explorador de campos del documento – consulta el vocabulario de campos con el que responde la API.
¿La llamas desde un asistente en lugar de desde código? El servidor MCP ofrece el mismo reconocimiento como tres herramientas.
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.