API de OCR de passaportes grátis
Esta é uma API de OCR de passaportes grátis que você pode chamar antes de ter uma conta. A documentação traz uma chave pública de sandbox, e essa chave executa 10 reconhecimentos reais por endereço IP – sem cadastro, sem cartão de crédito, sem nenhuma conversa com vendas no caminho. Cadastre-se e mais 20 créditos caem na conta. Depois disso, um documento reconhecido custa um centavo de dólar, preço fixo, em qualquer volume. Envie uma fotografia ou um escaneamento de um passaporte, documento de identidade ou documento de viagem e receba JSON estruturado com o titular, o documento, cada campo encontrado e a zona de leitura mecânica (MRZ) com os dígitos verificadores conferidos. Uma leitura que falha não custa nada.
Faça o seu primeiro reconhecimento sem conta
Copie a chave da documentação e envie uma imagem. Essa é a integração inteira:
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 é a chave pública do sandbox – ela é publicada de propósito, não é um segredo e tem limite de requisições. Idempotency-Key significa que uma requisição repetida não gera uma segunda cobrança, o que faz diferença no dia em que você reprocessa uma fila.
O que você recebe
Um único formato de resposta, oito grupos, todas as chaves sempre presentes. O explorador de campos lista cada chave com o seu tipo, e a referência da API (em inglês) é o próprio contrato.
{
"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 é exatamente uma de cinco strings: recognized, no_document_found, unreadable, unsupported_document, rejected.
- As datas estão sempre em ISO-8601. Um valor ausente é null, nunca uma chave faltando.
- meta.billed está em toda resposta e diz se aquela chamada custou alguma coisa.
- fields[] traz todos os campos do documento, lidos separadamente da zona codificada e da zona impressa, cada um com a sua própria confiança, para que as duas leituras possam ser comparadas. Valores na sua própria escrita chegam ao lado da transliteração latina, marcados com o seu idioma.
A titular do exemplo é um espécime sintético: uma pessoa inventada, com a aritmética real dos dígitos verificadores aplicada a valores inventados. A zona que ela traz é explicada na página de formatos de MRZ.
Quanto custa depois das chamadas grátis
1¢ por documento. Preço fixo, para toda conta, em qualquer volume.
Um único número, seja qual for o volume: sem faixas, sem tabela de preços para pedir, nada para negociar. Um crédito é um centavo de dólar, que é um documento reconhecido.
Só documentos reconhecidos são cobrados. Só é cobrado um documento reconhecido com sucesso. Uma leitura que não encontra nenhum documento, não consegue ler a imagem ou não consegue identificar o tipo responde com o seu veredito e não custa nada.
- ✓ 10 documentos reconhecidos grátis por endereço com a chave pública do sandbox, sem nenhuma conta, com no máximo 10 requisições por hora, seja qual for a resposta.
- ✓ 20 documentos grátis ao se cadastrar, creditados no seu saldo.
Como funciona a cobrança Como isso se compara com as alternativas
O que acontece com a imagem
Numa chave de sandbox nada é guardado. A imagem nunca é gravada em disco – ela fica na memória durante a requisição – e o resultado também não é armazenado. Com a sua própria chave live, um resultado é mantido para que você possa lê-lo de novo: pelas retain_hours que a requisição indicar ou, sem elas, pelo prazo de retenção da sua conta, que é de um ano (8760 horas) até você mudar.
Envie retain_hours: 0 para não guardar nada – nenhum resultado armazenado, nada para buscar depois. A escolha é sua, a cada chamada.
Quando a foto não pode ser lida
A resposta diz isso, e é grátis. meta.status distingue os casos, e nos três meta.billed é false:
no_document_found– nada com cara de documento no enquadramento.unreadable– encontrado, mas não foi possível ler – reflexo, desfoque, resolução.unsupported_document– lido, mas esse tipo não é suportado.
Cada resposta traz a sua própria divisão de tempos, e a mediana ao vivo é publicada na página de status em vez de ser prometida aqui.
Ferramentas grátis que não precisam de chave nenhuma
- Leitor de MRZ – cole uma zona TD1, TD2 ou TD3 e veja cada campo e cada dígito verificador. Roda no seu navegador.
- Gerador de MRZ – monte uma zona válida para testes.
- Explorador de campos do documento – navegue pelo vocabulário de campos com que a API responde.
Vai chamar a partir de um assistente, e não de código? O servidor MCP expõe o mesmo reconhecimento como três ferramentas.
Perguntas frequentes
O que é OCR de passaportes?
OCR de passaportes é a leitura automática da página de dados de um passaporte a partir de uma fotografia ou de um escaneamento. Ela tem duas metades. A zona de leitura mecânica (MRZ) são as duas linhas de 44 caracteres no pé da página, impressas em uma fonte feita para ser lida por máquina e protegidas por dígitos verificadores. A zona visual é tudo o que está impresso para uma pessoa: o mesmo nome, número e datas, mais o que a zona não traz – local de nascimento, autoridade emissora, o retrato. Ler só a primeira metade é mais fácil e diz menos; ler as duas permite compará-las.
Existe uma API de OCR de passaportes grátis?
Sim, dentro de limites. Esta publica na documentação uma chave de sandbox que executa 10 reconhecimentos reais por endereço IP sem conta e sem cartão, e o cadastro acrescenta 20 créditos – 30 documentos antes de qualquer pagamento. Offline, a biblioteca aberta PassportEye com tesseract lê a zona de leitura mecânica de graça na sua própria máquina; ela não lê o lado impresso, e a precisão dela com fotos de celular depende inteiramente do seu próprio pré-processamento de imagem. “Grátis para sempre em volume” não existe nesta categoria com ninguém, nós incluídos.
Quanto custa uma API de OCR de passaportes?
Aqui, $0.01 por documento, preço fixo, em qualquer volume, e nada quando o reconhecimento falha. Os preços de tabela publicados em outros lugares usam unidades diferentes – alguns fornecedores cobram por página, nós cobramos por documento –, então compare na mesma unidade antes de comparar os números. Os números, cada um lido na página do próprio fornecedor e com link para ela, estão na página de comparação.
Vocês guardam a imagem do passaporte?
Não. A imagem nunca é gravada em disco; ela existe na memória durante a requisição e some quando a resposta é enviada. Numa chave de sandbox o resultado também não é armazenado. Numa chave live ele é mantido pelas retain_hours que você passar ou, sem elas, pelo prazo de retenção da conta – um ano (8760 horas) até você mudar –, e retain_hours: 0 não guarda nada. Não há nenhum depósito de documentos aqui, e essa é a resposta curta sobre o que acontece com os passaportes dos seus usuários.
O que acontece se a foto estiver ilegível?
Você recebe uma resposta e nenhuma cobrança. A resposta traz meta.status – unreadable quando o documento foi encontrado mas não pôde ser lido, ou no_document_found quando não havia nada com cara de documento no enquadramento – e meta.billed em false. O grupo quality traz o veredito sobre a própria imagem. Fotografe de novo sem reflexo sobre a zona, preencha o enquadramento com a página de dados e mantenha a zona acima de cerca de 300 DPI.