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

# People Data Labs: Enrich Contact

> Enrich one person from an email, phone, LinkedIn URL, or name plus company with their profile: current job title, company, work history, education,.

Enrich one person from an email, phone, LinkedIn URL, or name plus company with their profile: current job title, company, work history, education,.

> [!NOTE]
>
> Tool ID: `peopledatalabs_enrich_contact`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'peopledatalabs_enrich_contact',
  {
    "email": "jane.doe@example.com",
    "phone": "+14155550123",
    "profile": "example"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute peopledatalabs_enrich_contact --input '{
  "email": "jane.doe@example.com",
  "phone": "+14155550123",
  "profile": "example"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "id": "id_123",
    "full_name": "Example",
    "first_name": "Jane"
  }
}
```

Use `deepline describe peopledatalabs_enrich_contact --json` for the latest machine-readable contract.

## Input reference

People Data Labs person enrichment input for targeted 1:1 matching (single best profile).

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.email` | `string` | No | — | Email the person has used. |
| `payload.phone` | `string` | No | — | Phone number for person matching. PDL expects +\[country code] for phone matches. |
| `payload.profile` | `string` | No | — | Social profile URL the person has used. |
| `payload.linkedin_url` | `string` | No | — | Compatibility alias for profile. Prefer profile for new PDL calls. |
| `payload.email_hash` | `string` | No | — | Hashed email identifier. |
| `payload.lid` | `string` | No | — | PDL LinkedIn ID. |
| `payload.pdl_id` | `string` | No | — | PDL persistent person ID. |
| `payload.first_name` | `string` | No | — | Person first name. |
| `payload.last_name` | `string` | No | — | Person last name. |
| `payload.middle_name` | `string` | No | — | Person middle name. |
| `payload.name` | `string` | No | — | Full name (alternative to first\_name + last\_name). |
| `payload.company` | `string` | No | — | Company name, website, or social URL where the person has worked. |
| `payload.domain` | `string` | No | — | Compatibility alias for company when the context is a company domain. Prefer company for new PDL calls. |
| `payload.company_name` | `string` | No | — | Compatibility alias for company when the context is a company name. Prefer company for new PDL calls. |
| `payload.school` | `string` | No | — | School name context. |
| `payload.location` | `string` | No | — | Free-form location string. |
| `payload.street_address` | `string` | No | — | Street address for matching. |
| `payload.locality` | `string` | No | — | City/locality. |
| `payload.region` | `string` | No | — | State/region. |
| `payload.country` | `string` | No | — | Country. |
| `payload.postal_code` | `string` | No | — | Postal/ZIP code. |
| `payload.birth_date` | `string` | No | — | Birth date (if known). |
| `payload.titlecase` | `boolean` | No | — | Normalize text casing in 200 responses, matching PDL titlecase. |
| `payload.pretty` | `boolean` | No | — | Pretty-print the upstream PDL response. |
| `payload.min_likelihood` | `integer` | No | — | Minimum PDL likelihood score required for a 200 match. Deepline defaults to 6 when omitted. PDL native default is 2. Minimum: 0. Maximum: 10. |
| `payload.include_if_matched` | `boolean` | No | — | Include PDL matched input fields in the top-level response metadata. |
| `payload.required` | `string` | No | — | PDL required boolean expression over top-level fields, e.g. personal\_emails or education AND (emails OR phone\_numbers). |
| `payload.data_include` | `string` | No | — | Comma-separated PDL fields/subfields to include. To request no data payload, pass the literal two-character value "". A bare empty value is ignored and returns the full record. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "People Data Labs person enrichment input for targeted 1:1 matching (single best profile).",
    "properties": {
      "email": {
        "type": "string",
        "description": "Email the person has used."
      },
      "phone": {
        "type": "string",
        "description": "Phone number for person matching. PDL expects +[country code] for phone matches."
      },
      "profile": {
        "type": "string",
        "description": "Social profile URL the person has used."
      },
      "linkedin_url": {
        "type": "string",
        "description": "Compatibility alias for profile. Prefer profile for new PDL calls."
      },
      "email_hash": {
        "type": "string",
        "description": "Hashed email identifier."
      },
      "lid": {
        "type": "string",
        "description": "PDL LinkedIn ID."
      },
      "pdl_id": {
        "type": "string",
        "description": "PDL persistent person ID."
      },
      "first_name": {
        "type": "string",
        "description": "Person first name."
      },
      "last_name": {
        "type": "string",
        "description": "Person last name."
      },
      "middle_name": {
        "type": "string",
        "description": "Person middle name."
      },
      "name": {
        "type": "string",
        "description": "Full name (alternative to first_name + last_name)."
      },
      "company": {
        "type": "string",
        "description": "Company name, website, or social URL where the person has worked."
      },
      "domain": {
        "type": "string",
        "description": "Compatibility alias for company when the context is a company domain. Prefer company for new PDL calls."
      },
      "company_name": {
        "type": "string",
        "description": "Compatibility alias for company when the context is a company name. Prefer company for new PDL calls."
      },
      "school": {
        "type": "string",
        "description": "School name context."
      },
      "location": {
        "type": "string",
        "description": "Free-form location string."
      },
      "street_address": {
        "type": "string",
        "description": "Street address for matching."
      },
      "locality": {
        "type": "string",
        "description": "City/locality."
      },
      "region": {
        "type": "string",
        "description": "State/region."
      },
      "country": {
        "type": "string",
        "description": "Country."
      },
      "postal_code": {
        "type": "string",
        "description": "Postal/ZIP code."
      },
      "birth_date": {
        "type": "string",
        "description": "Birth date (if known)."
      },
      "titlecase": {
        "type": "boolean",
        "description": "Normalize text casing in 200 responses, matching PDL titlecase."
      },
      "pretty": {
        "type": "boolean",
        "description": "Pretty-print the upstream PDL response."
      },
      "min_likelihood": {
        "type": "integer",
        "description": "Minimum PDL likelihood score required for a 200 match. Deepline defaults to 6 when omitted; PDL native default is 2.",
        "minimum": 0,
        "maximum": 10
      },
      "include_if_matched": {
        "type": "boolean",
        "description": "Include PDL matched input fields in the top-level response metadata."
      },
      "required": {
        "type": "string",
        "description": "PDL required boolean expression over top-level fields, e.g. personal_emails or education AND (emails OR phone_numbers)."
      },
      "data_include": {
        "type": "string",
        "description": "Comma-separated PDL fields/subfields to include. To request no data payload, pass the literal two-character value \"\"; a bare empty value is ignored and returns the full record."
      }
    },
    "additionalProperties": false
  }
  ```
</details>

## Output reference

People Data Labs enrich contact result.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.id` | `string` | No | — | — |
| `result.data.full_name` | `string` | No | — | — |
| `result.data.first_name` | `string` | No | — | — |
| `result.data.last_name` | `string` | No | — | — |
| `result.data.linkedin_url` | `string \| null` | No | — | — |
| `result.data.work_email` | `string \| null` | No | — | — |
| `result.data.emails` | `array` | No | — | — |
| `result.data.personal_emails` | `array` | No | — | — |
| `result.data.recommended_personal_email` | `string \| null` | No | — | — |
| `result.data.mobile_phone` | `string \| null` | No | — | — |
| `result.data.phone_numbers` | `array` | No | — | — |
| `result.data.job_title` | `string \| null` | No | — | — |
| `result.data.job_company_name` | `string \| null` | No | — | — |
| `result.data.location_name` | `string \| null` | No | — | — |
| `result.meta` | `record` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "People Data Labs enrich contact result.",
    "properties": {
      "data": {
        "type": [
          "object",
          "null"
        ],
        "description": "Provider response payload.",
        "properties": {
          "id": {
            "type": "string"
          },
          "full_name": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "linkedin_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "work_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "personal_emails": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "recommended_personal_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "mobile_phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "phone_numbers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "job_title": {
            "type": [
              "string",
              "null"
            ]
          },
          "job_company_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "location_name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": {}
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `per_result` (per result).
* Estimated Deepline credits: `2.38` per pricing unit.

## Related documentation

* [People Data Labs provider guide](https://deepline.com/docs/providers/peopledatalabs/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.