
Verify before save
Stop bad addresses at signup before they land in your database or trigger OTP.
Open dashboardEmail verification API
Catch typos, disposable domains, and bad MX before you send notifications.
Same engine as POST /api/v1/email/verify
Catch bad addresses in signup.
Skip invalid and disposable mail.
Keep your Gmail or SMTP clean.
Score, status, and did-you-mean.
From the first check to your API call: the same flow developers use in the dashboard and in code.

Stop bad addresses at signup before they land in your database or trigger OTP.
Open dashboard
Format, MX, disposable, then ready to notify. Same path as Dashboard → Email quality.
See the API
verifyEmail() then send({ validate: true }). Same key as your transactional sends.
SDK examplesReal checks before OTP, alerts, and any transactional notification.
Verification checklist
Format, MX, disposable, then ready to notify. Same path as Dashboard → Email quality.
API usage dashboard
Logs, quotas, verify-before-send.
Verified email badge
0-100 score with valid, risky, or invalid. Hard bounces auto-suppress so you do not retry forever.
Check validate send
REST or SDK. Same API key as send().
Auto-suppress
Hard bounces stop retry loops.
verifyEmail + send
await zindua.verifyEmail("user@example.com");
await zindua.send({ to, template: "welcome", validate: true });verifyEmail on every official client.
npm install @zindua/sdkimport { Zindua } from "@zindua/sdk";
const zindua = new Zindua({ apiKey: process.env.ZINDUA_API_KEY! });
const check = await zindua.verifyEmail("user@example.com");
if (!check.deliverable) throw new Error("Invalid email");
await zindua.send({
to: check.email,
template: "welcome",
validate: true,
variables: { name: "Ada" },
});