Verifica qualsevol correu electrònic. Detecta adreces falses en el registre.
Detecta adreces de correu electrònic falses, temporals i compromeses abans que arribin a la teva base de dades. Una sola trucada cobreix la sintaxi, la lliurabilitat, la intel·ligència del proveïdor i un OTP (contrasenya d'un sol ús) de sis dígits. 0,03 $ per comprovació, 500 gratuïtes/mes.
Confiat per més de 2.000 organitzacions a tot el món.
Més enllà de la sintaxi
MX, d'un sol ús, de rol, i puntuació de risc.
Provem la capacitat de lliurament en temps real, senyalem les adreces d'un sol ús i de rol, i retornem una
puntuació de risc que el teu flux de treball pot utilitzar. 0,03 $ per comprovació.
Com funciona
Des del registre fins a l'usuari verificat en quatre passos.
Pas 01
Crea el flux de treball
Tria les comprovacions que vulguis: identificació, prova de vida, coincidència facial, sancions, adreça, edat, telèfon, correu electrònic, preguntes personalitzades. Arrossega-les a un flux al tauler de control, o publica el mateix flux a la nostra API. Crea ramificacions segons condicions, fes proves A/B, sense necessitat de codi.
Pas 02
Integra
Integra de forma nativa amb els nostres SDK per a Web, iOS, Android, React Native o Flutter. Redirigeix a una pàgina allotjada. O simplement envia un enllaç al teu usuari, per correu electrònic, SMS, WhatsApp, on vulguis. Tria el que millor s'adapti al teu stack.
Pas 03
L'usuari segueix el flux
Didit allotja la càmera, les indicacions d'il·luminació, el traspàs mòbil i l'accessibilitat. Mentre l'usuari està en el flux, puntuam més de 200 senyals de frau en temps real i verifiquem cada camp amb fonts de dades autoritzades. Resultat en menys de dos segons.
Pas 04
Rebràs els resultats
Els webhooks signats en temps real mantenen la teva base de dades sincronitzada en el moment en què un usuari és aprovat, rebutjat o enviat a revisió. Consulta l'API sota demanda. O obre la consola per inspeccionar cada sessió, cada senyal i gestionar els casos a la teva manera.
Creat per a desenvolupadors · Dissenyat contra el frau · Obert per disseny
Sis funcionalitats. Una feature flag. EMAIL_VERIFICATION.
Cada funcionalitat és un interruptor al mateix mòdul. Sense nivells de venda addicional, sense plans separats, sense trucades addicionals. Activa-les per flux de treball a la consola o passa-les en línia a la crida de l'API.
Sintaxi, registres de correu i sonda en viu, cada trucada.
Analitzem la sintaxi, consultem els registres MX (mail exchange) i obrim una connexió amb el servidor de destinació per confirmar que l'adreça és accessible. La resposta inclou un booleà net que el teu flux de treball pot utilitzar.
Pila de lliuramentalex.sample@flytap.com
Sintaxi RFC 5322Part local + domini analitzat
Cerca MX1 registre · 10 ms
Sonda SMTP250 OK · accepta correu
no_lliurablefalse
02 · Intel·ligència del proveïdor
Correu d'un sol ús. Proveïdors gratuïts. Atrapa'ls abans que entrin.
Catàleg actualitzat de serveis d'un sol ús (10minutemail, mailinator, guerrilla), proveïdors gratuïts (Gmail, Outlook, Yahoo, ProtonMail) i serveis de màscara emergents. Cada etiqueta es correspon amb una acció de rebuig, revisió o aprovació que pots ajustar per aplicació.
03 · Exposició a bretxes
Descobreix si la bústia s'ha filtrat. Abans de donar-li accés.
Cada adreça es comprova amb una base de dades de bretxes agregada. La resposta enumera cada filtració en què apareix l'adreça, nom, data de la bretxa, classes de dades exposades, perquè el teu equip de compliment tingui el rastre de proves per al registre AML (anti-blanqueig de capitals).
04 · Confirmació OTP
Codi de sis dígits. Validesa de cinc minuts. Plantilla localitzada.
Utilitza la nostra pantalla d'entrada allotjada o el teu propi formulari. Dos intents per sessió, dos reenviament cada 24 hores, validesa de cinc minuts, tots els límits aplicats per a tu. La plantilla s'autolocalitza a l'idioma preferit de l'usuari.
05 · Antiavalots
Detecció de catch-all. Filtració per rol. Duplicats entre sessions.
Les advertències configurables mostren tots els patrons d'abús: bretxa, d'un sol ús, duplicat entre sessions o a la llista negra. Dues denegacions automàtiques (massa intents, adreça no lliurable) es mantenen aplicades independentment de la política. Les adreces catch-all i basades en rols es detecten abans que s'enviï el codi.
Política de risc5 avisos · 3 accions
EMAIL_CODE_ATTEMPTS_EXCEEDEDRebuig automàtic
EMAIL_IN_BLOCKLISTRebuig automàtic
DISPOSABLE_EMAIL_DETECTEDRebutjar
BREACHED_EMAIL_DETECTEDRevisar
DUPLICATED_EMAILRevisar
06 · Preus
0,03 $ per comprovació. 500 gratuïtes cada mes. Per sempre.
El mateix preu de 0,03 $ tant per al flux allotjat com per a l'API autònoma. Sense comissions de plataforma, sense mínim mensual, sense sorpreses per excés. Encadena la verificació de correu electrònic davant d'una comprovació completa de coneixement del client (KYC) de 0,33 $ per filtrar els registres brossa abans que consumeixin un crèdit.
FacturacióPúblic · per verificació
Per verificació
$0.03
Ruta A o Ruta B
Nivell gratuït
500/mo
Per sempre, sense targeta
Sense mínimPaga per èxit
S'encadena amb KYC+paquet de 0,33 $
Integra
Dos endpoints. El mateix JSON. El mateix preu.
Tria el flux allotjat quan vulguis que nosaltres gestionem l'entrada de codi i l'encadenem a un flux de treball més ampli. Tria l'API autònoma quan tu controlis la interfície d'usuari. Ambdós retornen el mateix informe.
Desplega la verificació de correu electrònic amb una sola indicació.
Enganxa el bloc següent a Claude Code, Cursor, Codex, Devin, Aider o Replit Agent. Omple la teva pila. L'agent provisiona Didit, crea el flux de treball de verificació de correu electrònic, connecta el webhook i ho desplega.
didit-integration-prompt.md
# Didit Email Verification — integrate in 5 minutes
You are integrating Didit's Email Verification module into <my_stack>.
Follow these steps exactly. Every URL, header, and enum value below is
canonical — do not paraphrase or "improve" them. The module covers:
syntax validation, MX (Mail Exchange) lookup, SMTP (Simple Mail Transfer
Protocol) deliverability probe, disposable-provider detection,
free-provider detection, breach exposure lookup (HaveIBeenPwned-style),
catch-all + role-based anti-abuse signals, OTP (one-time password)
confirmation, and a configurable risk policy that can chain straight
into a Know Your Customer (KYC) (know your customer) workflow.
## 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 host the OTP entry screen, localize the
email template, handle resend cool-downs, and chain Email Verification
into a wider KYC / KYB workflow.
1. Create a workflow that contains the EMAIL_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: "EMAIL_VERIFICATION" } (UPPERCASE — strict enum)
Optional config: per-warning action overrides (Decline / Review /
Approve) for BREACHED_EMAIL_DETECTED, DISPOSABLE_EMAIL_DETECTED,
DUPLICATED_EMAIL, and EMAIL_IN_BLOCKLIST.
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),
optional contact_details.email (pre-fills the OTP step).
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 own the OTP UI and just want Didit to send and
validate the code plus return the risk signals.
Two endpoints, both authenticated with x-api-key:
POST https://verification.didit.me/v3/email/send/
Body (application/json):
- email (required, string — RFC 5322 address)
- language (optional, ISO 639-1 code — picks the email template)
- vendor_data (optional string, your user id)
Returns: { reference_id }
POST https://verification.didit.me/v3/email/check/
Body (application/json):
- reference_id (required, from /email/send/)
- code (required, 6-digit string the user typed)
Returns: the full email-verification report (see Section 4).
Use the same vendor_data on retries so cross-session matches work.
## 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"]
- 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.
Two module-level event types fire alongside the session events above:
- EMAIL_VERIFICATION_MESSAGE_SENT — OTP was dispatched
- EMAIL_VERIFICATION_DECLINED — verification finished with a
Declined status (caller should
surface the warning to the user)
## 4. Reading the report (both paths return the same shape)
The email object includes:
- status: "Approved" | "Declined" | "In Review" | "Not Finished"
- email: the address that was verified
- is_breached: boolean — true when the address appears in known breaches
- breaches: array of { name, domain, logo_path, breach_date,
description, is_verified, data_classes,
breach_emails_count }
- is_disposable: boolean — true for throwaway providers
- is_undeliverable: boolean — true when MX + SMTP probe failed
- verification_attempts: number — OTP attempts used (max 2)
- verified_at: ISO 8601 timestamp
- matches: array of cross-session hits, each carrying session_id,
session_number, vendor_data, verification_date, email,
status, is_blocklisted
- warnings: Array<{ risk, additional_data, log_type,
short_description, long_description }>
Auto-decline risks (always enforced by Didit, not configurable):
- EMAIL_CODE_ATTEMPTS_EXCEEDED
- EMAIL_IN_BLOCKLIST
- UNDELIVERABLE_EMAIL_DETECTED
Configurable risks (action per workflow — Decline, Review, or Approve):
- BREACHED_EMAIL_DETECTED (exposure / breach intelligence)
- DISPOSABLE_EMAIL_DETECTED (temporary / throwaway provider)
- DUPLICATED_EMAIL (cross-session match on another user)
Anti-abuse limits (enforced server-side):
- Code Entry Attempts: max 2 tries to type the right OTP
- Code Resend Requests: max 2 resends per 24 hours
- Code Validity: 5 minutes from delivery
## 5. Chaining Email Verification into a KYC flow
EMAIL_VERIFICATION is a regular feature inside the Workflow Builder, so
it composes with any of the 25+ other modules. The canonical patterns:
- Cheap pre-filter: gate KYC behind Email Verification so disposable +
breached + undeliverable signups never burn a $0.33 KYC bundle. Use a
conditional branch — if status is Declined on email, skip
ID_VERIFICATION + LIVENESS + FACE_MATCH.
- Compliance log: keep Email Verification in the flow even when KYC is
the primary check, so the verified email is timestamped and signed
alongside the ID Verification report for Anti-Money Laundering (AML) (anti-money laundering)
recordkeeping.
- Step-up auth: rerun Email Verification at a sensitive action (large
withdrawal, password reset) using the same workflow + vendor_data
for closed-loop continuity.
## 6. Hard rules — do not change
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Feature enum is UPPERCASE: EMAIL_VERIFICATION, ID_VERIFICATION,
LIVENESS, FACE_MATCH, AML, IP_ANALYSIS, PHONE_VERIFICATION.
- 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",
"Not Finished" (title-cased, space-separated).
## 7. Pricing reference (public)
- Email Verification: $0.03 per check (Path A or Path B).
- Bundled inside a full KYC workflow: same $0.03 add-on — the $0.33
full-KYC bundle does not include EMAIL_VERIFICATION by default.
- 500 free checks every month, forever, on every account.
## 8. Verify your integration
- Sandbox starts on signup at https://business.didit.me — no separate flag.
- Test emails: deterministic synthetic addresses returned in sandbox
(Approved by default; trigger Declined by sending the canonical
disposable / breached test addresses listed in the docs).
- Switch to live: flip the application's environment toggle in console.
When in doubt: https://docs.didit.me/core-technology/email-verification/overview
Compliment per disseny
Obre un nou país amb un clic. Nosaltres fem la feina difícil.
Obrim les filials locals, assegurem les llicències, realitzem les proves de penetració, obtenim les certificacions i ens alineem amb cada nova regulació. Per desplegar verificacions en un nou país, només has d'activar un interruptor. Més de 220 països en funcionament, auditats i provats trimestralment, l'únic proveïdor d'identitat que un govern d'un estat membre de la UE ha qualificat formalment com més segur que la verificació presencial.
Per verificació, mateix preu en flux allotjat o API autònoma.
0
Verificacions de correu electrònic gratuïtes cada mes, per sempre, en cada compte.
0 min
Validesa del codi d'un sol ús: tots els límits aplicats per tu.
0
Codis d'advertència configurables més 3 rebuigs automàtics forçats.
Tres nivells, una llista de preus
Comença gratis. Paga per ús. Escala a Enterprise.
500 verificacions gratuïtes cada mes, per sempre. Pagament per ús per a producció. Contractes personalitzats, residència de dades i SLA (Acords de Nivell de Servei) a Enterprise.
Gratuït
Gratuït
0 $ / mes. No es requereix targeta de crèdit.
Paquet KYC gratuït (Verificació d'identitat + Prova de vida passiva + Coincidència facial + Anàlisi de dispositius i IP), 500 / mes, cada mes