Проверка email
для разработчиков
Лучший способ проверить email-адрес, прежде чем что-то на него отправлять. Находите опечатки, одноразовые и несуществующие ящики одним вызовом API.
Для старта бесплатных проверок: 5 000. Без карты.
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
Домен accept-all · ролевой адрес
old.account@company.co
Ящик не найден
Неизвестные результаты бесплатны: вы платите только за проверки, получившие ответ.
Возможности
Всё необходимое, ничего лишнего.
Один endpoint для единичных проверок, другой для списков. Разумные настройки по умолчанию, честные результаты и панель, которая не мешает.
API в реальном времени
Проверяйте при регистрации за секунду-две или мгновенно из нашего общего кеша. При таймауте адрес пропускается, чтобы настоящие пользователи никогда не застревали.
Подсказки опечаток
jane@gmial.com возвращается с did_you_mean: jane@gmail.com, готовым для показа как исправление в один клик.
Обнаружение одноразовых адресов
Около 10 000 одноразовых доменов заблокировано сразу, а ролевые адреса вроде info@ и sales@ помечаются.
Массовая очистка списков
Загрузите CSV любой структуры. Мы найдём столбец с email, проверим каждую строку и вернём чистый CSV в том же порядке.
Подписанные вебхуки
Получайте POST, когда массовая задача завершена, подписанный HMAC-SHA256, чтобы знать, что он от нас.
Ограниченные API-ключи
Создавайте столько ключей, сколько нужно. Ограничьте ключ единичными проверками, чтобы безопасно использовать его в бэкенде регистрации.
Мы никогда не отправляем письма
Мы общаемся с почтовым сервером получателя и останавливаемся до отправки любого сообщения. Ваши контакты никогда о нас не услышат.
Вежливый по замыслу
Ограничение скорости для каждого провайдера, повторы при greylisting и обнаружение accept-all держат результаты точными, а наши IP доверенными.
Журналы каждого вызова
Смотрите каждый запрос, его результат и задержку в панели. Фильтруйте по статусу, чтобы быстро находить проблемы.
Как это работает
Пять проверок, один запрос.
Каждый адрес проходит один и тот же конвейер, который останавливается, как только ответ становится однозначным. Окончательные результаты кешируются на 30 дней, поэтому повторные проверки возвращаются мгновенно.
- 01
Синтаксис
Разбор и нормализация по RFC.
- 02
Домен
Запросы DNS и MX, подсказки опечаток.
- 03
Списки
Пометки одноразовых, ролевых и бесплатных адресов.
- 04
Ящик
SMTP-рукопожатие с настоящим почтовым сервером.
- 05
Accept-all
Проверка случайным адресом выявляет домены 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
0 $/мес.
250 проверок в месяц
Starter
15 $/мес.
10 000 проверок в месяц
Growth
49 $/мес.
50 000 проверок в месяц
Scale
149 $/мес.
250 000 проверок в месяц
Неизвестные результаты бесплатны: вы платите только за проверки, получившие ответ.
Чистые списки начинаются с Bouncerly.
Создайте аккаунт, получите API-ключ и проверьте первый адрес меньше чем за минуту.