The Pabbly Email Verification API lets you verify the deliverability and validity of email addresses on demand. Use it to clean lists before sending, validate user signups in real time, and reduce bounce rates by catching invalid or risky emails before they reach your delivery server.
curl https://verify.pabbly.com/api/v1/email-lists/verify-single \
-u {{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}All endpoints are relative to the base URL below. Combine the base URL with the path on each endpoint to get the full request URL.
https://verify.pabbly.com/api/v1The API accepts JSON request bodies and returns JSON responses. Send Content-Type: application/json on every request that has a body. Path parameters are interpolated into the URL; query parameters and body fields are documented per endpoint.
{
"success": true,
"data": { /* … */ }
}When a request fails, the response status code reflects the error category and the body carries a human-readable message. Treat any non-2xx status as a failure.
| Status | Meaning |
|---|---|
| 200, 201 | Success |
| 400 | Bad request — missing or malformed parameters |
| 401 | Unauthorized — missing or invalid API credentials |
| 404 | Not found — the resource does not exist |
| 429 | Too many requests |
| 5xx | Server error — retry with backoff |
{
"success": false,
"error": "A human-readable explanation"
}The Pabbly Email Verification API uses HTTP Basic Auth. Every request must include your API Key and Secret Key as the username and password.
Authorization: Basic <base64({{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}})>Sign in to your Pabbly account and navigate to Settings → API → Generate API Keys. You will see (or be able to generate) an API Key and a matching Secret Key. Treat the Secret Key like a password.
Send your API Key as the HTTP Basic username and your Secret Key as the password on every request. The examples on the right show how to call /email-lists/verify-single with proper authentication.
curl https://verify.pabbly.com/api/v1/email-lists/verify-single \
-u {{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}const credentials = Buffer
.from('{{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}')
.toString('base64');
const response = await fetch(
'https://verify.pabbly.com/api/v1/email-lists/verify-single',
{ headers: { Authorization: `Basic ${credentials}` } }
);
const data = await response.json();import requests
from requests.auth import HTTPBasicAuth
response = requests.get(
'https://verify.pabbly.com/api/v1/email-lists/verify-single',
auth=HTTPBasicAuth('{{YOUR_API_KEY}}', '{{YOUR_SECRET_KEY}}'),
)
data = response.json()Your credentials grant full access to your account. Never embed them in browser-side code, commit them to version control, or share them in support tickets. If you suspect a credential has been exposed, rotate it from the dashboard (Settings → API → Generate API Keys) and update any servers that use it.
/email-lists/verify-singleHit the API with POST method and fill the following data according your requirements to verify single email.
/email-lists/verify-singlecurl -X POST https://verify.pabbly.com/api/v1/email-lists/verify-single \
-u {{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}} \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]"
}'Success Response
{
"status": "success",
"message": "Email validation result",
"data": {
"email": "[email protected]",
"result": "undeliverable",
"message": "Unreachable mail server. Emails sent to this address will bounce. ",
"accept_all": 0,
"disposable": 0,
"spamtrap": 0,
"role": 0,
"free_email": 0,
"success": true,
"user": "nohan",
"domain": "drggf.hg"
}
}