Didit
Sign upGet a Demo

Email Verification

Verify emails with OTP and block risky addresses

Didit Email Verification confirms email ownership using one-time passcodes (OTP) and performs advanced risk assessment to detect disposable, undeliverable, duplicated, and breached emails in real time.

Trusted by +1000 companies worldwide

GBTC Finance
Bondex
Crnogorski Telekom
CrediDemo
Shiply
Adelantos
5 min

OTP validity

(Time-limited code)

Advanced

Risk assessment

(Breached, disposable, undeliverable)

Flexible

Integration

(Workflow or API)

HOW IT WORKS

How Email Verification works

WHY DIDIT EMAIL VERIFICATION

Why teams choose Didit for Email Verification

RISK-AWARE

More than OTP delivery

Didit combines OTP verification with email intelligence — disposable detection, deliverability checks, duplicate usage, and breach exposure — so you can stop risky emails early.

BREACH INTELLIGENCE

Know if an email has been compromised

If an email appears in known breaches, Didit can return breach details (source, date, data classes) so you can enforce stronger security for exposed users.

CONFIGURABLE

Control decisions with rules

Choose how your application handles disposable, undeliverable, duplicated, or breached emails — approve, review, or decline — based on your risk policy.

DEVELOPER-FIRST

Clean APIs and full visibility

Use simple REST endpoints, get structured JSON reports, receive webhooks instantly, and review everything in the Business Console — with transparent pay-per-use pricing.

Developer-First

Full TRANSPARENCY

Features pricing

No 🛠️ setup fees. No 💸 minimums. No 🎊 surprises. Just crystal-clear pricing ✨ charged only for completed features.

translation_v14.pricing.features.emailVerification.title
Email VerificationVerifies email ownership with a secure, time-limited OTP and runs risk checks (breach exposure, disposable provider, deliverability, reputation). Includes resend with rate limits, configurable expiry, and real-time results via dashboard, webhooks, and API.
$0.03
Email Verification APIProgrammatically send a time-limited OTP to a user’s email and validate the code via a separate endpoint. Instant JSON responses include verification status and risk signals (breach exposure, disposable provider, deliverability, reputation, duplicate use). Supports configurable expiry, resend with rate limits, webhooks, and localized templates.
$0.03

THE EASIEST TO INTEGRATE

Integrate Didit your way

Use Didit with no code or with a single API call. Go live in minutes.

No-code

Use prebuilt verification links to run the full KYC flow instantly — no engineering work needed.

Just share a link and receive results via webhooks or in the console.

Key points

  • Zero development required
  • Prebuilt, mobile-optimized flow
  • Controlled in the Console
  • Real-time decisions + webhooks
View documentation
Didit Console

BUILT FOR AI AGENTS

Integrate with just one prompt

The only identity platform your AI coding agent can fully integrate — credentials, workflows, webhooks, and production code — without opening a browser.

Claude CodeClaude Code
CursorCursor
GitHub CopilotGitHub Copilot
DevinDevin
OpenHandsOpenHands

One prompt. Full integration.

Paste this into Claude Code, Cursor, or Copilot. Your agent registers for API credentials, creates verification workflows, sets up webhooks, and writes integration code — end to end, from a single copy-paste.

Key points

  • Full API reference with every endpoint
  • Programmatic registration — no browser needed
  • All 5 SDK install commands included
  • 12 standalone APIs for granular control
View documentation
didit-integration.md
Integrate Didit identity verification into this project.

Didit is an all-in-one identity platform. Docs: https://docs.didit.me
Base URL: https://verification.didit.me/v3
Auth API: https://apx.didit.me/auth/v2


## Step 1: Get API credentials (no browser needed)

Register programmatically — 2 API calls:

POST https://apx.didit.me/auth/v2/programmatic/register/
Body: { "email": "dev@yourapp.com", "password": "SecurePass123!" }
→ Sends 6-char OTP to email

POST https://apx.didit.me/auth/v2/programmatic/verify-email/
Body: { "email": "dev@yourapp.com", "code": "ABC123" }
→ Returns { api_key, organization, application }

Or login if already registered:
POST https://apx.didit.me/auth/v2/programmatic/login/
Body: { "email": "...", "password": "..." }
→ Returns { access_token, refresh_token }

All subsequent API calls use: x-api-key: YOUR_API_KEY


## Step 2: Create a verification workflow

POST https://verification.didit.me/v3/workflows/
Headers: { "x-api-key": "YOUR_API_KEY", "content-type": "application/json" }
Body: {
  "name": "KYC Flow",
  "features": {
    "id_verification": true,
    "passive_liveness": true,
    "face_match": true,
    "aml_screening": false,
    "nfc": false,
    "ip_analysis": true,
    "phone_verification": false,
    "email_verification": false,
    "proof_of_address": false,
    "age_estimation": false,
    "database_validation": false,
    "questionnaire": false
  }
}
→ Returns { uuid: "workflow_id", ... }

