> Enrich.chat gives AI agents verified work emails and mobiles. To use it from an agent, read https://enrich.chat/agents.md . This is the Markdown version of https://enrich.chat/api/email-finder/

# Email finder API: a work email from a name and a company domain

Send a name and a company website to GET /v1/email. Get back a work email marked verified, catch_all or unknown. Credits are used only when an email is found.

By Enrich.chat Editorial. Updated October 15, 2026.

**Short answer:** Enrich.chat's email finder API is one GET request: send a person's name and a company website to `/v1/email` and get back a work email marked verified, catch_all or unknown. A work email found uses 10 credits, a lookup that finds nothing uses 0, and 10 lookups a day are free with no signup and no key.

## Key takeaways

- `GET /v1/email?name=Jane%20Doe&domain=acme.com` returns one work email, its status and the company's address format. It also accepts a `linkedin_url`.
- Status is verified, catch_all or unknown. When no address is on file you may get a `guess` with `found: false`. A guess is never data.
- A work email found uses 10 credits, and a miss uses 0. 10 lookups a day are free with no key.
- Hunter, Apollo, Anymail Finder, Prospeo and Findymail also skip the charge on a miss. Some add bulk jobs or a standalone verifier, which Enrich.chat does not have.

## An email finder API built for agents and apps

- **Name and domain in, email out.** Send a name and a company website to `/v1/email`. Get one work email back, with the person's title when we have it.
- **A status on every email.** Each address comes back verified, catch_all or unknown, so your code knows what to send and what to hold.
- **Guesses are labelled.** When nothing is on file you may get a guess. It sits under `guess`, `found` stays false and it uses 0 credits.
- **Credits only on a match.** 10 credits per email found. Nothing found, 0 credits. 10 free lookups a day, no signup and no key.
- **A LinkedIn URL works too.** Send `linkedin_url` instead of a name. Enrich.chat never logs in to LinkedIn. The URL is only a lookup key.
- **One prompt to start.** Your agent reads enrich.chat/agents.md and starts calling, or adds the MCP server at enrich.chat/mcp. No SDK needed.

## From a name to a work email

1. **Send a name and a domain.** Call `GET /v1/email?name=Jane%20Doe&domain=acme.com`. The domain is a website. Company names are not supported yet.
2. **Read the status.** Get the email, its status and the company's address format. A miss returns `found: false` and uses 0 credits.
3. **Act on the status.** Use verified, treat catch_all as risky and never send to a guess. Every response shows `credits_used`.

## What is an email finder API?

An email finder API takes a person's name and a company website and returns that person's work email. With Enrich.chat it is one GET request to `/v1/email`. The reply marks the address verified, catch_all or unknown, so your code knows how far to trust it. You may also see it called an email lookup API or a find email API.

