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

# People search API: describe who you need, get the people

Send a sentence like "owners of dental clinics in Florida" to GET /v1/search, with optional filters. Get back up to 25 people with name, title, company and LinkedIn URL. Credits are used only for people returned.

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

**Short answer:** Enrich.chat's people search API is one GET request: send a plain English description such as "VPs of Operations at US logistics companies" to `/v1/search`, with optional filters for title, seniority, industry, country, state, company size and company domain. It returns up to 25 people with name, title, company and LinkedIn URL. Each person returned uses 5 credits, a search that finds nobody uses 0, and 10 lookups a day are free with no signup.

## Key takeaways

- `GET /v1/search` takes a plain English `q` and optional filters: title, seniority, industry, country, state, employees_min, employees_max, company_domain and with_email. `limit` runs from 1 to 25.
- Results carry name, title, company and LinkedIn URL. Pass the URL to `/v1/person` for a work email with a status, or add `with_email=true` for an email whose status is unknown.
- Each person returned uses 5 credits, so a full page of 25 uses 125. Nothing found uses 0, and on the free tier one search uses one lookup.
- Apollo and ZoomInfo charge 0 credits to search but return no emails. Lusha and People Data Labs charge per result, and RocketReach charges per page.

## A people search API built for agents and apps

- **Plain English in.** Describe who you want in up to 300 characters. There is no query language to learn.
- **Filters when you need them.** Add title, seniority, industry, country, state, headcount range or company domain. A filter replaces what the sentence says about it.
- **People you can act on.** Each result has a name, title, company and LinkedIn URL. Pass the URL to `/v1/person` for contact details.
- **Credits only for people returned.** 5 credits per person. A search that finds nobody uses 0.
- **One prompt to start.** Your agent reads enrich.chat/agents.md, or adds the MCP server at enrich.chat/mcp, which has a search_people tool. No SDK needed.
- **Free to try.** 10 free lookups a day, no signup and no key. One search uses one lookup, however many people it returns.

## From a sentence to a shortlist

1. **Describe who you want.** Call `GET /v1/search?q=` with a role plus an industry, a place or a company website. Add filters to be exact.
2. **Read the people.** Up to 25 per call, each with name, title, company and LinkedIn URL. A search that is too broad returns `found: false` and a hint.
3. **Enrich the ones you keep.** Pass each `linkedin_url` to `/v1/person` for a work email with its status and a mobile with its line type.

## What is a people search API?

A people search API finds people who match a description, such as a job title at a certain kind of company, when you do not know their names yet. Enrich.chat's version is `GET /v1/search`. You describe who you want in plain English, add filters if you like, and get back up to 25 people with name, title, company and LinkedIn URL.