Or list existing workflows: GET /v3/workflows/


## Step 3: Create verification sessions

POST https://verification.didit.me/v3/sessions/
Body: {
  "workflow_id": "WORKFLOW_ID",
  "vendor_data": "your-internal-user-id",
  "callback": "https://yourapp.com/api/didit/webhook"
}
→ Returns {
    session_id, session_token, session_number,
    url: "https://verify.didit.me/session/TOKEN"
  }

Redirect users to the url, or embed via SDK:
- Web: npm install @didit-protocol/sdk-web
- React Native: npx expo install @didit-protocol/sdk-react-native
- iOS: SPM github.com/didit-protocol/sdk-ios
- Android: me.didit:didit-sdk:3.2.0
- Flutter: flutter pub add didit_sdk


## Step 4: Get results

Option A — Webhook (recommended):
Configure callback URL. Didit sends POST with session data when status changes.
Verify webhook signature using your webhook secret (GET /v3/webhook/).

Option B — Poll:
GET https://verification.didit.me/v3/sessions/{session_id}/

Session statuses: Pending → In Progress → Approved | Declined | In Review | Expired

You can also: update status (PATCH /v3/sessions/{id}/status/),
generate PDF reports (POST /v3/sessions/{id}/generate-pdf/),
or delete sessions (DELETE /v3/sessions/{id}/).


## Standalone APIs (call individually without sessions)

POST /v3/id-verification/ — Submit document images, get OCR + authenticity
POST /v3/passive-liveness/ — Verify person is real from selfie
POST /v3/face-match/ — Compare two faces (similarity 0-100)
POST /v3/face-search/ — 1:N search against all approved sessions
POST /v3/age-estimation/ — Estimate age from face
POST /v3/aml-screening/ — Screen against 1,300+ watchlists
POST /v3/proof-of-address/ — Extract + validate address documents
POST /v3/database-validation/ — Government DB checks (18+ countries)
POST /v3/email/send/ + /v3/email/check/ — Email OTP
POST /v3/phone/send/ + /v3/phone/check/ — Phone OTP (SMS/WhatsApp)


## Pricing

Free core KYC: ID Verification + Passive Liveness + Face Match + IP Analysis (500 free/month)
Premium checks: Prepaid credits, no contracts, no minimums, credits never expire.
Details: https://didit.me/pricing


## Rate Limits

300 req/min per method, 600 session creations/min.
On 429: check Retry-After header.

CERTIFICATIONS

Certified for enterprise trust

Our platform meets the highest international standards for information security, data privacy, and biometric accuracy.

translation_v21.securityCompliance.certifications.items.gdpr.title

GDPR Compliant

Full EU data protection compliance

ISO 27001

ISO 27001

Information security management

translation_v21.securityCompliance.certifications.items.ibeta.title

iBeta Level 1

PAD (liveness + face match)

TRUSTED WORLDWIDE

What our customers say

Join thousands of companies that trust Didit for their verification needs

Logo

Didit’s NFC + active biometrics technology blocks the most advanced fraud scenarios, offering a level of security equivalent to or superior to in-person verification.

Spanish Financial Sandbox

CNMV, SEPBLAC & Spanish Treasury — Conclusions Report

Logo

Didit is an exceptionally valuable partner, delivering a stable and highly adaptable solution”.

Vuk Adžić

Head of the E-Business Department at Crnogorski Telekom

Logo

Didit offered us a robust technology with a simple implementation and adaptability to different markets”.

Fernando Pinto

CEO & CoFounder at TucanPay

Logo

Thanks to Didit we have been able to reduce manual processes and improve data extraction accuracy”.

Diana Garcia

Trust & Safety Executive at Shiply

Logo

Didit’s integration slashed verification times and costs, freeing resources for other projects”.

Guillem Medina

COO at GBTC Finance

Logo

Didit removed KYC costs, enabling faster scaling with high verification standards and less fraud.”

Paul Martin

VP Marketing & Growth at Bondex

Logo

Didit’s secure, user-friendly verification boosts customer trust and optimizes our process.”

Cristofer Montenegro

Executive assistant to the CEO at Adelantos

Logo

Didit ensures a precise, secure digital onboarding without slowing negotiations or client time.”

Ernesto Betancourth

Gerente de riesgos at CrediDemo

EMAIL VERIFICATION FAQ

Questions about Email Verification

Email Verification confirms that an email address is reachable and controlled by the user using a one-time passcode (OTP). It is a critical step to prevent fake accounts, reduce fraud, ensure reliable communication, and improve overall account security.

Start verifying users in minutes

Get a free account, instant sandbox, and full access to every feature. No contracts. No sales calls. No credit card required.