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

# CrustData V2: Enrich Person

> Enrich one or more people from LinkedIn profile URLs or business emails. Set enrich_realtime to search the web when no record is found.

Enrich one or more people from LinkedIn profile URLs or business emails.

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

## 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(
  'crustdata_v2_enrich_person',
  {
    "fields": "linkedin_profile_url,linkedin_flagship_url,name,location,email,title,last_updated,headline,summary,num_of_connections,skills,profile_picture_url,profile_picture_permalink,twitter_handle,languages,all_employers,past_employers,current_employers,education_background,all_employers_company_id,all_titles,all_schools,all_degrees"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute crustdata_v2_enrich_person --input '{
  "fields": "linkedin_profile_url,linkedin_flagship_url,name,location,email,title,last_updated,headline,summary,num_of_connections,skills,profile_picture_url,profile_picture_permalink,twitter_handle,languages,all_employers,past_employers,current_employers,education_background,all_employers_company_id,all_titles,all_schools,all_degrees"
}' --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": {
    "linkedin_profile_url": "https://example.com/resource",
    "linkedin_flagship_url": "https://example.com/resource",
    "name": "Example"
  }
}
```

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

## Input reference

Enrich data for one or more individuals using LinkedIn profile URLs or business email addresses. You must provide at least one of `linkedin_profile_url` or `business_email`. If `enrich_realtime` is set to true, and no matching record is found in the database, a real-time search will be performed. [Show Docs](https://docs.crustdata.com/docs/discover/people-apis/people-enrichment-api)

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.linkedin_profile_url` | `string` | No | `"https://www.linkedin.com/in/danielahmadizadeh"` | Comma-separated list of LinkedIn profile URLs. |
| `payload.business_email` | `string` | No | — | Business email lookup input for person enrichment. Provide this or linkedin\_profile\_url, not both. This uses the database enrichment rate and is different from requesting business\_email in fields. Format: `email`. |
| `payload.enrich_realtime` | `boolean` | No | — | If set to true, performs a real-time search from the web if data is not found in the database. |
| `payload.fields` | `string` | Yes | `"linkedin_profile_url,linkedin_flagship_url,name,location,email,title,last_updated,headline,summary,num_of_connections,skills,profile_picture_url,profile_picture_permalink,twitter_handle,languages,all_employers,past_employers,current_employers,education_background,all_employers_company_id,all_titles,all_schools,all_degrees"` | Comma-separated list of fields to return. When omitted, the endpoint returns the default profile fields listed under `default` below. Several fields are opt-in and must be requested explicitly. some incur additional credits. **Opt-in fields (request via `fields=`):** - `business_email`: business emails at the current employer. +2 credits per profile. - `personal_contact_info.personal_emails`: personal email addresses. +2 credits per profile. Access-gated. - `personal_contact_info.phone_numbers`: See the live schema for the complete constraint. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Enrich data for one or more individuals using LinkedIn profile URLs or business email addresses. You must provide at least one of `linkedin_profile_url` or `business_email`. If `enrich_realtime` is set to true, and no matching record is found in the database, a real-time search will be performed. [Show Docs](https://docs.crustdata.com/docs/discover/people-apis/people-enrichment-api)",
    "properties": {
      "linkedin_profile_url": {
        "type": "string",
        "description": "Comma-separated list of LinkedIn profile URLs.",
        "default": "https://www.linkedin.com/in/danielahmadizadeh"
      },
      "business_email": {
        "type": "string",
        "description": "Business email lookup input for person enrichment. Provide this or linkedin_profile_url, not both. This uses the database enrichment rate and is different from requesting business_email in fields.",
        "format": "email"
      },
      "enrich_realtime": {
        "type": "boolean",
        "description": "If set to true, performs a real-time search from the web if data is not found in the database."
      },
      "fields": {
        "type": "string",
        "description": "Comma-separated list of fields to return. When omitted, the endpoint returns the default profile fields listed under `default` below. Several fields are opt-in and must be requested explicitly; some incur additional credits. **Opt-in fields (request via `fields=`):** - `business_email`: business emails at the current employer. +2 credits per profile. - `personal_contact_info.personal_emails`: personal email addresses. +2 credits per profile. Access-gated. - `personal_contact_info.phone_numbers`: phone numbers. +2 credits per profile. Access-gated. - `github_profiles`: ranked GitHub profiles. - `linkedin_open_to_cards`: LinkedIn \"Open to work / hiring / pro bono\" cards. - `linkedin_joined_date`: date the LinkedIn profile was created. - `linkedin_verifications`: LinkedIn verification badges. - `certifications`, `honors`: self-reported certifications and honors. - `num_of_followers`: follower count. **Always returned regardless of `fields=`:** `enriched_realtime`, `query_linkedin_profile_urn_or_slug`, `person_id`. If you request only an opt-in field (e.g. `fields=business_email`), the response will contain only that field plus the always-returned ones. To get the default profile fields alongside an opt-in field, list both in the `fields=` value.",
        "default": "linkedin_profile_url,linkedin_flagship_url,name,location,email,title,last_updated,headline,summary,num_of_connections,skills,profile_picture_url,profile_picture_permalink,twitter_handle,languages,all_employers,past_employers,current_employers,education_background,all_employers_company_id,all_titles,all_schools,all_degrees"
      }
    },
    "required": [
      "fields"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | This object contains a detailed professional profile of a person. |
| `result.data.linkedin_profile_url` | `string` | No | — | Format: `uri`. |
| `result.data.linkedin_flagship_url` | `string` | No | — | Format: `uri`. |
| `result.data.name` | `string` | No | — | — |
| `result.data.email` | `string` | No | — | Format: `email`. |
| `result.data.title` | `string` | No | — | — |
| `result.data.last_updated` | `string` | No | — | Format: `date-time`. |
| `result.data.headline` | `string` | No | — | — |
| `result.data.summary` | `string` | No | — | — |
| `result.data.num_of_connections` | `integer` | No | — | — |
| `result.data.skills` | `string` | No | — | — |
| `result.data.profile_picture_url` | `string` | No | — | Format: `uri`. |
| `result.data.profile_picture_permalink` | `string` | No | — | Format: `uri`. |
| `result.data.twitter_handle` | `string` | No | — | — |
| `result.data.languages` | `array` | No | — | — |
| `result.data.all_employers` | `array` | No | — | — |
| `result.data.past_employers` | `array` | No | — | — |
| `result.data.past_employers[].employer_name` | `string` | No | — | — |
| `result.data.past_employers[].employer_linkedin_id` | `string` | No | — | — |
| `result.data.past_employers[].employer_company_id` | `integer \| null` | No | — | — |
| `result.data.past_employers[].employee_title` | `string` | No | — | — |
| `result.data.past_employers[].employee_description` | `string \| null` | No | — | — |
| `result.data.past_employers[].employee_location` | `string \| null` | No | — | — |
| `result.data.past_employers[].start_date` | `string` | No | — | Format: `date-time`. |
| `result.data.past_employers[].end_date` | `string \| null` | No | — | Format: `date-time`. |
| `result.data.past_employers[].employer_company_website_domain` | `array \| null` | No | — | Company domain(s) associated with this employer. |
| `result.data.past_employers[].business_emails` | `object \| null` | No | — | Business emails associated with this employer, keyed by email address. Returned only when `fields=business_email` is requested. Each entry maps to a metadata object with `verification_status` and `last_validated_at`. |
| `result.data.current_employers` | `array` | No | — | — |
| `result.data.current_employers[].employer_name` | `string` | No | — | — |
| `result.data.current_employers[].employer_linkedin_id` | `string` | No | — | — |
| `result.data.current_employers[].employer_company_id` | `integer \| null` | No | — | — |
| `result.data.current_employers[].employee_title` | `string` | No | — | — |
| `result.data.current_employers[].employee_description` | `string \| null` | No | — | — |
| `result.data.current_employers[].employee_location` | `string \| null` | No | — | — |
| `result.data.current_employers[].start_date` | `string` | No | — | Format: `date-time`. |
| `result.data.current_employers[].end_date` | `string \| null` | No | — | Format: `date-time`. |
| `result.data.current_employers[].employer_company_website_domain` | `array \| null` | No | — | Company domain(s) associated with this employer. |
| `result.data.current_employers[].business_emails` | `object \| null` | No | — | Business emails associated with this employer, keyed by email address. Returned only when `fields=business_email` is requested. Each entry maps to a metadata object with `verification_status` and `last_validated_at`. |
| `result.data.all_employers_company_id` | `array` | No | — | — |
| `result.data.all_titles` | `array` | No | — | — |
| `result.data.all_schools` | `array` | No | — | — |
| `result.data.all_degrees` | `array` | No | — | — |
| `result.data.github_profiles` | `array \| null` | No | — | Ranked GitHub profiles. Returned when `fields=github_profiles` is requested and GitHub data is available. |
| `result.data.github_profiles[].github_id` | `integer \| null` | No | — | — |
| `result.data.github_profiles[].login` | `string \| null` | No | — | — |
| `result.data.github_profiles[].type` | `string \| null` | No | — | — |
| `result.data.github_profiles[].name` | `string \| null` | No | — | — |
| `result.data.github_profiles[].email` | `string \| null` | No | — | — |
| `result.data.github_profiles[].location` | `string \| null` | No | — | — |
| `result.data.github_profiles[].company_text` | `string \| null` | No | — | — |

The table shows the first 50 fields. Expand the raw schema below for every field.

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe crustdata_v2_enrich_person --json`.

## Deepline cost

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

## Related documentation

* [CrustData V2 provider guide](https://deepline.com/docs/providers/crustdata-v2/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.