Search is the first step and enrichment is the second. Our [person enrichment API](https://enrich.chat/api/person-enrichment/) starts from one known identifier. Search starts from criteria and finds those identifiers.

| Detail | Search | Enrichment |
| --- | --- | --- |
| Endpoint | `/v1/search` | `/v1/person` |
| You send | A description, plus optional filters | A LinkedIn URL, an email, or a name and company |
| You get | Up to 25 people: name, title, company, LinkedIn URL | A profile, a work email with a status, a mobile with a line type |
| Credits when found | 5 per person returned | 10 per work email, 250 per mobile, 5 per profile |

The phrase has other meanings. The [Google People API](https://developers.google.com/people) reads and manages the signed-in user's own contacts. Record lookup services such as [Searchbug](https://www.searchbug.com/api/people-data.aspx) are sold for fraud prevention and skip tracing. Enrich.chat's search is for B2B prospecting by role, seniority, industry, place and company size.

## Which filters does GET /v1/search accept?

`GET /v1/search` takes a plain English `q` of up to 300 characters and nine optional filters. You can combine them. A filter replaces whatever `q` says about the same thing, so `seniority=vp` wins over a different level named in the sentence.

| Parameter | What it does | Example |
| --- | --- | --- |
| `q` | Who to find, in plain English | `owners of dental clinics in Florida` |
| `title` | Job title or function | `recruiter` |
| `seniority` | One of c_suite, founder, owner, vp, head, director or manager | `vp` |
| `industry` | Industry in plain words | `logistics` |
| `country` | Country name | `United States` |
| `state` | US state name. It implies the United States | `Texas` |
| `employees_min`, `employees_max` | Minimum and maximum company headcount | `200`, `1000` |
| `company_domain` | Only people at this company website | `acme.com` |
| `with_email` | Only people with a work email on file, and include it. Its status is unknown | `true` |
| `limit` | People to return, 1 to 25. The default is 10 | `10` |

The structured filters stop there. The [OpenAPI spec](https://enrich.chat/openapi.json) and the [API reference](https://enrich.chat/docs/) list no revenue, technology or exclusion filter, and no separate city filter.

**Figure 1: Anatomy of a people search request and response.** One GET request to enrich.chat/v1/search carries a plain English sentence in q, optional filters such as employees_min and employees_max, and a limit. The response returns found, a people list with name, title, company and LinkedIn URL for up to 25 people, credits_used at 5 credits a person, and free_lookups_remaining on the free tier.

*One GET request and the response it returns. The people shown are made up. A search that is too broad returns `found: false` and a hint instead. Source: [Enrich.chat OpenAPI spec](https://enrich.chat/openapi.json).*

### How do you write a query that returns people?

Pair a role with an industry, a place or a company website. A role on its own is too broad: the API returns `{"found": false, "hint": "..."}` and uses 0 credits. Read the hint, add one more detail and try again.

- **Role, industry and place.** `q=owners of dental clinics in Florida`.
- **Role, size and country.** `q=VPs of Operations at US logistics companies with 200 to 1000 employees`. Filters can say the same: `seniority=vp`, `industry=logistics`, `country=United States`, `employees_min=200` and `employees_max=1000`.
- **One company.** `title=head of sales&company_domain=acme.com`. To list a company's team by title or seniority, [/v1/company/people](https://enrich.chat/api/company-enrichment/) does the same job.
- **Too broad.** `q=sales managers` names a role and nothing else.

Run one search per buyer type. The free [AI lead list builder](https://enrich.chat/tools/lead-list-builder/) runs the same kind of search in a browser, and our [ideal customer profile guide](https://enrich.chat/blog/ideal-customer-profile/) helps you decide what to ask for.

```text
Use www.enrich.chat to find 10 owners of dental clinics in Florida. Show name, title, company and LinkedIn URL, and tell me the credits_used
```

## How do you get emails and mobiles for the people you find?

Search tells you who the people are. To reach them, pass each result's `linkedin_url` to `/v1/person`, or add `with_email=true` to the search.

**Figure 2: Search wide, then enrich only the people you keep.** Step one calls GET /v1/search with a sentence and filters and returns up to 25 people at 5 credits a person. Step two is yours: you keep some people and skip others. Step three calls GET /v1/person with each kept person's LinkedIn URL and returns a work email with a status at 10 credits and a mobile with a line type at 250 credits.

*Search first, pick the people worth contacting, then enrich only those. Credits shown are what each step uses when it finds something. Source: [Enrich.chat agent docs](https://enrich.chat/agents.md).*

- **`with_email=true`** keeps only people we hold a work email for and adds that email to each result. Its status is `unknown`, because it is not re-checked in the search call.
- **`/v1/person`** takes a result's `linkedin_url` and returns a work email marked verified, catch_all or unknown, and a mobile with a line type of mobile or unknown. A work email found uses 10 credits and a mobile 250. The [LinkedIn URL to email and mobile API](https://enrich.chat/api/linkedin-to-contact/) page walks through that call.

An agent can run the whole loop: search, drop people already in your CRM, and enrich the rest. Treat every contact as a strong lead, not a guarantee, and never guess a missing address.

## How much does a people search cost?

Each person a search returns uses 5 credits, so a full page of 25 uses 125. A search that returns nobody uses 0. On the free tier, which needs no signup and no key, one search uses one of your 10 daily lookups however many people it returns.

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. Every matched response shows its cost in `credits_used`, and the [pricing page](https://enrich.chat/pricing/) has a calculator.

Take a list build. You search 1,000 people, keep 300 for their work emails, then get mobiles for the 20 best fits. That is 13,000 credits, which fits the Growth plan at $29 a month.

**Figure 3: Credits for a list of 1,000 people with 300 emails and 20 mobiles.** Searching 1,000 people uses 5,000 credits, 300 work emails use 3,000 and 20 mobiles use 5,000. The total of 13,000 credits fits the Growth plan at $29 a month.

*Illustrative maths with our public credit rates. A person with no email or mobile found uses 0 credits for it, so real totals can be lower. Source: [Enrich.chat pricing](https://enrich.chat/pricing/).*

Mobiles are the costly part, so ask for them only when you plan to call. The [data enrichment API](https://enrich.chat/api/data-enrichment/) page lists the credit rate for every endpoint.

```text
Use www.enrich.chat to find 25 heads of sales at US software companies with 50 to 200 employees. Show me the people first, then get work emails with status for the ones I pick, and give me the total credits_used
```

### What happens at the free limit or on an error?

When the free lookups run out, the API returns HTTP 402 with `free_limit_reached` and an `upgrade_url`. A 429 means wait `retry_after` seconds, and a 400 means a parameter is missing or invalid. Rate limits are in the [API reference](https://enrich.chat/docs/).

The key is optional, and the free tier needs none. 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. Send it as `Authorization: Bearer pp_...` or `&key=pp_...`.

## How does it compare with Apollo, People Data Labs, ZoomInfo, Lusha and RocketReach?

All six search APIs find people from filters. They differ in what a search costs and whether the results carry contact details. [Apollo](https://docs.apollo.io/reference/people-api-search) and [ZoomInfo](https://docs.gtm.ai/docs/credit-usage-and-limits) charge nothing to search, [People Data Labs](https://docs.peopledatalabs.com/docs/reference-person-search-api) and [Lusha](https://docs.lusha.com/user-guide/usage-analytics/how-credits-are-counted) charge per result, and [RocketReach](https://docs.rocketreach.co/reference/universal-credits-overview) charges per page.

*Checked on each vendor's own documentation and pricing pages on October 15, 2026.*

| API | Cost of one search | Cost of an email or phone | Plan or free option |
| --- | --- | --- | --- |
| Enrich.chat | 5 credits per person returned | 10 credits per work email, 250 per mobile | 10 lookups a day, no signup; monthly plans from $29 |
| Apollo | [0 credits](https://docs.apollo.io/reference/people-api-search) | [1 credit for an email, 8 more for a mobile](https://docs.apollo.io/docs/api-pricing) | [Free plan with 900 credits per seat a year; Basic is $49 per seat a month, billed annually](https://www.apollo.io/pricing) |
| People Data Labs | [1 credit per record returned](https://docs.peopledatalabs.com/docs/reference-person-search-api) | [In the record on Pro; hidden on Free](https://www.peopledatalabs.com/pricing/person) | [Free plan with 100 credits a month; Pro from $98 a month for 350 credits](https://www.peopledatalabs.com/pricing/person) |
| ZoomInfo | [0 credits](https://docs.gtm.ai/docs/credit-usage-and-limits) | [1 data credit per new contact](https://docs.gtm.ai/docs/credit-usage-and-limits) | [GTM AI: 1,000 data credits free at signup, then $0.38 a credit at the $1,000 tier](https://gtm.ai/pricing) |
| Lusha | [1 credit per result, 1 credit minimum per request](https://docs.lusha.com/user-guide/usage-analytics/how-credits-are-counted) | [1 credit per email, 5 per phone](https://docs.lusha.com/user-guide/usage-analytics/how-credits-are-counted) | [Free plan with 40 credits a month; Starter is $37.45 a month, billed yearly](https://www.lusha.com/pricing/) |
| RocketReach | [1 credit per page of up to 100 results](https://docs.rocketreach.co/reference/universal-credits-overview); [older API plans meter searches](https://docs.rocketreach.co/reference/faq) | [2 credits per professional email, 6 per phone](https://docs.rocketreach.co/reference/universal-credits-overview) | [API on any plan; custom API packages start at $6K](https://rocketreach.co/resources/products/api/) |

The second table shows what comes back and how far one call reaches. Apollo, ZoomInfo, Lusha and RocketReach return no contact details from search. People Data Labs returns full person records, with contact fields hidden on its free plan.

*Checked on each vendor's own API reference on October 15, 2026.*

| API | Filters | Contact data in results | Reach of one call |
| --- | --- | --- | --- |
| Enrich.chat | A sentence plus title, seniority, industry, country, state, headcount range and company domain | Name, title, company, LinkedIn URL; a work email only with `with_email`, status unknown | Up to 25 people; no paging parameter |
| Apollo | [A long list, including titles, seniority, location, industry, headcount, revenue, technologies and job postings](https://docs.apollo.io/reference/people-api-search) | [None; flags show whether an email or phone exists](https://docs.apollo.io/reference/people-api-search) | [100 per page, up to 500 pages](https://docs.apollo.io/reference/people-api-search) |
| People Data Labs | [Any field in the person schema, through an Elasticsearch query or SQL](https://docs.peopledatalabs.com/docs/reference-person-search-api) | [Full records; contact fields hidden on Free](https://www.peopledatalabs.com/pricing/person) | [Up to 100 per request; a scroll_token fetches the next batch](https://docs.peopledatalabs.com/docs/reference-person-search-api) |
| ZoomInfo | [Person, job, company and location attributes, with management level, department and revenue](https://docs.gtm.ai/reference/searchinterface_searchcontact) | [None; hints show whether an email or mobile exists](https://docs.gtm.ai/reference/searchinterface_searchcontact) | [1 to 100 per page](https://docs.gtm.ai/reference/searchinterface_searchcontact) |
| Lusha | [Contact and company filters, including seniority, departments, size, technologies, intent and signals](https://docs.lusha.com/api-reference/prospecting/prospecting-contacts) | [Previews only; a second call reveals emails and phones](https://docs.lusha.com/api-reference/prospecting/prospecting-contacts) | [10 to 100 per page, pages 0 to 1,000](https://docs.lusha.com/api-reference/prospecting/prospecting-contacts) |
| RocketReach | [Fields such as current title, management level, company industry and company size](https://docs.rocketreach.co/reference/people-search-api) | [None; a separate lookup call returns contact details](https://docs.rocketreach.co/reference/people-search-api) | [Up to 100 per page; start index up to 10,000](https://docs.rocketreach.co/reference/people-search-api) |

Rate limits differ too. [Apollo](https://docs.apollo.io/reference/rate-limits) allows 50 people searches a minute on Free and 200 on paid plans. [People Data Labs](https://docs.peopledatalabs.com/docs/reference-person-search-api) sets a default of 10 requests a minute. [RocketReach](https://docs.rocketreach.co/reference/rate-limits) allows 15 to 60 person searches a minute by plan, and [ZoomInfo](https://docs.gtm.ai/docs/credit-usage-and-limits) defaults to 25 requests a second per tenant. Enrich.chat's limits are in the [API reference](https://enrich.chat/docs/).

Apollo and ZoomInfo do not charge to search, so their cost sits in the enrichment step. Enrich.chat charges 5 credits for each person returned, like People Data Labs and Lusha. In return there is no OAuth app to register, no master key and no seat to buy. For more vendors, see our [B2B data APIs compared](https://enrich.chat/blog/b2b-data-apis-compared/).

### When is another people search API the better choice?

- **Apollo** fits if you want free search, the longest filter list and reach of [50,000 records a query](https://docs.apollo.io/reference/people-api-search). You pay in credits when you enrich. See our [Apollo API guide](https://enrich.chat/blog/apollo-api/).
- **People Data Labs** fits if you want to query any field in its person schema and pull full records in batches of 100. See our [People Data Labs pricing guide](https://enrich.chat/blog/people-data-labs-pricing/).
- **ZoomInfo** fits a team with a ZoomInfo contract, or one that wants to [filter by accuracy score](https://docs.gtm.ai/reference/searchinterface_searchcontact) and see do-not-call flags in search. See [ZoomInfo API pricing](https://enrich.chat/blog/zoominfo-api-pricing/).
- **Lusha and RocketReach** fit if you want [Lusha's signal filters](https://docs.lusha.com/api-reference/prospecting/prospecting-contacts) or [RocketReach's job change and company signal filters](https://docs.rocketreach.co/reference/people-search-api). See [Lusha pricing](https://enrich.chat/blog/lusha-pricing/) and [RocketReach pricing](https://enrich.chat/blog/rocketreach-pricing/).

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

- Search uses credits: 5 for each person returned. A page holds 25 people at most, and the API documents no page or offset parameter, so a longer list means several searches with different filters.
- Location filters are country and state. There is no separate city, revenue, technology or exclusion filter, and search results carry no phone numbers.
- There is no visual table builder or CSV upload screen, and no built-in sequencing or dialer. SDKs are planned. Plain HTTPS works today, and your agent can also use the remote [MCP server](https://enrich.chat/install/).

### Privacy and opt-out

Search results are facts about real people. 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. B2B email is not exempt: the UK regulator says UK GDPR applies when a [work email 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 people search API?

Yes. Enrich.chat gives every IP address 10 free lookups a day with no signup and no key, and one search uses one lookup however many people it returns. [Apollo's People API Search](https://docs.apollo.io/reference/people-api-search) costs 0 credits but needs an account registered with a work email on its free plan. [People Data Labs](https://www.peopledatalabs.com/pricing/person) has a free plan with 100 credits a month.

### Is there an official LinkedIn people search API?

Not an open one. [LinkedIn's developer docs](https://learn.microsoft.com/en-us/linkedin/shared/authentication/getting-access) say most permissions need LinkedIn's approval, the open ones cover sign-in and sharing, and Sales Navigator permissions are for approved partners. Inside the product, [a lead search shows up to 2,500 results](https://www.linkedin.com/help/sales-navigator/answer/a106030) across 100 pages. Enrich.chat's `/v1/search` is a separate API. It never logs in to LinkedIn and returns each person's LinkedIn URL as a lookup key.

### How do I search for people by job title with an API?

Send `GET /v1/search` with `title` and one more detail, such as `industry`, `state` or `company_domain`. Add `seniority` (c_suite, founder, owner, vp, head, director or manager) to narrow it. A title alone is too broad and returns `found: false` with a hint. [Apollo](https://docs.apollo.io/reference/people-api-search) uses `person_titles` and matches similar titles unless you turn that off.

### Does a people search API return email addresses?

Mostly not. [Apollo](https://docs.apollo.io/reference/people-api-search), [ZoomInfo](https://docs.gtm.ai/reference/searchinterface_searchcontact) and [RocketReach](https://docs.rocketreach.co/reference/people-search-api) say search returns no contact details, and [Lusha](https://docs.lusha.com/api-reference/prospecting/prospecting-contacts) returns previews. Enrich.chat adds a work email with status unknown when you set `with_email=true`. Pass the LinkedIn URL to [/v1/person](https://enrich.chat/api/person-enrichment/) for verified, catch_all or unknown.

### How many people can one people search return?

Enrich.chat returns up to 25 per call and documents no paging parameter. [Apollo](https://docs.apollo.io/reference/people-api-search) allows 100 per page up to 500 pages. [People Data Labs](https://docs.peopledatalabs.com/docs/reference-person-search-api) returns up to 100 per request and continues with a scroll_token. [ZoomInfo](https://docs.gtm.ai/reference/searchinterface_searchcontact) allows 1 to 100 per page. For bigger pulls, pick one of those.

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

Yes. Paste a prompt that starts with "Use www.enrich.chat" and the agent reads the docs and calls `/v1/search` itself. You can also add the remote MCP server at enrich.chat/mcp, with no key, which has a search_people tool. It works in ChatGPT, Claude, Cursor, Codex, n8n, Make and Zapier through HTTP. The [install page](https://enrich.chat/install/) has the steps. No SDK is needed, and SDKs are planned.

## Sources

1. [People API Search](https://docs.apollo.io/reference/people-api-search)
2. [Rate Limits](https://docs.apollo.io/reference/rate-limits)
3. [API Pricing and Credits](https://docs.apollo.io/docs/api-pricing)
4. [Apollo pricing](https://www.apollo.io/pricing)
5. [Reference: Person Search API](https://docs.peopledatalabs.com/docs/reference-person-search-api)
6. [Person data pricing](https://www.peopledatalabs.com/pricing/person)
7. [Search Contacts (API reference)](https://docs.gtm.ai/reference/searchinterface_searchcontact)
8. [Credit Usage and Limits](https://docs.gtm.ai/docs/credit-usage-and-limits)
9. [GTM AI pricing](https://gtm.ai/pricing)
10. [Prospecting Contacts (API reference)](https://docs.lusha.com/api-reference/prospecting/prospecting-contacts)
11. [How credits are counted](https://docs.lusha.com/user-guide/usage-analytics/how-credits-are-counted)
12. [Lusha pricing](https://www.lusha.com/pricing/)
13. [People Search API](https://docs.rocketreach.co/reference/people-search-api)
14. [Universal Credits Overview](https://docs.rocketreach.co/reference/universal-credits-overview)
15. [Rate Limits](https://docs.rocketreach.co/reference/rate-limits)
16. [API FAQ](https://docs.rocketreach.co/reference/faq)
17. [RocketReach Contact Data API](https://rocketreach.co/resources/products/api/)
18. [Getting Access to LinkedIn APIs](https://learn.microsoft.com/en-us/linkedin/shared/authentication/getting-access)
19. [Search results limit in Sales Navigator](https://www.linkedin.com/help/sales-navigator/answer/a106030)
20. [People API](https://developers.google.com/people)
21. [Searchbug People Search APIs](https://www.searchbug.com/api/people-data.aspx)
22. [Business-to-business marketing](https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/business-to-business-marketing/)

## Examples

**cURL**

```bash
# Plain English search with two filters
curl -G "https://enrich.chat/v1/search" \
  --data-urlencode "q=VPs of Operations at US logistics companies" \
  --data-urlencode "employees_min=200" \
  --data-urlencode "employees_max=1000" \
  --data-urlencode "limit=3"

# The same idea with filters only
curl -G "https://enrich.chat/v1/search" \
  --data-urlencode "seniority=vp" \
  --data-urlencode "industry=logistics" \
  --data-urlencode "country=United States"

# The key is optional (free tier). With a paid key from
# enrich.chat/account/, add this line to the call:
#   -H "Authorization: Bearer $ENRICH_KEY"
```

**Response**

```json
{
  "found": true,
  "count": 3,
  "people": [
    {"name": "Jane Doe", "title": "VP Operations",
     "company": "Acme Logistics",
     "linkedin_url": "https://www.linkedin.com/in/jane-doe-ops"},
    {"name": "John Roe", "title": "VP Supply Chain",
     "company": "Globex Freight",
     "linkedin_url": "https://www.linkedin.com/in/john-roe-sc"},
    {"name": "Sam Sample", "title": "VP Operations",
     "company": "Initech Cargo",
     "linkedin_url": "https://www.linkedin.com/in/sam-sample-ops"}
  ],
  "credits_used": 15,
  "free_lookups_remaining": 9
}
```

**Too broad**

```text
# A role on its own is too broad
curl "https://enrich.chat/v1/search?q=sales%20managers"

# The reply has no people and uses 0 credits:
{
  "found": false,
  "hint": "..."
}
```

**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/search",
    params={
        "q": "VPs of Operations at US logistics companies",
        "employees_min": 200,
        "employees_max": 1000,
        "limit": 10,
    },
    headers=headers,
    timeout=30,
)
result = r.json()

if r.status_code == 402:
    print("free limit reached, upgrade at", result["upgrade_url"])
elif not r.ok:
    print(result["error"], result["message"])
elif result["found"]:
    for p in result["people"]:
        print(p["name"], p["title"], p["company"], p["linkedin_url"])
    print("credits used:", result["credits_used"])
else:
    print("no people, 0 credits. Hint:", result.get("hint"))
```

**Node**

```javascript
const url = new URL("https://enrich.chat/v1/search");
url.searchParams.set("q", "VPs of Operations at US logistics companies");
url.searchParams.set("employees_min", "200");
url.searchParams.set("employees_max", "1000");
url.searchParams.set("limit", "10");

// Optional: a paid key from enrich.chat/account/ lifts the free limit
const key = process.env.ENRICH_KEY;
const res = await fetch(url, key ? { headers: { Authorization: "Bearer " + key } } : {});
const result = await res.json();

if (res.status === 402) {
  console.log("free limit reached, upgrade at", result.upgrade_url);
} else if (!res.ok) {
  console.log(result.error, result.message);
} else if (result.found) {
  for (const p of result.people) console.log(p.name, p.title, p.company, p.linkedin_url);
  console.log("credits used:", result.credits_used);
} else {
  console.log("no people, 0 credits. Hint:", result.hint);
}
```

**Agent prompt**

```text
# Paste into ChatGPT, Claude, Cursor or Codex
Use www.enrich.chat to find 10 VPs of Operations
at US logistics companies with 200 to 1000
employees. Show name, title, company and
LinkedIn URL, then get the work email and its
status for the three best fits.
```

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

Search for people from your agent

```text
Use www.enrich.chat to find 10 VPs of Operations at US logistics companies with 200 to 1000 employees. Show name, title, company and LinkedIn URL, then get the work email and its status for the three best fits and tell me the total credits_used
```

## Related

- [AI lead list builder](https://enrich.chat/tools/lead-list-builder/)
- [Person enrichment API](https://enrich.chat/api/person-enrichment/)
- [B2B contact data APIs compared (2026): 9 on auth, limits and billing](https://enrich.chat/blog/b2b-data-apis-compared/)
