Verifiziere einen Reisepass, Personalausweis, Führerschein oder eine Aufenthaltsgenehmigung aus jedem Land. 14.000+ Dokumente, Ergebnis in unter 2 Sekunden, $0.15 pro Prüfung, 500 kostenlos/Monat.
Spanischer DNI, japanische My Number, britischer Reisepass. Jeden Monat kommen neue Dokumente hinzu –
gleiche $0.15 pro Prüfung, gleiches Ergebnisformat, gleiche Antwortzeit von unter 2 Sekunden.
So funktioniert's
Vom Anmelden zum verifizierten Nutzer in vier Schritten.
Schritt 01
Workflow erstellen
Wähle die gewünschten Prüfungen aus, ID, Liveness, Face Match, Sanktionen, Adresse, Alter, Telefon, E-Mail, benutzerdefinierte Fragen. Ziehe sie im Dashboard in einen Flow oder poste den gleichen Flow an unsere API. Verzweige nach Bedingungen, führe A/B-Tests durch, kein Code erforderlich.
Schritt 02
Integrieren
Bette nativ mit unserem Web-, iOS-, Android-, React Native- oder Flutter-SDK ein. Leite zu einer gehosteten Seite weiter. Oder sende deinem Nutzer einfach einen Link, per E-Mail, SMS, WhatsApp, überall. Wähle, was zu deinem Stack passt.
Schritt 03
Nutzer durchläuft den Flow
Didit hostet die Kamera, die Beleuchtungshinweise, die mobile Übergabe und die Barrierefreiheit. Während der Nutzer den Flow durchläuft, bewerten wir über 200 Betrugssignale in Echtzeit und verifizieren jedes Feld anhand autoritativer Datenquellen. Ergebnis in unter zwei Sekunden.
Schritt 04
Du erhältst die Ergebnisse
Echtzeit-signierte Webhooks halten deine Datenbank synchron, sobald ein Nutzer genehmigt, abgelehnt oder zur Überprüfung gesendet wird. Frage die API bei Bedarf ab. Oder öffne die Konsole, um jede Session, jedes Signal zu überprüfen und Fälle nach deinen Wünschen zu verwalten.
Für Entwickler gemacht · Gegen Betrug gebaut · Offen im Design
Sechs Funktionen. Ein Feature Flag. ID_VERIFICATION .
Jede der unten genannten Funktionen ist ein Schalter im selben Modul. Keine Upsell-Stufen, keine separaten SKUs, keine zusätzlichen Anrufe. Schalte sie pro Workflow in der Konsole ein oder übergebe sie inline, wenn du den Standalone-Endpunkt aufrufst.
Pässe, Personalausweise, Führerscheine, Aufenthaltsgenehmigungen. Über 130 Sprachen, über 50 Schriften (Lateinisch, Arabisch, Kyrillisch, CJK, Devanagari, Hebräisch, Thai, Georgisch). Monatlich kommen neue Dokumente hinzu. Länderspezifische Subtyp-Kontrollen, akzeptiere Indiana Operator und New York Enhanced separat, falls die Richtlinie dies erfordert.
Supported documents
Updated this month
Live
220+
Countries
14,000+
Document types
130+
Languages
50+
Scripts
PassportID cardDriver's licenseResidence permit
🇪🇸ES
🇺🇸US
🇧🇷BR
🇩🇪DE
🇲🇽MX
🇮🇳IN
🇫🇷FR
🇬🇧GB
🇯🇵JP
🇳🇬NG
🇦🇪AE
🇸🇬SG
02 · Datenextraktion
Visuelle Felder, MRZ und Barcode, abgeglichen.
Alle visuellen, MRZ- (maschinenlesbare Zone) und Barcode-Felder in einem Durchgang extrahiert. Die drei werden abgeglichen, bevor die Antwort unsere Edge verlässt. Inkonsistenzen werden als Warnungen angezeigt, damit du den Fall zur manuellen Überprüfung weiterleiten kannst.
Personal data
OCR · MRZ · Barcode
First name
Olivia
Matches with Data provided via API: Olivia
Last name
Roy
Date of birth
28/06/1971
Document type
Passport
Issuing state
Spain🇪🇸
Document number
3EB8726CC6E0F979
03 · Authentizität
Dokument echt. Porträt intakt. Keine Bildschirmaufnahme.
Template-Abgleich mit der zertifizierten Datenbank. Hologramm- und Mikrodruckerkennung. Überprüfung der Porträtintegrität. Dokumenten-Liveness vereitelt vier gängige Angriffsvektoren, Bildschirmaufnahmen, Handyfotos, gedruckte Kopien und Porträt-Substitutionen auf ansonsten echten Dokumenten.
Document authenticity
Authentic
Document portrait
Live capture
Similarity 94%
Template match
Hologram detected
Microprint intact
Document liveness passed
04 · Erfassungsqualität
Unschärfe und Blendung abweisen, bevor sie zur Überprüfung gelangen.
Fokus, Helligkeit und Auflösung werden pro Einreichung mit 0–100 bewertet, plus einer gewichteten Gesamtpunktzahl. Außerhalb des Rahmens liegende Ecken und überbelichtete Seiten werden explizit markiert. Einstellbare Schwellenwerte lehnen qualitativ minderwertige Aufnahmen direkt ab, damit sie nie deine manuelle Überprüfungswarteschlange erreichen.
Capture quality
Capture ready
Hold steady
Overall score
91/100
Focus92
Brightness88
Resolution95
05 · Risikopolitik
Entscheiden. Prüfen. Genehmigen. Pro Risiko. Pro Anwendung.
Jede Risikokategorie, doppelter Nutzer, ungültige MRZ, Dateninkonsistenz, geringe Dokumenten-Liveness, wird einer Ablehnung, Überprüfung oder Genehmigung zugeordnet. Passe die Richtlinie pro Anwendung, Land und Dokumententyp an. Automatische Ablehnungs-Trigger (abgelaufen, auf Sperrliste, nicht unterstützt) bleiben unabhängig von deinen Einstellungen aktiv.
Risk policy
5 categories
Risk categoryAction
Duplicated user
Decline
Invalid MRZ
Review
Data inconsistency
Review
Invalid validation
Decline
Low document liveness
Approve
06 · Laufendes KYC
Dokumente laufen ab. Erkenne es, bevor es der Regulator tut.
Wir verfolgen das Ablaufdatum jedes Dokuments, das du speicherst. Wenn eines abläuft, ändert sich der KYC-Status des Nutzers automatisch und wir benachrichtigen dich per Webhook. Keine Batch-Jobs, kein vierteljährlicher Re-Onboarding-Sprint, die KYC-Aktualisierung bleibt kontinuierlich und du bleibst AML-Richtlinien-konform.
Document monitoring
Auto-tracks expiry · webhook on status change
Live
1,284
Active
47
Expiring soon
9
Expired
Webhook fired · usr_9f01a3c moved to Kyc expired12s ago
Ausr_a8c4f02Passport12 Mar 2027Active
Musr_4d2b6e1ID card08 Jun 2026Expiring
Lusr_9f01a3cDriving license21 Sep 2025KYC expired
Integrieren
Zwei Endpunkte. Gleiches JSON. Gleicher Preis.
Erstelle eine Session, wenn unsere gehostete UI die Erfassung übernehmen soll, oder rufe den Standalone-Endpunkt auf, wenn du das Bild bereits hast. Beide geben den gleichen id_verification-Bericht zurück.
Füge den folgenden Block in Claude Code, Cursor, Codex, Devin, Aider oder Replit Agent ein. Ersetze den Platzhalter `my_stack` durch dein Framework, deine Sprache und deinen Anwendungsfall. Der Agent provisioniert Didit, erstellt den Workflow mit aktivierter ID-Verifizierung, verbindet den Webhook und liefert aus.
didit-integration-prompt.md
# Didit ID Verification — integrate in 5 minutes
You are integrating Didit's ID Verification module into <my_stack>. Follow
these steps exactly. Every URL, header, and enum value below is canonical —
do not paraphrase or "improve" them.
## 1. Provision an account
- Sign up: https://business.didit.me (no credit card required).
- Or provision programmatically: POST https://apx.didit.me/auth/v2/programmatic/register/
(returns an API key bound to the workspace + application).
## 2. Two integration paths — pick one
### Path A — Workflow Builder (hosted UI)
Best when you want Didit to handle camera, lighting cues, retries,
mobile handoff, and accessibility for you.
1. Create a workflow that contains the ID_VERIFICATION feature:
POST https://verification.didit.me/v3/workflows/
Authorization header: x-api-key: <your-api-key>
Body: workflow_label, features array with the single entry
{ feature: "ID_VERIFICATION" } (UPPERCASE — strict enum)
2. Create a verification session for an end user:
POST https://verification.didit.me/v3/session/
Body: workflow_id (from step 1), vendor_data (your own user id).
Response: session_url — redirect the user to it.
3. Listen for webhook callbacks (see "Webhooks" below).
### Path B — Standalone server-to-server API
Best when you already have the document image (mobile SDK capture, native
onboarding app, reseller pipeline).
POST https://verification.didit.me/v3/id-verification/
Content-Type: multipart/form-data
Body fields:
- front_image (required, file)
- back_image (optional, file)
- vendor_data (optional string, your user id)
Response: JSON report with extracted fields, image quality scores,
warnings array, and the verdict.
## 3. Webhooks (Path A only — Path B returns synchronously)
- Register a webhook destination once via
POST https://verification.didit.me/v3/webhook/destinations/
Body: url, subscribed_events: ["session.verified", "session.review_started",
"session.declined", "kyc_expired"]
- Response includes secret_shared_key — store it.
- Every webhook delivery carries an X-Signature-V2 header you MUST verify
before trusting the payload. HMAC-SHA256 verification MUST run against the raw body bytes (the raw payload as Didit sent it) BEFORE any JSON parsing — re-serialising the parsed body changes whitespace and key order, which invalidates the signature.Algorithm:
1. sortKeys(payload) recursively
2. shortenFloats (truncate trailing zeros after the decimal point)
3. JSON.stringify the result
4. HMAC-SHA256 with the secret_shared_key
5. Hex-encode, compare to the X-Signature-V2 header.
## 4. Reading the report (both paths return the same shape)
The id_verification object includes:
- status: "Approved" | "Declined" | "In Review" | "Expired" | "Not Finished"
- document_type: "Passport" | "Identity Card" | "Driver's License" | "Residence Permit" | null
- document_number, personal_number
- front_image, back_image, portrait_image (signed URLs, expire in 1 hour)
- date_of_birth (YYYY-MM-DD), age (number)
- expiration_date, date_of_issue (YYYY-MM-DD)
- issuing_state, issuing_state_name (ISO 3166-1 alpha-3 + display name)
- first_name, last_name, full_name
- gender ("M" | "F" | "U"), nationality (ISO 3166-1 alpha-3)
- address, formatted_address, parsed_address (street_1, street_2, city,
region, postal_code, geometry { lat, lng })
- front_image_quality_score / back_image_quality_score (focus, brightness,
resolution, overall, each 0-100)
- warnings: Array<{ risk, log_type, short_description, long_description }>
## 5. Hard rules — do not change
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Feature enum is UPPERCASE: ID_VERIFICATION, LIVENESS, FACE_MATCH, AML, IP_ANALYSIS.
- Auth header is x-api-key (lowercase, hyphenated).
- Webhook signature header is X-Signature-V2 (NOT X-Signature).
- Always verify webhook signatures before trusting payload data.
- Status casing matches exactly: "Approved", "Declined", "In Review",
"Expired", "Not Finished" (title-cased, space-separated).
## 6. Pricing reference (public)
- Path A bundled in a full KYC workflow: $0.33 per session
- Path B standalone /v3/id-verification/ call: $0.15 per call
- 500 free verifications every month, forever, on every account.
## 7. Verify your integration
- Sandbox starts on signup at https://business.didit.me — no separate flag.
- Test docs: deterministic synthetic IDs returned in sandbox.
- Switch to live: flip the application's environment toggle in console.
When in doubt: https://docs.didit.me/core-technology/id-verification/overview
Compliant by Design
Ein neues Land mit einem Klick erschließen. Wir machen die Arbeit.
Wir gründen lokale Tochtergesellschaften, sichern Lizenzen, führen Penetrationstests durch, erhalten Zertifizierungen und passen uns jeder neuen Regulierung an. Um Verifizierungen in einem neuen Land zu starten, legst du einfach einen Schalter um. Über 220 Länder live, vierteljährlich auditiert und Pen-getestet, der einzige Identitätsanbieter, den eine EU-Mitgliedsregierung offiziell als sicherer als die persönliche Verifizierung eingestuft hat.
Ausweisdokumenttypen in der zertifizierten Datenbank.
<0s
End-to-End-Inferenz pro Verifizierung.
$0.00
Pro eigenständiger ID-Prüfung. 500 kostenlos jeden Monat.
Drei Stufen, eine Preisliste
Kostenlos starten. Nach Nutzung zahlen. Bis zum Enterprise-Level skalieren.
500 kostenlose Verifizierungen jeden Monat, für immer. Pay-as-you-go für die Produktion. Individuelle Verträge, Datenresidenz und SLAs (Service Level Agreements) für Enterprise.