[Hunter's documentation](https://hunter.io/api-documentation/v2) shows the usual shape: send a domain, a first name and a last name, and get the most likely address with a verification status. That last step has a limit. [RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html), the standard for email delivery, notes that some servers do not check a recipient until the message text arrives. A catch-all domain accepts every address. For both kinds of server, a check that never sends a message cannot prove a mailbox exists.

A finder is not the same as a verifier or an enrichment API. A verifier checks an address you already have. An enrichment API starts from one identifier and returns a fuller profile, like our [person enrichment API](https://enrich.chat/api/person-enrichment/). Enrich.chat has no standalone verifier for addresses from other sources. This is what you can send:

| You have | Call | You get back |
| --- | --- | --- |
| A name and a company website | `GET /v1/email?name=&domain=` | One work email with a status, and the company's address format |
| A LinkedIn URL | `GET /v1/email?linkedin_url=` | One work email with a status |
| A work email | `GET /v1/person?email=` | The person behind it: name, title and company |
| A company and a job title | `GET /v1/company/people?domain=&title=` | Names, titles and LinkedIn URLs, for the [people search API](https://enrich.chat/api/people-search/) flow |

## What does GET /v1/email return?

A match returns `found: true` and a `work_email` with its `status`. It usually adds the company's address `pattern` and the person's name and title. The call uses 10 credits, shown in `credits_used`.

**Figure 1: Anatomy of an email finder API request and response.** One GET request to enrich.chat/v1/email with a name and a domain returns found true, a work_email with a status of verified, catch_all or unknown, the company's address pattern, credits_used, which is 10 on a match, and free_lookups_remaining on the free tier. A lookup with no match returns found false and uses 0 credits.

*One GET request and the reply it returns. Example values are made up. Source: [Enrich.chat agent docs](https://enrich.chat/agents.md).*

| Field | What it holds |
| --- | --- |
| `found` | true on a match. false means no email was returned and 0 credits were used. |
| `work_email.value` | The address, exactly as returned. |
| `work_email.status` | verified, catch_all or unknown. |
| `pattern` | The address format the company uses, such as first.last@acme.com. Present when we know it. |
| `name`, `title` | The person's name and job title, when we have them. Free with an email match. |
| `credits_used` | Credits this call used: 10 on a match, 0 on a miss. |
| `free_lookups_remaining` | Free lookups left today. Present on the free tier. |
| `guess` | Only with `found: false`. An unconfirmed address, never data. |

### What do verified, catch_all and unknown mean?

The status tells you what to do before you send. **Verified** means our records mark the mailbox as verified. **Catch_all** means the domain accepts every address, so the mailbox cannot be confirmed. **Unknown** means we could not tell. Treat every address as a strong lead, not a guarantee.

**Figure 2: What to do with each email finder result.** A call to GET /v1/email has five possible results. A verified email can be used and uses 10 credits. A catch_all email is risky and uses 10 credits. An unknown email should be checked before bulk sends and uses 10 credits. A not-found reply with a guess is a hint, not data, and uses 0 credits. A not-found reply with no guess means you should try a LinkedIn URL, and uses 0 credits.

*The five results of a `/v1/email` call and what to do with each. Source: [Enrich.chat agent docs](https://enrich.chat/agents.md).*

The status matters because bounces hurt. [Google's sender guidelines](https://support.google.com/a/answer/81126) tell senders to cut sending volume when messages start bouncing. Our guide to [email bounce rate](https://enrich.chat/blog/email-bounce-rate/) covers the numbers, and the free [catch-all checker](https://enrich.chat/tools/catch-all-checker/) tests a domain.

### What is the guess in a not-found reply?

When no address is on file, `/v1/email` may return `found: false` with a `guess`. It is the company's most common address format applied to the name. A guess is not data. It uses 0 credits, so do not send to it, store it as found or tell anyone it was found. For more candidates, try the free [email permutator](https://enrich.chat/tools/email-permutator/), and see [email address formats](https://enrich.chat/blog/email-address-formats/) for the common patterns.

```text
Use www.enrich.chat to find the work email for Jane Doe at acme.com. Show its status, and if nothing is found say so instead of guessing an address
```

### Can you find an email from a LinkedIn URL, or enrich one you already have?

Yes to both. Pass `linkedin_url` to `/v1/email` instead of a name and domain. Enrich.chat never logs in to LinkedIn, and the URL is only a lookup key. The [LinkedIn URL to email and mobile API](https://enrich.chat/api/linkedin-to-contact/) page covers that flow. To go the other way, send a work email to `/v1/person?email=` and get the person behind it. Personal addresses such as gmail.com are not looked up.

## How much does an email lookup cost?

A work email found uses 10 credits. A lookup that finds nothing uses 0, and so does a guess. Each IP address also gets 10 free lookups a day with no signup and no key.

For more, plans bill monthly with unlimited seats, no annual contract and every product included: Growth $29 for 100,000 credits, Scale $90 for 500,000 credits, Pro $299 for 2,500,000 credits. Credits renew with each monthly payment and do not roll over. Finding 5,000 emails uses 50,000 credits, which fits the Growth plan at $29 a month. Finding 20,000 uses 200,000 credits and fits the Scale plan at $90. The [pricing page](https://enrich.chat/pricing/) has a calculator.

Hunter, Anymail Finder, Prospeo and Findymail also skip the charge on a miss, so the gap is the plan price. This chart shows the cheapest monthly plan at each vendor with enough credits for 5,000 emails.

**Figure 3: Monthly plan price to find 5,000 work emails.** The cheapest monthly-billed plan with at least 5,000 email credits costs $29 at Enrich.chat on the Growth plan, $99 at Findymail, $99 per user at Prospeo, $149 at Hunter and $149 at Anymail Finder, as listed on each vendor's pricing page on October 15, 2026.

*The cheapest monthly-billed plan with room for 5,000 emails found, checked October 15, 2026. Plans differ: Hunter and Prospeo include prospecting tools, and Prospeo prices per user. Enrich.chat's plan holds 100,000 credits and 5,000 emails use 50,000. Apollo is left out because it grants credits per seat once a year. Sources: [Hunter](https://hunter.io/pricing), [Findymail](https://www.findymail.com/pricing), [Prospeo](https://prospeo.io/pricing) and [Anymail Finder](https://anymailfinder.com/pricing) pricing pages.*

### Do you need an API key, and what happens at the limit?

No key is needed on the free tier. When the free lookups run out, the API returns HTTP 402 with `free_limit_reached`, an `upgrade_url` and a `resets_at` time. A 429 means slow down: wait `retry_after` seconds. A 400 means the name, domain or LinkedIn URL is missing. Rate limits are listed in the [API reference](https://enrich.chat/docs/).

Paying customers log in at [enrich.chat/account/](https://enrich.chat/account/) with an email and a one-time code, pick a plan, pay at checkout, and the key appears on that page. A key starts with `pp_`. Send it as `Authorization: Bearer pp_...` or as `&key=pp_...`.

## How does Enrich.chat compare with Hunter, Apollo, Anymail Finder, Prospeo and Findymail?

All six skip the charge when no email is found, per their own docs. They differ in price, in whether the API needs a key, and in extras such as bulk jobs and a standalone verifier.

*Checked on each vendor's own pricing page and API docs on October 15, 2026.*

| API | How you pay | Charged on a miss | Free option |
| --- | --- | --- | --- |
| Enrich.chat | Monthly credit plans from $29; 10 credits per email found | No, 0 credits | 10 lookups a day, no signup, no key |
| Hunter | [Starter $49 a month for 2,000 credits, billed monthly; 1 credit per email found](https://hunter.io/pricing) | [No, no credit charged](https://hunter.io/api-documentation/v2) | [Free plan, 50 credits a month](https://hunter.io/pricing) |
| Apollo | [Basic $49 per seat per month, billed annually, with 30,000 credits per seat per year](https://www.apollo.io/pricing); [1 credit for an email](https://docs.apollo.io/reference/people-enrichment) | [No, 0 credits when nothing is found](https://docs.apollo.io/reference/people-enrichment) | [Free plan, 900 credits per seat per year, API access listed](https://www.apollo.io/pricing) |
| Anymail Finder | [$29 a month for 400 credits up to $799 for 100,000; one-time credit packs too](https://anymailfinder.com/pricing) | [No, only a valid email is charged](https://anymailfinder.com/developers) | [7-day trial with 100 credits](https://anymailfinder.com/pricing) |
| Prospeo | [Starter $49 per user per month for 2,000 credits](https://prospeo.io/pricing); [1 credit per email found](https://prospeo.io/api-docs/enrich-person) | [No, not charged when there is no match](https://prospeo.io/api-docs/enrich-person) | [Free plan, 100 credits a month; no Enrich API access shown](https://prospeo.io/pricing) |
| Findymail | [Starter $99 a month for 5,000 finder credits](https://www.findymail.com/pricing); [1 finder credit per verified email](https://app.findymail.com/docs/) | [No, you pay only for verified results](https://www.findymail.com/pricing) | [10 credits at sign-up](https://www.findymail.com/pricing) |

Four of the others document an API key on every call: [Hunter](https://hunter.io/api-documentation/v2), [Anymail Finder](https://anymailfinder.com/email-finder-api/docs/authentication), [Prospeo](https://prospeo.io/api-docs/enrich-person) and [Findymail](https://app.findymail.com/docs/). Enrich.chat's free tier needs none. For a wider list, see the [best email finder tools](https://enrich.chat/blog/best-email-finder-tools/) and our [Hunter.io alternatives](https://enrich.chat/alternatives/hunter-io/).

### When is another email finder API the better choice?

- **Hunter** fits if you want proof. Its Email Finder returns a `score` and up to 20 `sources`, the public pages where it saw the address, and it sells an Email Verifier, [per its docs](https://hunter.io/api-documentation/v2). See [Hunter.io pricing](https://enrich.chat/blog/hunter-io-pricing/).
- **Anymail Finder** fits bulk work. Its [developer page](https://anymailfinder.com/developers) lists bulk jobs up to 100,000 rows and no rate limits. Its [pricing page](https://anymailfinder.com/pricing) says it also verifies catch-all addresses, and it sells credit packs with no subscription.
- **Apollo** fits if your reps also want a prospecting app. Its [plans bundle](https://www.apollo.io/pricing) sequences, extensions and a dialer. See our [Apollo API guide](https://enrich.chat/blog/apollo-api/).
- **Prospeo and Findymail** fit if you want unused credits to roll over. [Prospeo](https://prospeo.io/pricing) carries them forward, and [Findymail](https://www.findymail.com/pricing) banks up to twice the monthly allowance. Enrich.chat credits do not roll over.

### What to watch out for with Enrich.chat

- It finds one email per call. There is no bulk endpoint, no standalone verifier for addresses from other sources and no confidence score. The status has three values. The company must be a website, not a name.
- It is an API, not a sales app. There is no visual table builder, CSV upload screen, native CRM app, sequencing, dialer or Chrome extension. SDKs are planned, and plain HTTPS works today.

## How do you find emails from an AI agent or for a whole list?

Paste a prompt into ChatGPT, Claude, Cursor or Codex, and the agent calls the API for you. You can also add the MCP server at enrich.chat/mcp, which has a `find_work_email` tool. The [install page](https://enrich.chat/install/) has one-click steps. No SDK is needed.

For a list, call `/v1/email` once per row and keep to the rate limit in the [API reference](https://enrich.chat/docs/). Mark misses as not found, and add up `credits_used` at the end. On a 429, wait `retry_after` seconds. For no-code tools, see the [n8n lead enrichment](https://enrich.chat/blog/n8n-lead-enrichment/) guide and the [Clay](https://enrich.chat/integrations/clay/) and [Google Sheets](https://enrich.chat/integrations/google-sheets/) pages.

```text
Use www.enrich.chat to find the work email for each person in my list from their name and company website. Add the email and its status, mark misses as not found, never guess an address, and tell me the total credits_used
```

### Privacy and opt-out

Anyone can remove their data at [enrich.chat/opt-out/](https://enrich.chat/opt-out/), and requests are processed within 15 days. You are responsible for the rules that apply to your outreach, such as TCPA, CAN-SPAM and GDPR. The FTC says CAN-SPAM [makes no exception for business-to-business email](https://www.ftc.gov/business-guidance/resources/can-spam-act-compliance-guide-business), and each violating email can cost up to $53,088. The UK regulator says [UK GDPR applies when a work address identifies a person](https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/business-to-business-marketing/). This is not legal advice. Accounts are covered by our [terms](https://enrich.chat/terms/).

## Frequently asked questions

### Is there a free email finder API?

Yes. Enrich.chat gives every IP address 10 free lookups a day with no signup and no API key, and a call that finds nothing is not counted. [Hunter's free plan](https://hunter.io/pricing) gives 50 credits a month, and [Findymail](https://www.findymail.com/pricing) gives 10 credits to test with. [Prospeo's free plan](https://prospeo.io/pricing) has 100 credits a month but shows no Enrich API access.

### How do I find a work email from a name and company with an API?

Send a GET request to `https://enrich.chat/v1/email` with `name` and `domain`, for example `name=Jane%20Doe&domain=acme.com`. The domain is the company's website, because company names are not supported yet. You get back `work_email` with a status of verified, catch_all or unknown. A match uses 10 credits and a miss uses 0. The free [email finder](https://enrich.chat/tools/email-finder/) runs the same lookup in a browser.

### Do I need an API key for an email finder API?

Not for Enrich.chat's free tier: 10 lookups a day work with no key and no signup. A key is optional and comes with a paid plan, from your [account page](https://enrich.chat/account/). Most other finders ask for one on every call. [Hunter's docs](https://hunter.io/api-documentation/v2) say the key is always required, and [Anymail Finder](https://anymailfinder.com/email-finder-api/docs/authentication) says all requests need it in an Authorization header.

### What does catch_all mean in an email finder result?

Catch_all means the company's mail server accepts mail for every address, so nobody can confirm from outside that this mailbox exists. The address may be right, but it may also bounce later. Treat it as risky: send a small test batch or find another route to the person. [Hunter](https://hunter.io/api-documentation/v2) calls the same state accept_all. The free [catch-all checker](https://enrich.chat/tools/catch-all-checker/) shows whether a domain behaves this way.

### What is the difference between an email finder API and an email verifier API?

A finder starts from a name and company and returns an address. A verifier starts from an address you already have and says whether it can receive mail. [Hunter](https://hunter.io/api-documentation/v2) and [Anymail Finder](https://anymailfinder.com/pricing) sell both. Enrich.chat marks each email it finds with a status but has no standalone verifier for addresses from other sources. For a work email you already hold, `/v1/person?email=` returns the person behind it.

### Can ChatGPT or Claude find emails through an API?

Yes, if you give them a tool. Paste a prompt that starts with "Use www.enrich.chat" and the agent reads the docs and calls `/v1/email` itself. You can also add the MCP server at enrich.chat/mcp, which has a find_work_email tool and needs no key. Tell the agent to report only what the API returns and never to guess an address. See the [data API for AI agents](https://enrich.chat/agents/) page for setup.

## Sources

1. [Hunter API documentation: Email Finder](https://hunter.io/api-documentation/v2)
2. [Hunter plans and pricing](https://hunter.io/pricing)
3. [Anymail Finder pricing](https://anymailfinder.com/pricing)
4. [Email Finder API](https://anymailfinder.com/developers)
5. [Anymail Finder API authentication](https://anymailfinder.com/email-finder-api/docs/authentication)
6. [Apollo pricing](https://www.apollo.io/pricing)
7. [People Enrichment (API reference)](https://docs.apollo.io/reference/people-enrichment)
8. [Prospeo pricing](https://prospeo.io/pricing)
9. [Enrich Person (API documentation)](https://prospeo.io/api-docs/enrich-person)
10. [Findymail pricing](https://www.findymail.com/pricing)
11. [Findymail API documentation](https://app.findymail.com/docs/)
12. [RFC 5321: Simple Mail Transfer Protocol](https://www.rfc-editor.org/rfc/rfc5321.html)
13. [Email sender guidelines](https://support.google.com/a/answer/81126)
14. [CAN-SPAM Act: A Compliance Guide for Business](https://www.ftc.gov/business-guidance/resources/can-spam-act-compliance-guide-business)
15. [Business-to-business marketing](https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/business-to-business-marketing/)

## Examples

**cURL**

```bash
# A name and a company website
curl "https://enrich.chat/v1/email?name=Jane%20Doe&domain=acme.com"

# Or a LinkedIn URL
curl "https://enrich.chat/v1/email?linkedin_url=linkedin.com/in/jane-doe-ops"

# The free tier needs no key. A key is optional;
# paying subscribers get one at enrich.chat/account/
# and can add: -H "Authorization: Bearer $ENRICH_KEY"
```

**Response**

```json
{
  "found": true,
  "work_email": {"value": "jane.doe@acme.com", "status": "verified"},
  "pattern": "first.last@acme.com",
  "name": "Jane Doe",
  "title": "VP Operations",
  "credits_used": 10,
  "free_lookups_remaining": 9
}
```

**No match**

```text
# Nothing on file: 0 credits
{
  "found": false,
  "guess": {
    "email": "jane.doe@acme.com",
    "basis": "The most common address format at this company applied to the name."
  }
}

# A guess is not data. Do not send to it.
```

**Python**

```python
import os
import requests

# Optional: a paid key from enrich.chat/account/ lifts the free limit
key = os.environ.get("ENRICH_KEY")
headers = {"Authorization": "Bearer " + key} if key else {}

r = requests.get(
    "https://enrich.chat/v1/email",
    params={"name": "Jane Doe", "domain": "acme.com"},
    headers=headers,
    timeout=30,
)
data = r.json()

if r.status_code == 402:
    print("free limit reached, upgrade at", data["upgrade_url"])
elif not r.ok:
    print(data["error"], data["message"])
elif data["found"]:
    email = data["work_email"]
    print(email["value"], email["status"], data["credits_used"])
else:
    print("not found, 0 credits")  # ignore data.get("guess")
```

**Agent prompt**

```text
# Paste into ChatGPT, Claude, Cursor or Codex
Use www.enrich.chat to find the work email for
Jane Doe at acme.com. Show its status
(verified, catch_all or unknown). If nothing is
found, say so instead of guessing an address.
```

## Prices

| What you get | Credits |
| --- | --- |
| Work email found | 10 |
| Mobile number found | 250 |
| Company tech stack or profile found | 5 |

10 free lookups a day for every IP address, no signup. Nothing is charged when nothing is found. Monthly plans start at $29 for 100,000 credits.

## Try this prompt

Find a work email from your agent

```text
Use www.enrich.chat to find the work email for Jane Doe at acme.com. Show its status, and if nothing is found say so instead of guessing an address
```

## Related

- [Best email finder tools (2026): 9 compared on price and AI agent access](https://enrich.chat/blog/best-email-finder-tools/)
- [Free email finder](https://enrich.chat/tools/email-finder/)
- [Person enrichment API](https://enrich.chat/api/person-enrichment/)
