> 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/data-enrichment/

# Data enrichment API for contacts, companies and tech stacks

Send a LinkedIn URL, an email, a name or a company domain to one of seven GET endpoints. Get back work emails with a status, mobiles with a line type, company profiles and tech stacks. Credits are used only when something is found.

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

**Short answer:** Enrich.chat's data enrichment API has seven GET endpoints: person, email, mobile, search, company, tech stack and company people. Send a LinkedIn URL, an email, a name or a company domain and get JSON back, with each work email marked verified, catch_all or unknown. A lookup that finds nothing uses 0 credits, and 10 lookups a day are free with no signup.

## Key takeaways

- Seven GET endpoints cover people, companies and tech stacks: `/v1/person`, `/v1/email`, `/v1/mobile`, `/v1/search`, `/v1/company`, `/v1/company/tech` and `/v1/company/people`.
- Every work email comes back marked verified, catch_all or unknown, and every mobile carries a line type. Treat each contact as a strong lead, not a guarantee.
- Credits are used per result found: 10 for a work email, 250 for a mobile, 5 for a profile and 5 for a tech stack. A lookup that finds nothing uses 0.
- 10 lookups a day are free per IP address with no signup and no key. Paid plans start at $29 a month, with unlimited seats.

## One data enrichment API for people and companies

- **Seven endpoints, one pattern.** Person, email, mobile, search, company, tech stack and company people. Each is a GET request that returns JSON.
- **A status on every contact.** Each work email comes back verified, catch_all or unknown. Each mobile carries a line type in `mobile.line`.
- **People and companies.** Look up a person, a company, the software it runs or the people who work there.
- **Credits only on a match.** 10 credits per work email, 250 per mobile, 5 per profile. Nothing found, 0 credits.
- **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.
- **Free to try.** 10 free lookups a day, no signup and no key. Unlimited seats on every plan.

## From one identifier to an enriched record

1. **Pick the endpoint.** Match what you have to a call: a domain to `/v1/company`, a LinkedIn URL to `/v1/person`, a description to `/v1/search`.
2. **Send a GET request.** Add the identifier as a query parameter. The free tier needs no key. Use `fields=` to choose what you spend credits on.
3. **Read found, status and credits_used.** Use verified emails, treat catch_all as risky, and mark `found: false` as not found. A miss used 0 credits.

## What is a data enrichment API?

A data enrichment API takes a partial record, such as an email, a company domain or a LinkedIn URL, and returns the fields you are missing. You send one identifier in a request. You get back JSON with a work email, a mobile number, a job title or a company profile. Typical examples: turn a signup email into a name and job title, a domain into an industry and headcount, or a LinkedIn URL into a work email.

