Email API
Domain Search
Find every email address on a company domain — names, positions, departments, confidence scores, plus a full company profile.
POST
$0.03/call/v1/email/domain-searchUsage
const res = await fetch('https://api.yepapi.com/v1/email/domain-search', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ domain: 'stripe.com', limit: 10 }),
});
const { data } = await res.json();
console.log(data);curl -X POST https://api.yepapi.com/v1/email/domain-search \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain": "stripe.com", "limit": 10}'Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
domain | string | Yes* | Company domain to search (e.g., stripe.com). Required unless company is provided. | — |
company | string | No | Company name to search instead of a domain | — |
limit | number | No | Number of emails to return: 10, 20, or 50 | 10 |
page | number | No | Page number for pagination | 1 |
department | string | No | Filter results by department (e.g., engineering, sales) | — |
country | string | No | Filter results by ISO country code (e.g., US) | — |
Response
{
"data": {
"company": {
"acceptAll": true,
"description": "stripe is a payment processing platform enabling businesses to accept payments and manage online transactions.",
"domain": "stripe.com",
"emailPattern": "{first}",
"founded": "2010",
"industry": "Information Technology and Services",
"location": {
"address": "354 oyster point blvd",
"city": "San Francisco",
"country": "US",
"postalCode": "94107",
"state": "California"
},
"name": "Stripe",
"revenue": "$100M-$250M",
"size": "5K-10K",
"social": {
"facebook": "https://www.facebook.com/stripehq",
"github": "https://www.github.com/stripe",
"instagram": null,
"linkedin": "https://www.linkedin.com/company/stripe",
"twitter": "https://twitter.com/stripe",
"youtube": null
},
"type": "privately held"
},
"emails": [
{
"acceptAll": false,
"company": null,
"companyDomain": null,
"confidenceScore": 51,
"country": "US",
"department": null,
"disposable": false,
"email": "[email protected]",
"firstName": "Matthew",
"fullName": "Matthew Yalowitz",
"gender": "male",
"hasPhone": true,
"lastName": "Yalowitz",
"linkedin": "https://www.linkedin.com/in/myalowitz",
"position": null,
"seniority": null,
"sources": [],
"twitter": null,
"type": "personal",
"verificationStatus": null,
"verified": false,
"webmail": false
}
],
"total": 5065
},
"ok": true
}Response Fields
| Field | Type | Description |
|---|---|---|
ok | boolean | Whether the request succeeded |
data.company | object | Profile of the company behind the domain |
data.company.name | string | Company name |
data.company.domain | string | Company domain |
data.company.description | string | Short company description |
data.company.industry | string | Industry classification |
data.company.founded | string | Year the company was founded |
data.company.size | string | Employee count range |
data.company.revenue | string | Estimated annual revenue range |
data.company.type | string | Company type (e.g., privately held) |
data.company.emailPattern | string | Most common email pattern on the domain (e.g., {first}) |
data.company.acceptAll | boolean | Whether the domain accepts all incoming mail (catch-all) |
data.company.location | object | HQ location — address, city, state, country, postalCode |
data.company.social | object | Social profile URLs — facebook, github, instagram, linkedin, twitter, youtube |
data.emails | object[] | Email addresses found on the domain |
data.emails[].email | string | The email address |
data.emails[].firstName | string | null | First name of the owner |
data.emails[].lastName | string | null | Last name of the owner |
data.emails[].fullName | string | null | Full name of the owner |
data.emails[].position | string | null | Job title |
data.emails[].department | string | null | Department (e.g., engineering, sales) |
data.emails[].seniority | string | null | Seniority level (e.g., senior, executive) |
data.emails[].gender | string | null | Inferred gender |
data.emails[].country | string | null | ISO country code |
data.emails[].confidenceScore | number | Confidence score from 0 to 100 |
data.emails[].type | string | null | personal or generic |
data.emails[].verified | boolean | Whether the email has been verified as deliverable |
data.emails[].verificationStatus | string | null | Verification result (e.g., valid, invalid) |
data.emails[].acceptAll | boolean | Whether the mailbox domain is catch-all |
data.emails[].disposable | boolean | Whether the address is a disposable email |
data.emails[].webmail | boolean | Whether the address is a webmail account |
data.emails[].hasPhone | boolean | Whether a phone number is available for this contact |
data.emails[].linkedin | string | null | LinkedIn profile URL |
data.emails[].twitter | string | null | Twitter/X profile URL |
data.emails[].sources | object[] | Public web pages where the email was found |
data.total | number | Total number of emails available for the domain |
Under the Hood
Use limit and page to paginate through large domains — data.total tells you how many emails exist in total. Filter with department or country to narrow results.