const res = await fetch("https://api.bouncerly.com/v1/verify", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.BOUNCERLY_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ email: "jane@acme.com" }),
});
const { status, reason, did_you_mean } = await res.json();{
"email": "jane@acme.com",
"status": "deliverable",
"reason": "accepted",
"domain": "acme.com",
"disposable": false,
"role_account": false,
"free_provider": false,
"accept_all": false,
"mx_found": true,
"mx_host": "acme-com.mail.protection.outlook.com",
"smtp": { "code": 250, "enhanced": "2.1.5", "message": "Recipient OK" },
"smtp_checked": true,
"checked_at": "2026-10-28T10:03:42Z",
"duration_ms": 1840,
"cached": false
}四种明确的答案
每个地址该怎么处理,一目了然。
每个结果都会返回 deliverable、undeliverable、risky 或 unknown 之一,并附带机器可读的原因和邮件服务器的原始回复。没有需要解读的分数。
jane@acme.com
邮箱存在
john@gmial.com
你是想输入 gmail.com 吗?
temp8812@mailinator.com
一次性邮箱
sales@bigcorp.io
全收域名 · 角色地址
old.account@company.co
未找到邮箱
未知结果免费:只有得到答案的验证才计费。
功能
你需要的都有,多余的都没有。
一个端点用于单次验证,一个用于列表。合理的默认设置、诚实的结果,以及不碍事的控制台。
实时 API
注册时一两秒内完成验证,命中共享缓存则即时返回。超时时默认放行,真实用户绝不会被卡住。
拼写纠错建议
jane@gmial.com 会返回 did_you_mean: jane@gmail.com,可直接作为一键修正展示。
一次性邮箱检测
开箱即用屏蔽约 10,000 个一次性邮箱域名,并标记 info@、sales@ 等角色地址。
批量清洗列表
上传任意格式的 CSV。我们会找到邮箱列,逐行验证,并按原顺序返回干净的 CSV。
签名 Webhook
批量任务完成时收到 POST 通知,使用 HMAC-SHA256 签名,确保来自我们。
限定权限的 API 密钥
按需创建任意数量的密钥。将密钥限制为仅单次验证,即可安全用于注册后端。
我们从不发送邮件
我们与收件人的邮件服务器通信,并在任何邮件发出之前停止。你的联系人永远不会收到我们的任何消息。
礼貌的设计
按服务商限速、灰名单重试和全收检测,确保结果准确、IP 信誉良好。
每次调用都有日志
在控制台查看每个请求、结果和延迟。按状态筛选,快速定位问题。
工作原理
五项检查,一次请求。
每个地址都经过相同的流程,一旦答案确定立即停止。确定的结果缓存 30 天,重复验证即时返回。
- 01
语法
符合 RFC 的解析与规范化。
- 02
域名
DNS 和 MX 查询,拼写纠错建议。
- 03
名单
一次性、角色和免费邮箱标记。
- 04
邮箱
与真实邮件服务器进行 SMTP 握手。
- 05
全收检测
用随机地址探测识别 catch-all。
即插即用
十行代码拦截无效注册。
在注册处理逻辑中调用 API,拒绝会退信的地址,为拼写错误提供修正建议,其余一律放行。更少的虚假账号、更少的退信、更好的发件人信誉。
- 支持任何编程语言:只需一个 HTTPS POST
- 受限密钥只能验证,别无其他权限
- 未命中缓存的典型验证:1 到 3 秒
"use server";
export async function signUp(formData: FormData) {
const email = String(formData.get("email"));
const check = await fetch("https://api.bouncerly.com/v1/verify", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.BOUNCERLY_API_KEY}` },
body: JSON.stringify({ email }),
signal: AbortSignal.timeout(4000), // fail open if slow
}).then((r) => r.json()).catch(() => null);
if (check?.status === "undeliverable") {
return { error: check.did_you_mean
? `Did you mean ${check.did_you_mean}?`
: "That email address can't receive mail." };
}
if (check?.disposable) {
return { error: "Please use a permanent email address." };
}
// ...create the account
}已转用 Bouncerly 的团队
“We use Bouncerly to verify everyone at signup and our cold email lists. It saves us a lot of admin and makes sure our reps don't waste time on bad leads.”“We send a lot of email, and had a full-time person managing SMTP servers and blocklists. Integrating Bouncerly into our workflow massively cut the time we were spending managing email infrastructure.”“Dinabite used to use NeverBounce and the fees were very high. Bouncerly makes sense for us and is very reasonable.”价格
简单、按月、可预期。
免费开始,需要更多验证时再升级。随时可取消。
Free
US$0/月
每月 250 次验证
Starter
US$15/月
每月 10,000 次验证
Growth
US$49/月
每月 50,000 次验证
Scale
US$149/月
每月 250,000 次验证
未知结果免费:只有得到答案的验证才计费。