The idea has several names. [People Data Labs](https://docs.peopledatalabs.com/docs/person-enrichment-api) sells a person enrichment API that matches one person to one profile. [Apollo's People Enrichment endpoint](https://docs.apollo.io/reference/people-enrichment) refreshes one person's record. [ZoomInfo](https://pipeline.zoominfo.com/operations/company-enrichment-api) calls a company enrichment API a fragment of company data in and a full profile out. "Lead enrichment API" and "contact enrichment API" usually mean the person side. [Autobound's developer guide](https://www.autobound.ai/guides/data-enrichment-api-guide) splits it the same way: company enrichment takes a domain, and contact enrichment takes an email or a LinkedIn URL.

An API call works on one record at a time. [Cleanlist's glossary](https://www.cleanlist.ai/glossary/api-enrichment) contrasts this with batch enrichment, which processes a whole list on a schedule. That makes an API a fit for a signup form, a CRM trigger or an AI agent. Our guide to [what data enrichment is](https://enrich.chat/blog/what-is-data-enrichment/) covers the basics, and [CRM data enrichment](https://enrich.chat/blog/crm-data-enrichment/) covers the batch case.

## Which endpoints does the Enrich.chat data enrichment API have?

Enrich.chat has seven data endpoints on `https://enrich.chat/v1`: three for people, one search, and three for companies. Each is a GET request with query parameters, and each returns JSON.

| Endpoint | You send | You get back | Credits when found |
| --- | --- | --- | --- |
| `/v1/person` | `linkedin_url`, `email`, or `name` + `company` | Profile, work email and mobile, each with a status | 10 per work email, 250 per mobile, 5 per profile |
| `/v1/email` | `name` + `domain`, or `linkedin_url` | One work email with its status | 10 |
| `/v1/mobile` | `linkedin_url` | One mobile with its line type | 250 |
| `/v1/search` | `q` in plain English, plus filters | Name, title, company and LinkedIn URL per person | 5 per person |
| `/v1/company` | `domain` | Name, industry, employees, state and country | 5 |
| `/v1/company/tech` | `domain` | Technologies, each with a category | 5 |
| `/v1/company/people` | `domain`, plus optional `title` and `seniority` | Name, title and LinkedIn URL per person | 5 per person |

Each group has a guide. The [person enrichment API](https://enrich.chat/api/person-enrichment/) and the [email finder API](https://enrich.chat/api/email-finder/) cover the contact endpoints, and the [LinkedIn URL to contact API](https://enrich.chat/api/linkedin-to-contact/) covers mobiles. The [people search API](https://enrich.chat/api/people-search/) covers `/v1/search`, and the [company enrichment API](https://enrich.chat/api/company-enrichment/) covers the three company endpoints. Mobiles cost the most, so ask for them only when you plan to call.

**Figure 1: Four routes through the Enrich.chat data enrichment API.** Four routes from what you have to an enriched record. From a description, call search and then person. From a company website, call company people and then person, or call company and then company tech for a profile and its software. From a person you already know, call person, or call email or mobile for one field only.

*Four routes from what you have to an enriched record. Dark boxes are `/v1/person`. A LinkedIn URL is only a lookup key: Enrich.chat never logs in to LinkedIn. Source: [Enrich.chat agent docs](https://enrich.chat/agents.md).*

## What does a call return, and what does it use?

Every endpoint returns `found` and `credits_used`, and each contact field carries its own status. The same code can read all seven responses.

- **`found`** is true on a match. False means nothing matched, the call used 0 credits and it did not count against your free lookups.
- **`credits_used`** is an integer. On the free tier, `free_lookups_remaining` shows what is left today. With a key, `credits_left` shows your plan balance.
- **`work_email.status`** is verified, catch_all or unknown. **`mobile.line`** is mobile or unknown, which is a line type, not a call check. Treat every contact as a strong lead, not a guarantee.

**Figure 2: One endpoint hands an identifier to the next.** Call 1 sends a company domain and a title to the company people endpoint, which returns a person with a LinkedIn URL and credits used. Call 2 passes that LinkedIn URL to the person endpoint, which returns a work email with a status of verified, catch_all or unknown and the credits used. Both responses carry found, credits_used and free_lookups_remaining.

*Two calls chained. The first response gives a LinkedIn URL, the second gives a work email with its status. Every endpoint returns `found` and `credits_used`. Example values are made up. Source: [Enrich.chat agent docs](https://enrich.chat/agents.md).*

Errors are JSON with `error` and `message`. A 402 with `free_limit_reached` includes an `upgrade_url` and a `resets_at` time, and a 429 includes `retry_after`. Rate limits are listed in the [API reference](https://enrich.chat/docs/).

### How many credits does each result use?

Credits are used per result found: 10 for a work email, 250 for a mobile, 5 for a tech stack and 5 for a profile or for each person a search returns. Name, title and company come free with an email or mobile match.

**Figure 3: Credits used per result found.** A bar chart of credits used when a result is found. A company profile, a tech stack and a person in search results each use 5 credits. A work email uses 10. A mobile uses 250, by far the largest bar. A lookup that finds nothing uses 0.

*Credits used per result found, from the public price list. A lookup that finds nothing uses 0. Source: [Enrich.chat pricing](https://enrich.chat/pricing/).*

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 unused credits do not roll over. A list of 1,000 accounts with a profile, a tech stack and one work email each uses 20,000 credits. That fits the Growth plan at $29 a month. Adding a mobile for 100 of those contacts brings it to 45,000 credits.

## Is there a free data enrichment API?

Yes, several, but each leaves something out. Enrich.chat gives each IP address 10 lookups a day on all seven endpoints, with no signup and no key. The others below start with a sign-up.

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

| API | Free option | What to know | Paid plans start at |
| --- | --- | --- | --- |
| Enrich.chat | 10 lookups a day per IP address, no signup, no key | A 402 comes back at the daily limit. A lookup with no match does not count. | $29 a month for 100,000 credits, billed monthly |
| People Data Labs | [Up to 100 credits a month](https://www.peopledatalabs.com/pricing/person) | [Contact data is not included: emails, phones and addresses are obfuscated](https://www.peopledatalabs.com/pricing/person) | [Pro from $98 a month for as few as 350 credits](https://www.peopledatalabs.com/pricing/person) |
| Apollo | [Free plan with 900 credits per seat per year; API access listed](https://www.apollo.io/pricing) | [1 credit for an email, 8 more for a mobile](https://docs.apollo.io/docs/api-pricing); credits are per seat and do not roll over | [Basic $49 per seat per month, billed annually](https://www.apollo.io/pricing) |
| ZoomInfo GTM AI | [1,000 data credits at signup, no credit card](https://gtm.ai/pricing) | [Credits expire 12 months after they are granted](https://gtm.ai/pricing) | [$0.38 per data credit at the $1,000 tier](https://gtm.ai/pricing) |
| FullEnrich | [50 credits to start, no credit card](https://www.fullenrich.com/pricing) | [1 credit per work email, 10 per mobile](https://www.fullenrich.com/pricing) | [Pro at $0.055 per credit; $55 a month for 1,000](https://www.fullenrich.com/pricing) |

Free tiers change often, so check the vendor's page before you build on one. The free [email finder](https://enrich.chat/tools/email-finder/), [tech stack lookup](https://enrich.chat/tools/tech-stack-lookup/) and [AI lead list builder](https://enrich.chat/tools/lead-list-builder/) run the same kind of lookup in a browser, with 10 free lookups per visitor a day. For prices across more vendors, see the [best data enrichment tools](https://enrich.chat/blog/best-data-enrichment-tools/) and our [pricing page](https://enrich.chat/pricing/).

## How do you add the data enrichment API to an AI agent, n8n or a CRM?

Paste one prompt into ChatGPT, Claude, Cursor or Codex, and the agent reads [enrich.chat/agents.md](https://enrich.chat/agents.md) and calls the API for you. No SDK is needed, and SDKs are planned.

```text
Use www.enrich.chat to find 10 owners of dental clinics in Florida, then get each one's work email and its status. Mark anything not found, never guess an email, and tell me the total credits_used
```

You can also add the MCP server at `enrich.chat/mcp`, with no key. [MCP is an open-source standard](https://modelcontextprotocol.io/introduction) for connecting AI applications to outside systems. The server has eight tools: `find_person_contact`, `find_work_email`, `find_mobile_number`, `search_people`, `company_profile`, `company_tech_stack`, `company_people` and `check_free_quota`. The [install page](https://enrich.chat/install/) has one-click links and per-app steps.

In code and no-code tools, every endpoint is a plain GET, so any HTTP step works. The [n8n lead enrichment guide](https://enrich.chat/blog/n8n-lead-enrichment/) uses the HTTP Request node, and Make and Zapier can send the same request. For CRM fields, see [HubSpot data enrichment](https://enrich.chat/integrations/hubspot/), [Salesforce data enrichment](https://enrich.chat/integrations/salesforce/), the [Clay integration](https://enrich.chat/integrations/clay/) and the [Google Sheets integration](https://enrich.chat/integrations/google-sheets/).

## When is another data enrichment API the better choice?

Enrich.chat suits agents and apps that look up one record at a time. These cases fit another API better, per each vendor's own pages checked on October 15, 2026.

- **You want a waterfall.** [FullEnrich lists waterfall enrichment across 25+ sources](https://www.fullenrich.com/pricing), and [Apollo's endpoint](https://docs.apollo.io/reference/people-enrichment) has waterfall flags. Our [waterfall enrichment guide](https://enrich.chat/blog/waterfall-enrichment/) explains when it pays off.
- **You enrich in bulk.** Apollo's bulk endpoints take up to ten [people](https://docs.apollo.io/reference/people-enrichment) or ten [companies](https://docs.apollo.io/reference/organization-enrichment) per call. Enrich.chat looks up one record per call.
- **You need revenue, funding or parent company.** [Apollo's organization endpoint](https://docs.apollo.io/reference/organization-enrichment) returns them, and [ZoomInfo lists revenue and industry codes](https://pipeline.zoominfo.com/operations/company-enrichment-api). Enrich.chat's company endpoint does not.
- **You want to store a data license.** [People Data Labs' Enterprise plan lists data license feeds](https://www.peopledatalabs.com/pricing/person) on annual contracts.
- **Your records live in HubSpot.** [Clearbit's changelog](https://clearbit.com/changelog) says new sign-ups need a HubSpot account. See our [Clearbit alternatives](https://enrich.chat/alternatives/clearbit/) and the [B2B data APIs compared](https://enrich.chat/blog/b2b-data-apis-compared/).

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

- Each call looks up one record, and there is no bulk endpoint. The company endpoints take a website domain, not a name, and return no revenue range or founding year yet.
- 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.

### 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 laws that apply to your outreach, such as TCPA, CAN-SPAM and GDPR. The FTC says the [law makes no exception for business-to-business email](https://www.ftc.gov/business-guidance/resources/can-spam-act-compliance-guide-business), and 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 data enrichment API?

Yes. Enrich.chat gives every IP address 10 free lookups a day on all seven endpoints, with no signup and no key. [People Data Labs' free plan](https://www.peopledatalabs.com/pricing/person) offers up to 100 credits a month but hides emails, phones and addresses. [Apollo's free plan](https://www.apollo.io/pricing) lists API access with 900 credits per seat per year, and [ZoomInfo's GTM AI](https://gtm.ai/pricing) gives 1,000 data credits at signup. Free-tier terms change, so check each page.

### What is the difference between a lead, contact and company enrichment API?

The names overlap. Lead and contact enrichment APIs take an identifier for a person, such as an email or LinkedIn URL, and return fields like a work email, title and phone. A company enrichment API takes a domain and returns industry, size and location. [Autobound's developer guide](https://www.autobound.ai/guides/data-enrichment-api-guide) splits them the same way. Enrich.chat covers both sides: [person enrichment](https://enrich.chat/api/person-enrichment/) and [company enrichment](https://enrich.chat/api/company-enrichment/).

### How much does a data enrichment API cost?

It depends on the unit you pay for. Enrich.chat uses credits per result found: 10 for a work email, 250 for a mobile, 5 for a profile and 5 for a tech stack. Plans start at $29 a month, and a miss uses 0 credits. [FullEnrich](https://www.fullenrich.com/pricing) lists 1 credit per work email at $0.055 a credit on a 1,000-credit plan. See the [pricing page](https://enrich.chat/pricing/) for a calculator.

### Do I need an API key to use a data enrichment API?

Not with Enrich.chat. The free tier needs no key, so an agent or script can call any endpoint right away. A key is optional and comes with a paid plan: log in at enrich.chat/account/ with an email and a one-time code, pick a plan, pay at checkout, and the key appears on that page. It starts with `pp_`, goes in an Authorization header or a `key` parameter, and lifts the daily free limit.

### Can I enrich a whole list, or does it work one record at a time?

Each Enrich.chat call looks up one record and returns the result in the same response. For a list, pick the best identifier per row (LinkedIn URL, then email, then name and company), call once per row, mark misses as not found and add up `credits_used`. Rate limits are in the [API reference](https://enrich.chat/docs/). There is no bulk endpoint, so for very large files ask about Enterprise at sales@enrich.chat.

### Can ChatGPT or Claude call a data enrichment API without code?

Yes. Paste a prompt that starts with "Use www.enrich.chat" and the agent reads [enrich.chat/agents.md](https://enrich.chat/agents.md) and calls the endpoints itself. You can also add the MCP server at enrich.chat/mcp, with no key, which has tools such as `find_work_email`, `search_people` and `company_profile`. The [install page](https://enrich.chat/install/) has one-click steps, and the [agents page](https://enrich.chat/agents/) has more prompts.

## Sources

1. [Person Enrichment API](https://docs.peopledatalabs.com/docs/person-enrichment-api)
2. [People Data Labs pricing: Person Data](https://www.peopledatalabs.com/pricing/person)
3. [People Enrichment endpoint](https://docs.apollo.io/reference/people-enrichment)
4. [Organization Enrichment endpoint](https://docs.apollo.io/reference/organization-enrichment)
5. [API Pricing and Credits](https://docs.apollo.io/docs/api-pricing)
6. [Apollo pricing](https://www.apollo.io/pricing)
7. [Company Enrichment API: From a Domain to a Full Company Profile](https://pipeline.zoominfo.com/operations/company-enrichment-api)
8. [GTM AI pricing](https://gtm.ai/pricing)
9. [FullEnrich pricing](https://www.fullenrich.com/pricing)
10. [Data Enrichment APIs: The Developer's Guide](https://www.autobound.ai/guides/data-enrichment-api-guide)
11. [How API Enrichment Works](https://www.cleanlist.ai/glossary/api-enrichment)
12. [Clearbit changelog](https://clearbit.com/changelog)
13. [What is the Model Context Protocol (MCP)?](https://modelcontextprotocol.io/introduction)
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
# Who works at a company? Here, the head of sales at acme.com
curl "https://enrich.chat/v1/company/people?domain=acme.com&title=head%20of%20sales&limit=3"

# Contact details for one result: pass its linkedin_url
curl "https://enrich.chat/v1/person?linkedin_url=linkedin.com/in/jane-doe-ops&fields=email"

# The company profile and its tech stack
curl "https://enrich.chat/v1/company?domain=acme.com"
curl "https://enrich.chat/v1/company/tech?domain=acme.com"

# No identifier yet? Describe who you want
curl "https://enrich.chat/v1/search?q=owners%20of%20dental%20clinics%20in%20Florida&limit=5"

# One field only
curl "https://enrich.chat/v1/email?name=Jane%20Doe&domain=acme.com"
curl "https://enrich.chat/v1/mobile?linkedin_url=linkedin.com/in/jane-doe-ops"

# Free lookups left today (this call does not use one)
curl "https://enrich.chat/v1/usage"

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

**Company people**

```text
# GET /v1/company/people?domain=acme.com&title=head%20of%20sales
{
  "found": true,
  "count": 1,
  "domain": "acme.com",
  "people": [
    {
      "name": "Jane Doe",
      "title": "Head of Sales",
      "company": "Acme Logistics",
      "linkedin_url": "https://www.linkedin.com/in/jane-doe-ops"
    }
  ],
  "credits_used": 5,
  "free_lookups_remaining": 9
}
```

**Person**

```text
# GET /v1/person?linkedin_url=linkedin.com/in/jane-doe-ops&fields=email
{
  "found": true,
  "name": "Jane Doe",
  "title": "Head of Sales",
  "company": {"name": "Acme Logistics"},
  "linkedin_url": "https://www.linkedin.com/in/jane-doe-ops",
  "work_email": {"value": "jane.doe@acmelogistics.com", "status": "verified"},
  "credits_used": 10,
  "free_lookups_remaining": 8
}
```

**Python**

```python
import os
import requests

BASE = "https://enrich.chat/v1"

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

def get(path, **params):
    r = requests.get(BASE + path, params=params, headers=headers, timeout=30)
    data = r.json()
    if r.status_code == 402:
        raise SystemExit("Limit reached. Upgrade at " + data.get("upgrade_url", "https://enrich.chat/account/"))
    if not r.ok:
        raise SystemExit(data["error"] + ": " + data["message"])
    return data

domain = "acme.com"
company = get("/company", domain=domain)
tech = get("/company/tech", domain=domain)
people = get("/company/people", domain=domain, title="head of sales", limit=3)

if company["found"]:
    print(company["name"], company["industry"], company["employees"])
if tech["found"]:
    print([t["name"] for t in tech["technologies"]])

for p in people.get("people", []):
    contact = get("/person", linkedin_url=p["linkedin_url"], fields="email")
    if contact["found"] and contact["work_email"]:
        print(p["name"], contact["work_email"]["value"], contact["work_email"]["status"])
    else:
        print(p["name"], "not found, 0 credits")
```

**Agent prompt**

```text
# Paste into ChatGPT, Claude, Cursor or Codex
Use www.enrich.chat to enrich acme.com: its
profile, its tech stack, and up to 3 heads of
sales with a work email and its status. Mark
anything not found, never guess an email, and
tell me the total credits_used.
```

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

Enrich a list of leads from your agent

```text
Use www.enrich.chat to find 5 VPs of Operations at US logistics companies with 200 to 1000 employees, then get each one's work email and its status. Mark anything not found, never guess an email, and tell me the total credits_used
```

## Related

- [Best data enrichment tools (2026): 10 compared, with prices](https://enrich.chat/blog/best-data-enrichment-tools/)
- [What is data enrichment?](https://enrich.chat/blog/what-is-data-enrichment/)
- [Contact data API for AI agents](https://enrich.chat/agents/)
