> ## 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: Bulk People Enrichment

> Enrich many people at once from known details, returning profiles with job history and optional emails and phone numbers.

Enrich many people at once from known details, returning profiles with job history and optional emails and phone numbers.

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

## 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_bulk_people_enrichment',
  {
    "details": [
      {
        "first_name": "Jane",
        "last_name": "Doe",
        "email": "jane.doe@example.com",
        "domain": "example.com"
      }
    ]
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute peopledatalabs_bulk_people_enrichment --input '{
  "details": [
    {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "jane.doe@example.com",
      "domain": "example.com"
    }
  ]
}' --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": [
    {
      "status": 123,
      "likelihood": 123,
      "data": {
        "id": "id_123",
        "full_name": "Example",
        "first_name": "Jane"
      }
    }
  ]
}
```

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

## Input reference

People Data Labs bulk people enrichment input.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.details` | `array` | Yes | — | — |
| `payload.titlecase` | `boolean` | No | — | Default output text casing for every person. |
| `payload.pretty` | `boolean` | No | — | Default pretty-printing for bulk responses. |
| `payload.min_likelihood` | `integer` | No | — | Default minimum likelihood for person matches. Minimum: 0. Maximum: 10. |
| `payload.include_if_matched` | `boolean` | No | — | Default matched-input response metadata behavior. |
| `payload.required` | `string` | No | — | Default required expression for person matches. |
| `payload.data_include` | `string` | No | — | Default fields to include or exclude. A leading - excludes fields. Only the literal two-character value "" suppresses the data payload. A bare empty value is ignored. Projection does not reduce credits. |
| `payload.run_waterfall_email` | `boolean` | No | — | Enable waterfall email enrichment. |
| `payload.run_waterfall_phone` | `boolean` | No | — | Enable waterfall phone enrichment. |
| `payload.reveal_personal_emails` | `boolean` | No | — | Allow retrieval of personal emails when available. |
| `payload.reveal_phone_number` | `boolean` | No | — | Allow retrieval of phone numbers (requires webhook\_url). |
| `payload.webhook_url` | `string` | No | — | Webhook URL for asynchronous phone reveal completion callbacks. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "People Data Labs bulk people enrichment input.",
    "properties": {
      "details": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "first_name": {
              "type": "string",
              "description": "Person first name."
            },
            "last_name": {
              "type": "string",
              "description": "Person last name."
            },
            "name": {
              "type": "string",
              "description": "Full person name."
            },
            "email": {
              "type": "string",
              "description": "Person email."
            },
            "phone": {
              "type": "string",
              "description": "Phone number for person matching. PDL expects +[country code] for phone matches."
            },
            "hashed_email": {
              "type": "string",
              "description": "Legacy Deepline alias for email_hash."
            },
            "email_hash": {
              "type": "string",
              "description": "PDL hashed email identifier."
            },
            "lid": {
              "type": "string",
              "description": "PDL LinkedIn ID."
            },
            "organization_name": {
              "type": "string",
              "description": "Company name context."
            },
            "company_name": {
              "type": "string",
              "description": "Alias for organization_name."
            },
            "company": {
              "type": "string",
              "description": "Alias for organization_name."
            },
            "domain": {
              "type": "string",
              "description": "Company domain context."
            },
            "id": {
              "type": "string",
              "description": "Legacy Deepline alias for pdl_id."
            },
            "pdl_id": {
              "type": "string",
              "description": "PDL persistent person ID."
            },
            "linkedin_url": {
              "type": "string",
              "description": "LinkedIn profile URL."
            },
            "profile": {
              "type": "string",
              "description": "Alias for linkedin_url."
            },
            "middle_name": {
              "type": "string"
            },
            "school": {
              "type": "string"
            },
            "location": {
              "type": "string"
            },
            "street_address": {
              "type": "string"
            },
            "locality": {
              "type": "string"
            },
            "region": {
              "type": "string"
            },
            "country": {
              "type": "string"
            },
            "postal_code": {
              "type": "string"
            },
            "birth_date": {
              "type": "string"
            },
            "titlecase": {
              "type": "boolean",
              "description": "Override output text casing for this person."
            },
            "pretty": {
              "type": "boolean",
              "description": "Override pretty-printing for this response."
            },
            "min_likelihood": {
              "type": "integer",
              "description": "Override the minimum likelihood for this person.",
              "minimum": 0,
              "maximum": 10
            },
            "include_if_matched": {
              "type": "boolean",
              "description": "Include matched inputs in this response metadata."
            },
            "required": {
              "type": "string",
              "description": "Required expression for this person match."
            },
            "data_include": {
              "type": "string",
              "description": "Fields to include or exclude for this person. A leading - excludes fields. Only the literal two-character value \"\" suppresses the data payload; a bare empty value is ignored."
            }
          },
          "additionalProperties": false
        }
      },
      "titlecase": {
        "type": "boolean",
        "description": "Default output text casing for every person."
      },
      "pretty": {
        "type": "boolean",
        "description": "Default pretty-printing for bulk responses."
      },
      "min_likelihood": {
        "type": "integer",
        "description": "Default minimum likelihood for person matches.",
        "minimum": 0,
        "maximum": 10
      },
      "include_if_matched": {
        "type": "boolean",
        "description": "Default matched-input response metadata behavior."
      },
      "required": {
        "type": "string",
        "description": "Default required expression for person matches."
      },
      "data_include": {
        "type": "string",
        "description": "Default fields to include or exclude. A leading - excludes fields. Only the literal two-character value \"\" suppresses the data payload; a bare empty value is ignored. Projection does not reduce credits."
      },
      "run_waterfall_email": {
        "type": "boolean",
        "description": "Enable waterfall email enrichment."
      },
      "run_waterfall_phone": {
        "type": "boolean",
        "description": "Enable waterfall phone enrichment."
      },
      "reveal_personal_emails": {
        "type": "boolean",
        "description": "Allow retrieval of personal emails when available."
      },
      "reveal_phone_number": {
        "type": "boolean",
        "description": "Allow retrieval of phone numbers (requires webhook_url)."
      },
      "webhook_url": {
        "type": "string",
        "description": "Webhook URL for asynchronous phone reveal completion callbacks."
      }
    },
    "required": [
      "details"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

People Data Labs bulk people enrichment result.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `array` | Yes | — | Provider response payload. |
| `result.data[].status` | `number` | No | — | — |
| `result.data[].likelihood` | `number` | No | — | — |
| `result.data[].data` | `object \| null` | No | — | PDL person record. |
| `result.data[].data.id` | `string` | No | — | — |
| `result.data[].data.full_name` | `string` | No | — | — |
| `result.data[].data.first_name` | `string` | No | — | — |
| `result.data[].data.last_name` | `string` | No | — | — |
| `result.data[].data.linkedin_url` | `string \| null` | No | — | — |
| `result.data[].data.work_email` | `string \| null` | No | — | — |
| `result.data[].data.emails` | `array` | No | — | — |
| `result.data[].data.personal_emails` | `array` | No | — | — |
| `result.data[].data.recommended_personal_email` | `string \| null` | No | — | — |
| `result.data[].data.mobile_phone` | `string \| null` | No | — | — |
| `result.data[].data.phone_numbers` | `array` | No | — | — |
| `result.data[].data.job_title` | `string \| null` | No | — | — |
| `result.data[].data.job_company_name` | `string \| null` | No | — | — |
| `result.data[].data.location_name` | `string \| null` | No | — | — |
| `result.data[].matched` | `unknown` | No | — | — |
| `result.data[].warnings` | `array` | No | — | — |
| `result.data[].error` | `unknown` | 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 bulk people enrichment result.",
    "properties": {
      "data": {
        "type": [
          "array",
          "null"
        ],
        "description": "Provider response payload.",
        "items": {
          "type": "object",
          "description": "PDL person enrichment response.",
          "properties": {
            "status": {
              "type": "number"
            },
            "likelihood": {
              "type": "number"
            },
            "data": {
              "type": [
                "object",
                "null"
              ],
              "description": "PDL person record.",
              "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
            },
            "matched": {},
            "warnings": {
              "type": "array",
              "items": {}
            },
            "error": {}
          },
          "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.