> 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/features/people-search/

# B2B people search: find leads by job title, level and company

Describe who you want or set filters, see a free live count, then reveal work emails and mobiles one person at a time. The dashboard and GET /v1/search do the same job.

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

**Short answer:** Enrich.chat's B2B people search takes a plain-English sentence or filters such as job title, level, industry, company size and exclusions. The count of matches is free, results come best first at 25 per page, and one search can reach 1,000 people. You then reveal a work email for 10 credits or a mobile for 250; nothing found costs nothing.

## Key takeaways

- The count of matches is free: it uses 0 credits and no free lookup.
- Rows show name, title, company, level, country and whether an email and a mobile are on file. You reveal contacts per person.
- On a plan a search uses 5 credits for each row shown. A reveal uses 10 credits for an email or 250 for a mobile, and only if found.
- One search pages up to 1,000 results, 25 at a time. Narrow the filters to go deeper.
- Match tiers rank people by fit: the exact title first, then wider ones, each person labelled with the tier that matched. Your team shares lists, saved searches and one credit pool.

## A search you can size before you spend

- **Plain English or filters.** Type a sentence, or set job, location, company and technology filters, and leave out what you do not want. A filter replaces what the sentence says about the same thing.
- **A free count first.** The number of matches updates as you edit. Counts use 0 credits, in the dashboard and at `/v1/search/count`.
- **See how it was read.** Every answer includes `interpreted_as`, with the exact filter names and values. Edit it as filters in the dashboard.
- **Best first, 25 a page.** People with an email and a mobile on file come first. Page with `next_cursor` up to 1,000 results, or rank by fit with [match tiers](https://enrich.chat/features/match-tiers/).
- **Reveal per person.** A work email found uses 10 credits and a mobile 250. Not found, 0 credits.
- **Search from an agent.** The MCP tool `search_people` has a `count_only` option and takes more filters through `more_filters`. Use the open address or the OAuth address.

## From a sentence to a contact

1. **Count who matches.** Describe the people or set filters, and leave out what you do not want. The count is free.
2. **Search.** Press Search to see names, titles, companies and levels, 25 to a page, best first.
3. **Reveal the ones you want.** Open an email (10 credits) or a mobile (250 credits). Nothing found, nothing used.

## What is B2B people search?

B2B people search finds professionals by what they do, not by a name you already have. You describe a role, a kind of company and a place, and the search returns the people who fit. Enrich.chat runs it in the [dashboard](https://enrich.chat/app/) and through one endpoint, `GET /v1/search`.

It answers requests like "IT directors at hospitals in Texas" or "heads of sales at software companies using HubSpot". If you already have a LinkedIn URL, an email or a name and company, use [person enrichment](https://enrich.chat/api/person-enrichment/) instead. The [people search API](https://enrich.chat/api/people-search/) page covers the endpoint on its own, and [plain-English lead search](https://enrich.chat/features/ai-lead-search/) covers the sentence box.

## How does Enrich.chat people search work, from count to reveal?

You count first, then search, then reveal: the count is free, a search uses credits for each row it shows, and a reveal uses credits only when a contact is found.

**Figure 1: The People search screen in the dashboard.** A drawing of the People screen. On the left are the filters: a plain-English box that reads IT directors at hospitals in Texas, and filter groups for Job, Location, Company, Technology and signals, Companies by website and Contact data. On the right are a free count of 1,284 people, the Search and Export buttons, the Read as chips, and result rows with name, title, company and level. Each row has Email and Mobile reveal buttons that show their credit cost. Numbers and people are made up.

*A simplified drawing of the People screen. The people, companies and count are made up, and three of the 25 rows on a page are shown. Source: [Enrich.chat dashboard](https://enrich.chat/app/) and [OpenAPI spec](https://enrich.chat/openapi.json).*

1. **Count.** Type a sentence, set filters, or do both. The number of matches updates as you edit, and it costs nothing. In the API this is `GET /v1/search/count`.
2. **Search.** Press Search. Each row shows name, title, company, level and country, plus whether Enrich.chat holds an email and a mobile. Results come best first, up to 25 to a page.
3. **Reveal.** Click Email (10 credits) or Mobile (250 credits) for the people you pick. A work email comes back with a status: verified, catch_all or unknown. If nothing is found, you pay nothing.

The `has_email` and `has_mobile` flags tell you what is on file before you pay for it, and a revealed contact stays in your account, so opening it again is free. To keep people for later, add them to a list: [Lists and export](https://enrich.chat/features/lists-and-export/) covers that step. On a team, lists, saved searches and revealed contacts are shared, and the owner's plan pays for everyone, as [team workspaces](https://enrich.chat/features/team-workspaces/) explains.

## Which filters find leads by job title, level and company?

Enrich.chat has filters for the job, the place, the company, its technology, its website and the contact data on file, and exclusions for what you want left out. Different filters combine with AND, and several values of one filter combine with OR.

| Group | Dashboard filters | API parameters |
| --- | --- | --- |
| Job | Job title, any-of or exact titles, level, department, role group, skills, headline words, time in the role, started the role in the last N days, minimum connections | title, title_any, title_exact, level, function, persona, skills, headline, in_role_over_days, started_role_within_days, connections_min |
| Location | Country, US state, city, continent, region | country, state, city, continent, region |
| Company | Industry, employees, revenue, founded after or before, company name, city and type, NAICS and SIC codes, specialties | industry, company_size, employees_min, employees_max, company_revenue, founded_after, founded_before, company_name, company_city, company_type, naics, sic, specialties |
| Technology and signals | Uses technology, any technology in a category, funding stage, funded since, funding totals, investor, employee growth, web traffic, team-size signals | uses, uses_category, funding_stage, funded_since, total_funding_min, investor, growth_min, traffic_min, sales_roles_min |
| Companies by website | Only these companies, leave these out | company_domain, exclude_domains |
| Contact data | Has a work email, has a mobile, has a direct phone, email checked within N days | has_email, has_mobile, has_direct_phone, email_verified_within_days |
| Leave out | Countries, states, cities, departments, levels, role groups, title words, industries, sizes, company names | exclude_country, exclude_state, exclude_city, exclude_function, exclude_level, exclude_persona, exclude_title, exclude_industry, exclude_size, exclude_company_name |

Level takes c_suite, vp, director, manager, staff or other. The API also takes `seniority`, which allows founder, owner and head as well. Company size and revenue are bands, not exact figures. A wrong value returns `unknown_filter_value` with `did_you_mean`, and the `/v1/facets` endpoint lists every exact value for free, for example `/v1/facets/industry`.

The table shows the main groups, not every filter. `GET /v1/filters` is free and lists each filter with its type and an example. Each filter works on the data Enrich.chat holds, so a company may have no value for a field. Exclusions help most on broad searches: `exclude_title=intern,assistant` drops junior titles without a rewrite.

Read `interpreted_as` every time: it shows how your request was understood, with the exact filter names and values, and the dashboard displays it as "Read as" with an Edit as filters button.

**Figure 2: How a plain-English search becomes filters.** You send the sentence IT directors at hospitals in Texas. Enrich.chat answers with interpreted_as, which reads level as director, function as Information Technology, industry as Hospitals and Health Care and state as Texas. If that looks right, run the search. If it looks wrong, set that filter yourself, and GET /v1/facets/industry lists every exact value for free.

*Check `interpreted_as` before you spend credits. The reading shown is an example. Source: [Enrich.chat agent docs](https://enrich.chat/agents.md).*

A filter you set replaces what the sentence says about the same thing. Add one filter at a time and watch the count, because each filter can only shrink it. A request that names nobody in particular returns `search_too_broad`, so add a role plus an industry, a place or a company.

## Can people search rank people by how well they fit?

Yes, with match tiers. You give up to five searches, strictest first: the exact title, then a wider title, then the wider industry. Each person comes back once, labelled with the first tier that matched them, a score (100 for the first tier, then 75, 50, 25 and 10) and the filters that matched. The score lets you, or an agent, explain why someone is on the list.

```
POST /v1/search/cascade
{"limit": 25, "tiers": [
  {"name": "Exact", "q": "IT directors at hospitals in Texas"},
  {"name": "Close", "q": "IT managers at hospitals in Texas"}
]}
```

Add `"count_only": true` to get each tier's count for free. A tier search is billed like a search: 5 credits for each person shown on a plan, or one lookup per search on the free tier. In the dashboard, People search has a Match tiers mode. The [match tiers](https://enrich.chat/features/match-tiers/) page shows tiers built from filters as well as sentences.

## What does a people search cost?

The count costs 0 credits. On a plan, each person a search shows uses 5 credits and each reveal uses credits only if the contact is found, while on the free tier a search uses one lookup however many rows it shows.

| Step | On a plan | On the free tier |
| --- | --- | --- |
| Count | 0 credits | Uses no lookup |
| Search, per person shown | 5 credits | One lookup per search |
| Match tiers search, per person shown | 5 credits | One lookup per search |
| Match tiers count | 0 credits | Uses no lookup |
| Reveal a work email | 10 credits if found | One lookup |
| Reveal a mobile | 250 credits if found | One lookup |
| Nothing found | 0 credits | Not counted |

**Figure 3: What a small people search costs in credits.** A job in three steps. The count of 1,284 matching people costs 0 credits. Searching 25 people costs 125 credits at 5 credits a row. Revealing 10 work emails costs 100 credits at 10 credits each. In all the job uses 225 credits, a sliver of the 100,000 credits that the Growth plan includes each month. People and counts are made up.

*Illustrative maths with the public credit prices. The two top bars are drawn to scale; the sliver on the plan bar is enlarged so you can see it. Credits per step come from the [pricing page](https://enrich.chat/pricing/).*

Take a small job: search 25 people and reveal 10 work emails. That is 125 credits for the rows and 100 for the emails, 225 in all, which fits the Growth plan at $29 a month. Mobiles cost the most, since revealing 10 mobiles as well would add 2,500 credits. Plans and a calculator are on the [pricing page](https://enrich.chat/pricing/).

## How do you run people search from the API or an AI agent?

Run three requests in order, count then search then reveal, or give an AI agent one sentence. The MCP tool is `search_people`, its `count_only` option returns the free count, and its `more_filters` argument carries the extra filters. Every call goes to `https://enrich.chat`. The examples below are made up, some fields are trimmed, and each call follows the one before it on the free tier.

```
GET /v1/search/count?q=IT%20directors%20at%20hospitals%20in%20Texas
```

```
{
  "count": 1284,
  "interpreted_as": {
    "level": ["director"],
    "function": ["Information Technology"],
    "industry": ["Hospitals and Health Care"],
    "state": ["Texas"]
  },
  "credits_used": 0,
  "free_lookups_remaining": 10
}
```

```
GET /v1/search?q=IT%20directors%20at%20hospitals%20in%20Texas&limit=2
```

```
{
  "found": true,
  "count": 2,
  "people": [
    {
      "id": "per_7Rk4mXb2QtLw9ZcN",
      "name": "Priya Nair",
      "title": "IT Director",
      "company": "Larkspur Health",
      "company_domain": "larkspur.example.com",
      "level": "director",
      "has_email": true,
      "has_mobile": true
    },
    {
      "id": "per_2Hd8vLs5NxQe3WyT",
      "name": "Tom Reyes",
      "title": "Head of IT",
      "company": "Cedar Mesa",
      "company_domain": "cedarmesa.example.com",
      "level": "director",
      "has_email": true,
      "has_mobile": false
    }
  ],
  "total_matches": 1284,
  "next_cursor": "eyJyIjoyMn0",
  "interpreted_as": {
    "level": ["director"],
    "function": ["Information Technology"],
    "industry": ["Hospitals and Health Care"],
    "state": ["Texas"]
  },
  "credits_used": 10,
  "free_lookups_remaining": 9
}
```

Pass `next_cursor` back as `cursor` to get the next page. A search can be paged 40 times, which is 1,000 results. Keep to about one request a second. To reveal a contact, send a result's id to `/v1/person` as `person_id`.

```
GET /v1/person?person_id=per_7Rk4mXb2QtLw9ZcN&fields=email
```

```
{
  "found": true,
  "id": "per_7Rk4mXb2QtLw9ZcN",
  "name": "Priya Nair",
  "title": "IT Director",
  "company": {
    "name": "Larkspur Health",
    "domain": "larkspur.example.com"
  },
  "work_email": {
    "value": "priya.nair@larkspur.example.com",
    "status": "verified"
  },
  "credits_used": 10,
  "free_lookups_remaining": 8
}
```

```text
Use www.enrich.chat to count IT directors at hospitals in Texas, show me the first 10 with title and company, then get the work email and its status for the top three and tell me the credits used
```

The agent route needs no code. Add the MCP server from the [install page](https://enrich.chat/install/), using the OAuth address to spend your plan's credits, or let an agent read [agents.md](https://enrich.chat/agents.md). The [MCP server](https://enrich.chat/features/mcp-server/) and [API](https://enrich.chat/features/api/) pages have the details. To reveal contacts for hundreds of people at once, start a [background job](https://enrich.chat/features/background-jobs/) with `POST /v1/jobs`: it keeps running after you disconnect, and a signed webhook can tell your app when it finishes.

## What are the limits of Enrich.chat people search?

- **Best first is not best fit.** Results are ordered by contact data on file, then by most recent update. They are not ranked by how well a person fits your pitch, so use filters, or match tiers, for that.
- **At most 1,000 results per search.** Narrow the filters to go deeper. For scale, LinkedIn says [Sales Navigator shows up to 2,500 lead results](https://www.linkedin.com/help/sales-navigator/answer/a106030) across 100 pages.
- **Searching uses credits on a plan.** [Apollo's People API Search](https://docs.apollo.io/docs/people-api-search) uses 0 credits and returns no email addresses or phone numbers. Enrich.chat uses 5 credits for each row shown on a plan, and its count is free.
- **No outreach.** Enrich.chat does not send email, run sequences or dial, and it has no Chrome extension. Export a CSV or Excel file into the tool you send from, since there is no CRM sync.
- **No alerts.** A saved search keeps your filters so you can run it again. It does not watch for new matches, and webhooks announce finished jobs only.
- **No SSO.** A team shares lists and one credit pool, but there is no SSO or SAML sign-in and you cannot set a credit limit for one person.

### What should you do with the people you find?

Check the rules that apply to your outreach before you send anything. The FTC's [CAN-SPAM guide](https://www.ftc.gov/business-guidance/resources/can-spam-act-compliance-guide-business) says to honor an opt-out request within 10 business days. The UK ICO says a [work email that names a person is personal data](https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/business-to-business-marketing/), and that people who object should go on a suppression list. In Enrich.chat, add them to your [do-not-contact list](https://enrich.chat/features/do-not-contact/). Anyone can also opt out at [enrich.chat/opt-out/](https://enrich.chat/opt-out/). This is not legal advice.

## Frequently asked questions

### What is B2B people search?

B2B people search finds professionals from a description of the role, the company and the place, rather than from a name you already know. In Enrich.chat you type a sentence or set filters, see a free count of matches, and read results with name, title, company and level. You then reveal a work email or mobile only for the people you pick.

### How do I find leads by job title?

Open People in the [dashboard](https://enrich.chat/app/) and type the title in the Job title filter, such as head of sales, or write it in a sentence. Add a level, an industry and a place to narrow it, and watch the free count. To catch near misses, use [match tiers](https://enrich.chat/features/match-tiers/): the exact title first, then wider ones. In the API, send `title` and the other filters to `GET /v1/search`.

### Is the count of matches really free?

Yes. The count uses no credits and no free lookup, in the dashboard and at `/v1/search/count`. Only the rate limit applies, so keep to about one request a second. A search that shows people then uses credits for each row on a plan, or one free lookup on the free tier. Each reveal uses credits only when a contact is found.

### How many results can one search return?

One Enrich.chat search can be paged up to 1,000 people: 25 per page for 40 pages. Narrow the filters to go deeper. LinkedIn's help center says [Sales Navigator shows up to 2,500 lead results](https://www.linkedin.com/help/sales-navigator/answer/a106030) across 100 pages, so every tool has a ceiling. Splitting a big market into several filtered searches works in both.

### Does people search return email addresses and phone numbers?

A search shows whether Enrich.chat holds an email and a mobile for each person, as `has_email` and `has_mobile`. You reveal the email (10 credits) or the mobile (250 credits) person by person, and nothing found costs nothing. A work email comes back as verified, catch_all or unknown, so you can see how much to trust it.

### Can I run people search from ChatGPT or Claude?

Yes. Add the MCP server from the [install page](https://enrich.chat/install/), or paste a prompt that starts with "Use www.enrich.chat". The agent calls `search_people`, which has a `count_only` option for the free count and a `more_filters` argument for the extra filters, and then reveals contacts. Use the OAuth address to spend your plan's credits, or the open address for the 10 free lookups a day.

## Sources

1. [Search results limit in Sales Navigator](https://www.linkedin.com/help/sales-navigator/answer/a106030)
2. [People API Search](https://docs.apollo.io/docs/people-api-search)
3. [CAN-SPAM Act: A Compliance Guide for Business](https://www.ftc.gov/business-guidance/resources/can-spam-act-compliance-guide-business)
4. [Business-to-business marketing](https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/business-to-business-marketing/)

## Examples

**Count**

```text
# 1. Count who matches. Free, and no key is needed.
curl "https://enrich.chat/v1/search/count?q=IT%20directors%20at%20hospitals%20in%20Texas"
```

**Search**

```text
# 2. See the first 10 people, best first.
curl "https://enrich.chat/v1/search?q=IT%20directors%20at%20hospitals%20in%20Texas&limit=10"
```

**Reveal**

```text
# 3. Open one work email. Nothing found, nothing used.
curl "https://enrich.chat/v1/person?person_id=per_7Rk4mXb2QtLw9ZcN&fields=email"
```

**Match tiers**

```text
# 4. Rank by fit: exact title first, then a wider one. Each person comes back once.
curl -X POST "https://enrich.chat/v1/search/cascade" \
  -H "content-type: application/json" \
  -d '{"limit": 25, "tiers": [
    {"name": "Exact", "q": "IT directors at hospitals in Texas"},
    {"name": "Close", "q": "IT managers at hospitals in Texas"}
  ]}'

# Illustrative answer, trimmed: people are made up.
# {"people": [{"id": "per_7Rk4mXb2QtLw9ZcN", "name": "Priya Nair",
#    "tier": 1, "tier_name": "Exact", "score": 100, "matched": {...}},
#   {"id": "per_5Wn1cJd8RaTq4MsK", "name": "Sam Ortiz",
#    "tier": 2, "tier_name": "Close", "score": 75, "matched": {...}}],
#  "tiers": [{"tier": 1, "name": "Exact", "returned": 1},
#   {"tier": 2, "name": "Close", "returned": 1}]}
```

**JSON**

```json
# Illustrative: people and companies are made up.
{
  "found": true,
  "count": 2,
  "people": [
    {
      "id": "per_7Rk4mXb2QtLw9ZcN",
      "name": "Priya Nair",
      "title": "IT Director",
      "company": "Larkspur Health",
      "company_domain": "larkspur.example.com",
      "level": "director",
      "has_email": true,
      "has_mobile": true
    },
    {
      "id": "per_2Hd8vLs5NxQe3WyT",
      "name": "Tom Reyes",
      "title": "Head of IT",
      "company": "Cedar Mesa",
      "company_domain": "cedarmesa.example.com",
      "level": "director",
      "has_email": true,
      "has_mobile": false
    }
  ],
  "total_matches": 1284,
  "next_cursor": "eyJyIjoyMn0",
  "interpreted_as": {
    "level": ["director"],
    "function": ["Information Technology"],
    "industry": ["Hospitals and Health Care"],
    "state": ["Texas"]
  },
  "credits_used": 10,
  "free_lookups_remaining": 9
}
```

## 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

Count, search and reveal from your agent

```text
Use www.enrich.chat to count IT directors at hospitals in Texas, show me the first 10 with title and company, then get the work email and its status for the top three and tell me the credits used
```

## Related

- [AI lead search](https://enrich.chat/features/ai-lead-search/)
- [Company search](https://enrich.chat/features/company-search/)
- [Sales prospecting](https://enrich.chat/use-cases/sales-prospecting/)
