Estrarre i dati da un documento d'identità
Strumento per estrarre i dati da un documento d'identità — carta d'identità, patente, passaporto: carichi la foto e ricevi in campi ordinati nome, cognome, numero del documento, date e scadenza. Pensato per l'onboarding e le verifiche KYC, e utilizzabile solo con il consenso del titolare del documento.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Uso consentito: solo KYC con consenso
Questa capacità va usata esclusivamente per verifiche di identità (KYC) con il consenso della persona a cui appartiene il documento. È vietato usarla per sorveglianza o per identificare qualcuno a sua insaputa. L'immagine non viene conservata: serve solo a estrarre i campi in quel momento e viene eliminata subito dopo. Diciamo questo prima di tutto perché i documenti d'identità sono dati particolarmente sensibili e il loro trattamento ha regole precise.
Quali campi estrae
Dal documento ricava i dati anagrafici (nome, cognome, data e luogo di nascita), il tipo e il numero del documento, l'autorità di rilascio, la data di emissione e quella di scadenza. Gestisce i documenti d'identità italiani e stranieri più comuni. Per i documenti con banda a lettura ottica in fondo esiste una capacità dedicata a quella riga; qui il focus è sui campi in chiaro stampati sul fronte del documento.
Nel flusso di onboarding e prezzo
Carichi la foto del documento dal browser o via API e ricevi i campi separati, pronti da precompilare in un modulo di registrazione: invece di far digitare i dati alla persona, li leggi dal documento con il suo consenso e riduci gli errori. Prezzo pubblicato e a consumo: $0.010 a richiesta più $0.0575 a immagine, senza abbonamento. Questa capacità è in beta: consigliamo una verifica dei campi critici, come numero e scadenza.
Casi d'uso
Registrazione più rapida
Una piattaforma che apre account precompila il modulo dai dati del documento, con il consenso dell'utente, così la persona non ribatte nome e numero a mano.
Verifica per un contratto
Rossi & Figli S.r.l., all'apertura di un rapporto commerciale, estrae i dati del documento del referente — con il suo consenso — per allineare l'anagrafica.
Check-in di una struttura
Una struttura ricettiva velocizza il check-in leggendo i dati del documento dell'ospite consenziente, invece di trascriverli a mano al banco.
Domande frequenti
Posso usarlo su qualsiasi documento?
No. È consentito solo per verifiche di identità (KYC) con il consenso del titolare del documento. È vietato l'uso per sorveglianza o per identificare qualcuno senza che lo sappia e lo autorizzi.
L'immagine del documento viene conservata?
No. L'immagine serve solo a estrarre i campi in quel momento e viene eliminata subito dopo: non la memorizziamo. Trattandosi di un dato molto sensibile, è una scelta a cui teniamo, nel rispetto del GDPR.
Che campi restituisce?
Nome e cognome, data e luogo di nascita, tipo e numero del documento, autorità di rilascio, date di emissione e scadenza. Pronti per precompilare un modulo di registrazione.
E la banda a lettura ottica in fondo?
Quella riga (MRZ) ha una capacità dedicata, pensata apposta per il tracciato a due o tre righe. Qui leggiamo invece i campi in chiaro stampati sul fronte del documento.
Perché è indicato come beta?
Perché la varietà di documenti è ampia e la stiamo affinando: è utilizzabile, ma su campi critici come numero e scadenza consigliamo sempre una verifica prima dell'uso.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/ocr/id-document \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/ocr/id-document", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ocr/id-document",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ocr/id-document", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ocr/id-document", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"image": "https://ejemplo.com/imagen.jpg"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ocr.id_document",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 25 |
max_pages | 10 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |