curl --request POST \
--url https://api.enrow.io/email/find/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"searches": [
{
"fullname": "Dwight Schrute",
"company_domain": "dundermifflin.com",
"custom": "lead_001"
},
{
"fullname": "Jim Halpert",
"company_domain": "dundermifflin.com",
"custom": "lead_002"
},
{
"fullname": "Ryan Howard",
"company_domain": "dundermifflin.com",
"custom": "lead_003"
}
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow",
"retrieve_gender": true
}
}'
const response = await fetch('https://api.enrow.io/email/find/bulk', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ENROW_API_KEY
},
body: JSON.stringify({
searches: [
{ fullname: 'Dwight Schrute', company_domain: 'dundermifflin.com', custom: 'lead_001' },
{ fullname: 'Jim Halpert', company_domain: 'dundermifflin.com', custom: 'lead_002' },
{ fullname: 'Ryan Howard', company_domain: 'dundermifflin.com', custom: 'lead_003' }
],
settings: {
webhook: 'https://your-app.com/webhooks/enrow',
retrieve_gender: true
}
})
});
const data = await response.json();
console.log(`Batch ID: ${data.id}`);
import requests
import os
url = "https://api.enrow.io/email/find/bulk"
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ENROW_API_KEY")
}
payload = {
"searches": [
{"fullname": "Dwight Schrute", "company_domain": "dundermifflin.com", "custom": "lead_001"},
{"fullname": "Jim Halpert", "company_domain": "dundermifflin.com", "custom": "lead_002"},
{"fullname": "Ryan Howard", "company_domain": "dundermifflin.com", "custom": "lead_003"}
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow",
"retrieve_gender": True
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
"message": "Bulk search operating",
"id": "0cf517bc-16e8-45bc-b967-ab9116b3c804",
"credits_used": 3,
"estimated_duration": 1
}
{
"message": "..."
}
Email Finder
Find Bulk Emails
Find professional email addresses in bulk from names and companies — up to 5,000 searches per batch with Enrow Email Finder
POST
/
email
/
find
/
bulk
curl --request POST \
--url https://api.enrow.io/email/find/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"searches": [
{
"fullname": "Dwight Schrute",
"company_domain": "dundermifflin.com",
"custom": "lead_001"
},
{
"fullname": "Jim Halpert",
"company_domain": "dundermifflin.com",
"custom": "lead_002"
},
{
"fullname": "Ryan Howard",
"company_domain": "dundermifflin.com",
"custom": "lead_003"
}
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow",
"retrieve_gender": true
}
}'
const response = await fetch('https://api.enrow.io/email/find/bulk', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ENROW_API_KEY
},
body: JSON.stringify({
searches: [
{ fullname: 'Dwight Schrute', company_domain: 'dundermifflin.com', custom: 'lead_001' },
{ fullname: 'Jim Halpert', company_domain: 'dundermifflin.com', custom: 'lead_002' },
{ fullname: 'Ryan Howard', company_domain: 'dundermifflin.com', custom: 'lead_003' }
],
settings: {
webhook: 'https://your-app.com/webhooks/enrow',
retrieve_gender: true
}
})
});
const data = await response.json();
console.log(`Batch ID: ${data.id}`);
import requests
import os
url = "https://api.enrow.io/email/find/bulk"
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ENROW_API_KEY")
}
payload = {
"searches": [
{"fullname": "Dwight Schrute", "company_domain": "dundermifflin.com", "custom": "lead_001"},
{"fullname": "Jim Halpert", "company_domain": "dundermifflin.com", "custom": "lead_002"},
{"fullname": "Ryan Howard", "company_domain": "dundermifflin.com", "custom": "lead_003"}
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow",
"retrieve_gender": True
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
"message": "Bulk search operating",
"id": "0cf517bc-16e8-45bc-b967-ab9116b3c804",
"credits_used": 3,
"estimated_duration": 1
}
{
"message": "..."
}
POST
Run multiple email searches in a single request. Up to 5,000 searches per batch. Authenticate every request with your API key in the
https://api.enrow.io/email/find/bulk
x-api-key header. To find a single email instead, use the Find Single Email endpoint.
Enrow performs determinist verifications that verify even catch-all emails. No debouncer needed.
Request Body
array of objects
required
Search payloads for which to find corresponding emails.
Show search object properties
Show search object properties
string
required
The user’s full name
string
The company domain or website URL. Either
company_domain or company_name is required.string
The name of the user’s company. Either
company_domain or company_name is required.string | object
A custom value you can use to reference an internal ID (for instance). It will be present in the results.
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 relative to the whole bulk search.
Show settings properties
Show settings properties
string
default:"US"
A 2-character code representing the country of the searches (ISO 3166 Alpha-2 code). Relevant when using
company_name.string
A URL that will be notified through an HTTP POST request once the bulk search is finished. See How Webhooks Work.
boolean
default:"false"
Get the associated gender when an email is found.
boolean
default:"false"
Get the associated company information. Only effective when
country_code is FR.Response
201 — Bulk search 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)
Error Responses
| Code | Message |
|---|---|
| 400 | Missing payload |
| 400 | Missing searches payload |
| 400 | Too many searches. Limit is currently at 5000 per batch. |
| 400 | Error while parsing payload |
| 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 HTTP 402 with a body of the form
{ "message": "..." }. See Error handling for the full list of status codes and response formats.curl --request POST \
--url https://api.enrow.io/email/find/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"searches": [
{
"fullname": "Dwight Schrute",
"company_domain": "dundermifflin.com",
"custom": "lead_001"
},
{
"fullname": "Jim Halpert",
"company_domain": "dundermifflin.com",
"custom": "lead_002"
},
{
"fullname": "Ryan Howard",
"company_domain": "dundermifflin.com",
"custom": "lead_003"
}
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow",
"retrieve_gender": true
}
}'
const response = await fetch('https://api.enrow.io/email/find/bulk', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ENROW_API_KEY
},
body: JSON.stringify({
searches: [
{ fullname: 'Dwight Schrute', company_domain: 'dundermifflin.com', custom: 'lead_001' },
{ fullname: 'Jim Halpert', company_domain: 'dundermifflin.com', custom: 'lead_002' },
{ fullname: 'Ryan Howard', company_domain: 'dundermifflin.com', custom: 'lead_003' }
],
settings: {
webhook: 'https://your-app.com/webhooks/enrow',
retrieve_gender: true
}
})
});
const data = await response.json();
console.log(`Batch ID: ${data.id}`);
import requests
import os
url = "https://api.enrow.io/email/find/bulk"
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ENROW_API_KEY")
}
payload = {
"searches": [
{"fullname": "Dwight Schrute", "company_domain": "dundermifflin.com", "custom": "lead_001"},
{"fullname": "Jim Halpert", "company_domain": "dundermifflin.com", "custom": "lead_002"},
{"fullname": "Ryan Howard", "company_domain": "dundermifflin.com", "custom": "lead_003"}
],
"settings": {
"webhook": "https://your-app.com/webhooks/enrow",
"retrieve_gender": True
}
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
{
"message": "Bulk search operating",
"id": "0cf517bc-16e8-45bc-b967-ab9116b3c804",
"credits_used": 3,
"estimated_duration": 1
}
{
"message": "..."
}
Next steps
Get bulk results
Retrieve the found emails using the batch
id.Find a single email
Run a single email search from a name and company.
Webhooks
Get notified automatically when a batch completes.
Credits & billing
See how credits are consumed for each endpoint.
Was this page helpful?

