Email API
Email Finder
Find a person's professional email address from their name and company domain, with a verified confidence score.
POST
$0.02/call/v1/email/finderUsage
const res = await fetch('https://api.yepapi.com/v1/email/finder', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
domain: 'stripe.com',
first_name: 'Patrick',
last_name: 'Collison',
}),
});
const { data } = await res.json();
console.log(data);curl -X POST https://api.yepapi.com/v1/email/finder \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain": "stripe.com", "first_name": "Patrick", "last_name": "Collison"}'Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
domain | string | Yes | Company domain to search on (e.g., stripe.com) | — |
first_name | string | Yes | First name of the person | — |
last_name | string | Yes | Last name of the person | — |
full_name | string | No | Full name, as an alternative to first/last name | — |
company | string | No | Company name, used to help disambiguate | — |
Response
{
"data": {
"contact": {
"acceptAll": true,
"company": "Stripe",
"companyDomain": "stripe.com",
"confidenceScore": 99,
"country": null,
"department": null,
"disposable": false,
"email": "[email protected]",
"firstName": "Patrick",
"fullName": "Patrick Collison",
"gender": null,
"hasPhone": false,
"lastName": "Collison",
"linkedin": null,
"position": null,
"seniority": null,
"sources": [],
"twitter": null,
"type": null,
"verificationStatus": "valid",
"verified": true,
"webmail": false
}
},
"ok": true
}Response Fields
| Field | Type | Description |
|---|---|---|
ok | boolean | Whether the request succeeded |
data.contact | object | The contact that was found |
data.contact.email | string | null | The email address found |
data.contact.firstName | string | null | First name |
data.contact.lastName | string | null | Last name |
data.contact.fullName | string | null | Full name |
data.contact.company | string | null | Company name |
data.contact.companyDomain | string | null | Company domain |
data.contact.position | string | null | Job title |
data.contact.department | string | null | Department |
data.contact.seniority | string | null | Seniority level |
data.contact.gender | string | null | Inferred gender |
data.contact.country | string | null | ISO country code |
data.contact.confidenceScore | number | Confidence score from 0 to 100 |
data.contact.type | string | null | personal or generic |
data.contact.verified | boolean | Whether the email has been verified as deliverable |
data.contact.verificationStatus | string | null | Verification result (e.g., valid, invalid) |
data.contact.acceptAll | boolean | Whether the mailbox domain is catch-all |
data.contact.disposable | boolean | Whether the address is a disposable email |
data.contact.webmail | boolean | Whether the address is a webmail account |
data.contact.hasPhone | boolean | Whether a phone number is available for this contact |
data.contact.linkedin | string | null | LinkedIn profile URL |
data.contact.twitter | string | null | Twitter/X profile URL |
data.contact.sources | object[] | Public web pages where the email was found |
Under the Hood
A confidenceScore above 90 with verificationStatus: "valid" means the address is safe to send to. Lower scores indicate the address was inferred from the domain's email pattern.