MRZ-Code auslesen
Liest die maschinenlesbare Zone (MRZ) am unteren Rand von Reisepass oder Personalausweis aus und gibt Name, Dokumentennummer, Nationalität, Geburtsdatum und Gültigkeit als strukturierte Daten zurück. Nur für KYC-Prozesse mit Einwilligung der betroffenen Person gedacht, ausdrücklich nicht für Überwachung oder heimliche Identifizierung.
Online ausführen
Führen Sie dies mit Ihrem Konto auf unseren Servern aus. Kostenlose Tools laufen in Ihrem Browser; dieses wird zum oben genannten Preis von Ihrem KIT-Guthaben abgebucht.
Was die MRZ ist
Die MRZ ist die Zeile aus Buchstaben, Ziffern und Fülleichen am unteren Rand eines Reisepasses oder Personalausweises. Sie enthält die wichtigsten Dokumentdaten in genormter Form, zusammen mit Prüfziffern, mit denen sich die Richtigkeit der ausgelesenen Werte rechnerisch bestätigen lässt, statt sich allein auf die Bilderkennung der einzelnen Zeichen verlassen zu müssen. Genau diese Prüfziffern machen die MRZ zu einer besonders robusten Datenquelle.
Welche Felder zurückgegeben werden
Dokumententyp, ausstellender Staat, Name, Dokumentennummer, Nationalität, Geburtsdatum, Geschlecht und Ablaufdatum werden aus der MRZ gelesen. Die enthaltenen Prüfziffern werden dabei automatisch mitgeprüft, was die MRZ-Auslesung besonders verlässlich macht und Tippfehler bei der Übernahme in ein Onboarding- oder Check-in-System nahezu ausschließt, weil eine falsch gelesene Ziffer die Prüfsumme nicht mehr aufgehen lässt und das Ergebnis dann als unsicher markiert wird, statt stillschweigend übernommen zu werden.
Nur mit Einwilligung, ohne Speicherung
Die Funktion ist ausschließlich für KYC-Prozesse mit ausdrücklicher Einwilligung der Person vorgesehen, etwa beim Check-in oder bei einer Anmeldung. Das hochgeladene Foto wird zur Erstellung der Daten verarbeitet und danach nicht gespeichert, unabhängig davon, wie oft die Funktion genutzt wird oder wie viele Personen an einem Tag erfasst werden. Der Ablauf bleibt für jede Person gleich, unabhängig vom Ausstellungsland des Dokuments.
Was es kostet
$0.010 pro Anfrage plus $0.0575 pro Bild, ohne Abonnement und ohne Mindestmenge. Für Prozesse mit vielen Check-ins pro Tag lässt sich die Funktion direkt über die API in die eigene Anwendung einbinden, statt jedes Dokument manuell auf dieser Seite hochzuladen und das Ergebnis einzeln zu übertragen, was bei hohem Andrang spürbar Zeit an der Anmeldung oder am Terminal spart, ohne die Warteschlange länger werden zu lassen.
Anwendungsfälle
Selbstbedienungs-Check-in am Flughafen
Ein Bodendienstleister lässt Reisende am Selbstbedienungsterminal ihren Reisepass mit Einwilligung scannen, um die MRZ für die Boarding-Erfassung auszulesen.
Jugendherberge erfasst Ausweisdaten schneller
Eine Jugendherberge liest mit Zustimmung der Gäste die MRZ des Personalausweises aus, um die gesetzlich vorgeschriebene Meldung beim Check-in zu beschleunigen.
Online-Antrag mit Passvalidierung
Ein Dienstleister für Visa-Anträge lässt Antragstellende mit Einwilligung ihren Reisepass fotografieren, um Name und Passnummer automatisch ins Antragsformular zu übernehmen.
Mietwagenstation ohne Warteschlange
Eine Autovermietung liest mit Zustimmung der Mietenden die MRZ des Personalausweises am Terminal aus, um die Übergabe ohne manuelle Eingabe zu beschleunigen.
Häufige Fragen
Ist eine Einwilligung der Person zwingend?
Ja. Die Funktion ist ausschließlich für KYC-Prozesse mit ausdrücklicher Einwilligung der Person vorgesehen und nicht für Überwachung oder Identifizierung ohne Zustimmung.
Wird das Foto des Dokuments gespeichert?
Nein, es wird nur zur Erstellung der MRZ-Daten verarbeitet und anschließend nicht gespeichert.
Was unterscheidet die MRZ-Auslesung vom vollständigen Auslesen eines Ausweisdokuments?
Die MRZ enthält Prüfziffern, mit denen sich die Richtigkeit der gelesenen Werte rechnerisch bestätigen lässt. Wer zusätzlich Felder benötigt, die nicht in der MRZ stehen, ist mit der vollständigen Auslesung des Ausweisdokuments besser bedient.
Funktioniert das mit Reisepässen aus verschiedenen Ländern?
Die MRZ folgt einem internationalen Standard, daher werden Reisepässe unterschiedlicher Länder grundsätzlich gleich gelesen. Sehr beschädigte oder verblasste MRZ-Zeilen senken die Genauigkeit.
Ist für den Einsatz eine Registrierung notwendig?
Nein, es gibt derzeit keine Konten. Sie zahlen direkt pro verarbeitetem Bild.
Was kostet eine einzelne Auslesung?
$0.010 Grundgebühr pro Anfrage plus $0.0575 pro Bild, veröffentlicht und ohne versteckte Kosten.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
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"}'const res = await fetch("https://api.kit.forhosting.com/ocr/mrz", {
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/mrz",
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/mrz", 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/mrz", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"image": "https://ejemplo.com/imagen.jpg"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ocr.mrz",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 25 |
max_pages | 10 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
422 | task_failed | Die Aufgabe ist fehlgeschlagen und wird nicht berechnet. |