curl --request POST \
--url https://api.enrow.io/email/verify/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"verifications": [
"pam.beesly@dundermifflin.com",
"angela.martin@dundermifflin.com",
"stanley.hudson@dundermifflin.com"
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow/verify"
}
}'
const response = await fetch('https://api.enrow.io/email/verify/bulk', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ENROW_API_KEY
},
body: JSON.stringify({
verifications: [
'pam.beesly@dundermifflin.com',
'angela.martin@dundermifflin.com',
'stanley.hudson@dundermifflin.com'
],
settings: {
webhook: 'https://your-app.com/webhooks/enrow/verify'
}
})
});
const data = await response.json();
console.log(`Batch ID: ${data.id}`);
import requests
import os
url = "https://api.enrow.io/email/verify/bulk"
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ENROW_API_KEY")
}
payload = {
"verifications": [
"pam.beesly@dundermifflin.com",
"angela.martin@dundermifflin.com",
"stanley.hudson@dundermifflin.com"
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow/verify"
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
"message": "Bulk verification operating",
"id": "0cf517bc-16e8-45bc-b967-ab9116b3c804",
"credits_used": 0.75,
"estimated_duration": 1
}
{
"message": "..."
}
Email Verifier
Verify Bulk Emails
Validate a batch of email addresses in one request (up to 5,000) and check deliverability with the Email Verifier
POST
/
email
/
verify
/
bulk
curl --request POST \
--url https://api.enrow.io/email/verify/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"verifications": [
"pam.beesly@dundermifflin.com",
"angela.martin@dundermifflin.com",
"stanley.hudson@dundermifflin.com"
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow/verify"
}
}'
const response = await fetch('https://api.enrow.io/email/verify/bulk', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ENROW_API_KEY
},
body: JSON.stringify({
verifications: [
'pam.beesly@dundermifflin.com',
'angela.martin@dundermifflin.com',
'stanley.hudson@dundermifflin.com'
],
settings: {
webhook: 'https://your-app.com/webhooks/enrow/verify'
}
})
});
const data = await response.json();
console.log(`Batch ID: ${data.id}`);
import requests
import os
url = "https://api.enrow.io/email/verify/bulk"
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ENROW_API_KEY")
}
payload = {
"verifications": [
"pam.beesly@dundermifflin.com",
"angela.martin@dundermifflin.com",
"stanley.hudson@dundermifflin.com"
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow/verify"
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
"message": "Bulk verification operating",
"id": "0cf517bc-16e8-45bc-b967-ab9116b3c804",
"credits_used": 0.75,
"estimated_duration": 1
}
{
"message": "..."
}
POST
Run multiple email verifications in a single request. Up to 5,000 verifications per batch. Authenticate every request with your API key in the
https://api.enrow.io/email/verify/bulk
x-api-key header. To verify a single address instead, use the Verify Single Email endpoint.
Enrow performs determinist verifications that verify even catch-all emails. No debouncer needed.
Request Body
array of strings
required
Array of email addresses to verify.
object
Custom params that will be returned in the GET response and in the webhook notification.
Show custom object
Show custom object
string
default:"your_custom_property"
Custom data of yours
object
Settings related to this bulk verification.
Show settings properties
Show settings properties
string
A URL that will be notified through an HTTP POST request once the bulk verification is finished. See How Webhooks Work.
Response
201 — Bulk verification started
string
Confirmation message
string
Unique identifier for this batch. Use this to retrieve results via the GET endpoint.
number
Total credits consumed. See Credits & billing for per-endpoint costs.
number
Estimated processing time in minutes (not guaranteed)
object
Error Responses
| Code | Message |
|---|---|
| 400 | Missing payload |
| 400 | At least 1 verification must be present in the payload |
| 400 | Too many verifications. Limit is currently at 5000 per batch. |
| 401 | No apikey found in the x-api-key headers |
| 401 | This apikey is not valid |
| 402 | Insufficient credits |
On insufficient credits, the bulk endpoint returns 402 with body
{ "message": "..." }. See Error handling for the full list of status codes and response formats.curl --request POST \
--url https://api.enrow.io/email/verify/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"verifications": [
"pam.beesly@dundermifflin.com",
"angela.martin@dundermifflin.com",
"stanley.hudson@dundermifflin.com"
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow/verify"
}
}'
const response = await fetch('https://api.enrow.io/email/verify/bulk', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ENROW_API_KEY
},
body: JSON.stringify({
verifications: [
'pam.beesly@dundermifflin.com',
'angela.martin@dundermifflin.com',
'stanley.hudson@dundermifflin.com'
],
settings: {
webhook: 'https://your-app.com/webhooks/enrow/verify'
}
})
});
const data = await response.json();
console.log(`Batch ID: ${data.id}`);
import requests
import os
url = "https://api.enrow.io/email/verify/bulk"
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ENROW_API_KEY")
}
payload = {
"verifications": [
"pam.beesly@dundermifflin.com",
"angela.martin@dundermifflin.com",
"stanley.hudson@dundermifflin.com"
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow/verify"
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
"message": "Bulk verification operating",
"id": "0cf517bc-16e8-45bc-b967-ab9116b3c804",
"credits_used": 0.75,
"estimated_duration": 1
}
{
"message": "..."
}
Next steps
Get the results
Retrieve verification results using the batch
id.Verify a single email
Check whether one email address is valid and deliverable.
Credits & billing
See how credits are consumed for each endpoint.
Webhooks
Get notified automatically when a batch completes.
Was this page helpful?

