Find Person Email
Use this endpoint to find a person's email by providing their name and company, and/or their LinkedIn profile URL. It uses advanced algorithms and SMTP verification to deliver accurate, privacy-compliant results.
Endpoint
https://api.anymailfinder.com
/v5.1/find-email/personPricing
- 1 credit: charged only when a valid email is found.
- Free: if the result is risky, blacklisted, or not found.
- Repeated searches within the past 30 days are free.
Authentication
Include your API key using the Authorization header.
Refer to the Authentication page for setup instructions.
Performance
- Timeout recommendation: 180 seconds.
Searches are performed in real time. Response times depend on factors like the company's SMTP server, website responsiveness, and advanced operations to uncover catch-all emails. - No Rate Limits.
Our system efficiently auto-scales to handle high volumes of requests.
Code example
curl -X POST "https://api.anymailfinder.com/v5.1/find-email/person" \-H "Authorization: YOUR_API_KEY" \-H "Content-Type: application/json" \-d '{"domain": "microsoft.com","full_name": "John Doe"}'
Request parameters
- person name (
full_name, orfirst_name+last_name) and company (domainorcompany_name) linkedin_urlonly - use when name and company aren't available- both - we first run the name + company lookup, and if it doesn't return a valid email, we fall back to searching the LinkedIn profile (which may return an email at a different company than the one you provided)
domain produces the most accurate results - use it whenever you have it. If you only have a company name, use company_name and we'll try to resolve a domain from it. When both are provided, domain is used first.
Send as JSON in the POST body:
| Parameter | Example value | Description |
|---|---|---|
domainstring - optional | "microsoft.com" | The company's domain. If a company name is passed here, we'll attempt to find the domain. |
company_namestring - optional | "Microsoft" | The company name. If a domain is passed here, we'll detect and treat it accordingly. |
first_namestring - optional | "John" | First name of the person. |
last_namestring - optional | "Doe" | Last name of the person. |
full_namestring - optional | "John Doe" | Alternative to first + last name. |
linkedin_urlstring - optional | "https://www.linkedin.com/in/satyanadella/" | Can be used alone, or together with name and company. |
Headers
| Parameter | Example value | Description |
|---|---|---|
x-webhook-urlstring - optional | "https://yourdomain.com/webhook" | If provided, the result will be POSTed to this URL instead of waiting for the response. |
Response
200OK
- Without webhook: The request responds once the search completes, returning the full result below.
- With webhook: The request returns immediately with 200 OK, and the result will be sent to the specified
x-webhook-urlvia POST.
{"credits_charged": 1,"email": "john.doe@microsoft.com","email_status": "valid","person_company_name": null,"person_full_name": null,"person_job_title": null,"valid_email": "john.doe@microsoft.com"}
| Property | Type | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
credits_charged | number | Number of credits charged for this request. | ||||||||
email | string | null | The email found, or null if not found.Tip: if you want only valid emails, use valid_email. | ||||||||
email_status | string | The email status. One of the following:
| ||||||||
person_company_name | string | null | The person's company name, sourced from their LinkedIn profile. Populated only when the returned email was found via LinkedIn. Otherwise null. | ||||||||
person_full_name | string | null | The person's full name, sourced from their LinkedIn profile. Populated only when the returned email was found via LinkedIn. Otherwise null. | ||||||||
person_job_title | string | null | The person's job title, sourced from their LinkedIn profile. Populated only when the returned email was found via LinkedIn. Otherwise null. | ||||||||
valid_email | string | null | The email only when email_status is valid. Otherwise null. |
400Bad Request
The request is missing required data or is improperly formatted.
Review the message field to identify and correct the issue.
{"error": "bad_request","message": "..."}
401Unauthorized
The request did not include a valid API key.
Refer to the Authentication page to ensure your API key is properly included.
{"error": "unauthorized","message": "Missing or invalid API key."}
402Payment Needed
Your account does not have enough credits to complete this request.
You can purchase additional credits to continue.
{"error": "upgrade_needed","message": "Your account does not have enough credits. Purchase more at https://app.anymailfinder.com/purchase."}
Need Help?
Our team is experienced with APIs and is here to help.
Chat with us.