> ## Documentation Index
> Fetch the complete documentation index at: https://docs.asteragents.com/llms.txt
> Use this file to discover all available pages before exploring further.

# People Data Labs Enrich Tool

> Resolve a person from name + home address and return their personal email(s) and phone via People Data Labs

## What it does

PDL Enrich takes an **individual** you already have a name and address for and returns their **personal** email(s) and optional phone. It resolves people as consumers (by name + home address), so it reaches the ones B2B tools miss — brand-new solo business owners, homeowners, and anyone without a business web footprint. A natural fit after a source hands you a name + address but no way to contact the person (e.g. a business-registration filing).

<Note>
  **Requires People Data Labs Integration**: Set up the [People Data Labs integration](/integrations/peopledatalabs) before agents can use this tool. A **Pro** plan is required — Free plans mask email/phone as `true`/`false` flags.
</Note>

## What it costs

PDL bills **1 credit per successful match**; a no-match is free. The tool defaults to `required="personal_emails"`, so PDL only matches — and only charges — when a personal email actually exists:

| Outcome                                      | Credits |
| -------------------------------------------- | ------- |
| Match with a personal email                  | 1       |
| No personal email found (default `required`) | 0       |
| No match                                     | 0       |

## Key features

* Resolve a person by `firstName`+`lastName` + address (`streetAddress`, `locality`, `region`, `postalCode`), or by `email` / `profile`
* Returns **personal** email(s) — the reachable channel for solo operators — plus optional mobile phone
* `required=personal_emails` by default: pay only when a personal email comes back
* `name_match` precision flag on every result
* Batch up to 25 people per call

## Parameters

| Parameter        | Type    | Required | Description                                                                                                                                                    |
| ---------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `people`         | array   | Yes      | People to resolve (max 25). Each item: `firstName`+`lastName` plus location (`streetAddress` and/or `locality`+`region`+`postalCode`), or an `email`/`profile` |
| `required`       | string  | No       | PDL `required` filter. Default `personal_emails` (only match/bill when a personal email exists). Pass `""` to accept any match                                 |
| `min_likelihood` | number  | No       | Match-confidence floor, 1–10 (default `2` — keep low; name+address alone yields low likelihood even on correct matches)                                        |
| `include_phone`  | boolean | No       | Also return a mobile phone when present, no extra cost (default `false`)                                                                                       |

Each `people` item accepts: `firstName`, `lastName`, `name`, `streetAddress`, `locality` (city), `region` (state), `postalCode`, `email`, `profile` (LinkedIn URL).

## Common use cases

### Resolve a solo owner from a filing

```
people: [{ "firstName": "Ashlee", "lastName": "Scavo", "streetAddress": "12379 SE 86th Ct", "locality": "Belleview", "region": "FL", "postalCode": "34420" }]
```

Returns Ashlee's personal email(s) — bills 1 credit only if a personal email exists.

### Batch a set of officers

```
people: [
  { "firstName": "Bernard", "lastName": "Hooper", "locality": "Miami", "region": "FL" },
  { "firstName": "Alexis", "lastName": "Chavis", "locality": "Jacksonville", "region": "FL" }
]
```

Resolves both (max 25 per call); each match with a personal email costs 1 credit, no-matches are free.

### Also grab a phone

```
people: [{ "firstName": "Damion", "lastName": "Armstrong", "locality": "Davenport", "region": "FL" }]
include_phone: true
```

Returns the personal email(s) plus a mobile phone when available (no extra credit).

## What you get back

* `results[]` — per person: `matched`, `likelihood`, `full_name`, `location`, `name_match`, `personal_emails[]`, and `mobile_phone` (when `include_phone`)
* `attempted` / `matched` / `with_personal_email` — funnel counts
* `credits_spent` — credits consumed on this call (matches only)

## Best practices

* **Always verify.** Pass `personal_emails` through [Verify Emails](/tools/verify_emails) (Bouncer) and send only to deliverable addresses.
* **Prefer `name_match: true`.** Forcing a personal-email match can surface associated/household emails — favor name-consistent candidates.
* **Give the full address.** Street + city + state + ZIP improves precision; keep `min_likelihood` low so correct-but-low-confidence matches aren't dropped.
* **Let no-matches be free.** Keeping the default `required=personal_emails` means you only pay when a usable email is found — run more names rather than lowering the bar.

## Troubleshooting

**Emails come back as `true`/`false` instead of addresses**

* The account is on a **Free** plan — upgrade to **Pro** to return actual values

**"People Data Labs is not connected"**

* Add the API key under **Control Hub > Integrations > People Data Labs**

**No match / no personal email**

* Add or correct the street address, city, state, and ZIP
* With the default `required=personal_emails`, a person with no personal email returns a free no-match

**"Payment required (402)"**

* The PDL account is out of credits or lacks Person Enrich — top up or upgrade the plan

## Related tools

* [Verify Emails](/tools/verify_emails) — Bouncer-check the personal emails PDL returns before sending
* [Apollo Enrich](/tools/apollo_enrich) — B2B counterpart; use for established businesses with corporate domains
