YepAPI
Email API

Email Finder

Find a person's professional email address from their name and company domain, with a verified confidence score.

POST/v1/email/finder
$0.02/call

Usage

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

ParameterTypeRequiredDescriptionDefault
domainstringYesCompany domain to search on (e.g., stripe.com)
first_namestringYesFirst name of the person
last_namestringYesLast name of the person
full_namestringNoFull name, as an alternative to first/last name
companystringNoCompany 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

FieldTypeDescription
okbooleanWhether the request succeeded
data.contactobjectThe contact that was found
data.contact.emailstring | nullThe email address found
data.contact.firstNamestring | nullFirst name
data.contact.lastNamestring | nullLast name
data.contact.fullNamestring | nullFull name
data.contact.companystring | nullCompany name
data.contact.companyDomainstring | nullCompany domain
data.contact.positionstring | nullJob title
data.contact.departmentstring | nullDepartment
data.contact.senioritystring | nullSeniority level
data.contact.genderstring | nullInferred gender
data.contact.countrystring | nullISO country code
data.contact.confidenceScorenumberConfidence score from 0 to 100
data.contact.typestring | nullpersonal or generic
data.contact.verifiedbooleanWhether the email has been verified as deliverable
data.contact.verificationStatusstring | nullVerification result (e.g., valid, invalid)
data.contact.acceptAllbooleanWhether the mailbox domain is catch-all
data.contact.disposablebooleanWhether the address is a disposable email
data.contact.webmailbooleanWhether the address is a webmail account
data.contact.hasPhonebooleanWhether a phone number is available for this contact
data.contact.linkedinstring | nullLinkedIn profile URL
data.contact.twitterstring | nullTwitter/X profile URL
data.contact.sourcesobject[]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.

On this page