API проверки email.
Проверяйте отдельные адреса в формах или создавайте асинхронные задачи для клиентских списков. Сохраните своего почтового провайдера.
Ваш первый запрос.
Используйте бесплатный демонстрационный endpoint без ключа. Он ограничен по частоте запросов и предназначен для знакомства с сервисом.
curl -X POST https://api.zbounce.net/v1/demo \
-H 'Content-Type: application/json' \
-d '{"email":"hello@example.com"}'
Для платных проверок купите пакет и используйте /v1/fast-verify с ключом в X-API-Key. Не включайте ключи в URL, репозитории и аналитику.
curl -X POST https://api.zbounce.net/v1/fast-verify \
-H 'Content-Type: application/json' \
-H "X-API-Key: $ZBOUNCE_API_KEY" \
-d '{"email":"hello@example.com"}'
Пример на Python
import os, requests
response = requests.post(
"https://api.zbounce.net/v1/fast-verify",
headers={"X-API-Key": os.environ["ZBOUNCE_API_KEY"]},
json={"email": "hello@example.com"},
timeout=35,
)
response.raise_for_status()
print(response.json())
Пример на Node.js
const response = await fetch("https://api.zbounce.net/v1/fast-verify", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": process.env.ZBOUNCE_API_KEY,
},
body: JSON.stringify({ email: "hello@example.com" }),
signal: AbortSignal.timeout(35000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
Проверьте большой список.
POST /v1/tasksПередайте до 10 000 адресов в одной задаче. Сохраните возвращённый ID задачи и проверьте accepted, skipped и invalids: не каждый входной адрес обязательно попадает в очередь. Дубли, неверно оформленные и подавленные адреса могут исключаться, а низкий баланс — привести к частичному приёму.
curl -X POST https://api.zbounce.net/v1/tasks \
-H 'Content-Type: application/json' \
-H "X-API-Key: $ZBOUNCE_API_KEY" \
-d '{"emails":["hello@example.com","contact@example.org"]}'
Запрашивайте статус, затем каждую страницу результатов. Ответ только с неверно оформленными адресами может содержать пустой ID задачи; не запрашивайте его статус.
curl "https://api.zbounce.net/v1/tasks/$TASK_ID" \
-H "X-API-Key: $ZBOUNCE_API_KEY"
curl "https://api.zbounce.net/v1/tasks-results/$TASK_ID?page=1&per_page=100" \
-H "X-API-Key: $ZBOUNCE_API_KEY"
Результаты завершённой задачи — JSON. Получайте страницы, пока не загрузите весь принятый список. Для автоматического уведомления о завершении передайте вебхук с mode: "completed" при создании задачи.
{
"emails": ["hello@example.com"],
"webhook": {
"url": "https://your-app.example/hooks/verification",
"mode": "completed",
"secret": "YOUR_PRIVATE_WEBHOOK_SECRET"
}
}
Перед включением в проде изучите схему настройки вебхуков и проверки подписи.
Формат не означает существование.
Это разные сигналы. Правильно оформленный адрес всё равно может не существовать, быть временным или не поддаваться подтверждению.
| Поле | Значение |
|---|---|
valid
|
Адрес прошёл проверку синтаксиса. Само по себе это не подтверждает ящик. |
exists
|
Результат проверки ящика. Рассматривайте его вместе с ошибками и сигналами catch-all. |
disposable
|
Домен распознан как провайдер временных email-адресов. |
accept_all
|
Сервер принимает произвольные адреса; конкретный ящик нельзя надёжно подтвердить. |
error_category
|
Объясняет сбой или риск, например no_mx, risky или временную проблему сервера. |
permanent_error
|
Во время проверки возвращена постоянная ошибка. Временную ошибку не следует считать постоянным отказом. |
ttl
|
Подсказка о времени повторной проверки или кэша в секундах, если возвращена. |
Проверка не гарантирует доставку, не устраняет жалобы и не доказывает владение ящиком.
Знайте свой баланс.
GET /v1/me
curl https://api.zbounce.net/v1/me \
-H "X-API-Key: $ZBOUNCE_API_KEY"
Ответ включает оставшиеся, зарезервированные и использованные кредиты, тип ключа и срок действия. Обычная проверка использует один кредит; фильтрация и списание зависят от маршрута и принятия задачи. Изучите ответ, прежде чем считать весь загруженный список обработанным.
Ответ 429 означает ограничение запросов. Подождите перед повтором. Другие ошибки текущего API могут возвращаться в JSON или текстом; не считайте HTTP-ошибки результатами проверки.
Контракт проверки.
Публичный контракт включает demo, быструю проверку, задачи, статус, результаты и баланс. Отправка писем и административные endpoints в этот справочник не входят.
Нужна помощь с подключением платформы? support@zbounce.net