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

# Person Schema

<div className="schema-heading-style toc-max-depth-2" />

# Overview

This page details the Person Data that we provide through our Person APIs, such as [Person Enrichment](/docs/person-enrichment-api) and [Person Search](/docs/person-search-api).

<Info>
  **Field Availability**

  **Not all fields are available in all bundles.**

  Free plans, by default, do not have access to contact fields like emails, phone numbers, and street addresses and will instead appear as true if the value exists or false if it does not. To unlock the values, please upgrade to a Pro plan. Read more here: [Plan types: Free vs Pro](https://support.peopledatalabs.com/hc/en-us/articles/27546010665115-Plan-types-Free-vs-Pro)
</Info>

<Frame>
  <img src="https://mintcdn.com/peopledatalabs/YteP5zgY1fC23mEV/images/docs/97461a90a5ce33f98656a8e35e26c2260064c6949efd7e6898411b6f0d17c0f2-freevpro.png?fit=max&auto=format&n=YteP5zgY1fC23mEV&q=85&s=a0cd78afc2bfe2e841e15ebd7adb7d22" align="center" data-transcend-suppress width="716" height="89" data-path="images/docs/97461a90a5ce33f98656a8e35e26c2260064c6949efd7e6898411b6f0d17c0f2-freevpro.png" />
</Frame>

* For more information about data formatting, see [Data Types](/docs/data-types) and [Data Formatting](/docs/data-formatting)
* For a full example record, see [Example Person Record](/docs/example-record).
* For a simplified overview of our person fields, check out the [Person Data Overview](/docs/person-data-overview).
* For more details about our person fields, including fill rates and which fields are included in the base vs premium [field bundles](/docs/person-data-field-bundles), check out our [Person Stats](/docs/datasets) pages.
* For a full data ingestion JSON schema, check out [this page](/docs/receiving-and-updating-data#data-ingestion-schemas).
* If you'd like access to premium fields or have questions about which fields are included in your specific field bundle(s), please [speak to one of our data consultants](https://peopledatalabs.com/talk-to-sales).

***

## Identifiers

***

### `first_name`

|                 |                          |
| --------------- | ------------------------ |
| **Data Type**   | `String`                 |
| **Description** | The person's first name. |

#### Field Details

The person's first name.

#### Example

```json JSON theme={null}
  "first_name": "sean"
```

***

### `full_name`

|                 |                         |
| --------------- | ----------------------- |
| **Data Type**   | `String`                |
| **Description** | The person's full name. |

#### Field Details

The first and the last name fields appended with a space.

#### Example

```json JSON theme={null}
  "full_name": "sean thorne"
```

***

### `id`

|                 |                                                |
| --------------- | ---------------------------------------------- |
| **Data Type**   | `String`                                       |
| **Description** | A unique persistent identifier for the person. |

#### Field Details

The ID is a unique, persistent, and hashed value that represents a specific person.

As of [v24](/changelog/october-2023-release-notes-v24#person-id-max-length), IDs have a max length of **64 characters**, although in practice we expect IDs to be closer to 32 characters in length.

See [Persistent IDs](/docs/persistent-ids) for more information.

#### Example

```json JSON theme={null}
  "id": "qEnOZ5Oh0poWnQ1luFBfVw_0000"
```

***

### `last_initial`

|                 |                                             |
| --------------- | ------------------------------------------- |
| **Data Type**   | `String (1 character)`                      |
| **Description** | The first letter of the person's last name. |

#### Field Details

The first letter of the person's last name.

#### Example

```json JSON theme={null}
  "last_initial": "t"
```

***

### `last_name`

|                 |                         |
| --------------- | ----------------------- |
| **Data Type**   | `String`                |
| **Description** | The person's last name. |

#### Field Details

The person's last name.

#### Example

```json JSON theme={null}
  "last_name": "thorne"
```

***

### `middle_initial`

|                 |                                               |
| --------------- | --------------------------------------------- |
| **Data Type**   | `String (1 character)`                        |
| **Description** | The first letter of the person's middle name. |

#### Field Details

The first letter of the person's middle name.

#### Example

```json JSON theme={null}
  "middle_initial": "f"
```

***

### `middle_name`

|                 |                           |
| --------------- | ------------------------- |
| **Data Type**   | `String`                  |
| **Description** | The person's middle name. |

#### Field Details

The person's middle name.

#### Example

```json JSON theme={null}
  "middle_name": "fong"
```

***

### `name_aliases`

|                 |                                     |
| --------------- | ----------------------------------- |
| **Data Type**   | `Array [String]`                    |
| **Description** | Any other names the person goes by. |

#### Field Details

Any associated names or aliases besides the primary one used in the [`full_name`](#full_name) field.

<Tip>
  **Sort Order**

  Name aliases are sorted with the primary alias first. The remaining aliases are sorted by `num_sources`, `last_seen`, `first_seen`, `full_name`, all in reverse order (highest first, most recent, Z→A):

  1. Primary name first
  2. `num_sources` (highest first)
  3. `last_seen` (most recent first)
  4. `first_seen` (most recent first)
  5. `full_name` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "name_aliases": [
    "andrew nichol",
    "r andrew nichol",
    "robert nichol"
  ]
```

## Contact Information

***

### `emails`

|                 |                                             |
| --------------- | ------------------------------------------- |
| **Data Type**   | `Array [Object]`                            |
| **Description** | Email addresses associated with the person. |

#### Field Details

<Warning>
  **Note** This array contains historical email addresses and should **not** directly be used for email outreach.  [Recommended Alternatives](/docs/email-data-for-outreach)
</Warning>

Each email associated with the person will be added to this list as its own object.

| Field          | Data Type                                 | Description                                                                                           |
| -------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `address`      | `String`                                  | The fully parsed email address                                                                        |
| `first_seen`   | [`String (Date)`](/docs/data-types#dates) | The date that this entity was first associated with the Person record.                                |
| `last_seen`    | [`String (Date)`](/docs/data-types#dates) | The date that this entity was last associated with the Person record.                                 |
| `num_sources`  | `Integer (> 0)`                           | The number of sources that have contributed to the association of this entity with the Person record. |
| `md5_hash`     | `String`                                  | A 128-bit hash of an email in md5 format.                                                             |
| `sha_256_hash` | `String`                                  | A 256-bit hash of an email in sha256 format.                                                          |
| `type`         | `Enum (String)`                           | The type of email address. Must be one of our [Canonical Email Types](/docs/email-types)              |

<Tip>
  **Sort Order**

  Emails are sorted first by `last_seen`, then by `first_seen`, `email` , all in reverse order (most recent first, Z→A):

  1. `last_seen` (most recent first)
  2. `first_seen` (most recent first)
  3. `email` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "emails": [
    {
      "address": "sean@peopledatalabs.com",
      "type": "current_professional",
      "md5_hash": "89eb6bc60e92f3d6ffbb4e7b4d15cacd",
      "sha_256_hash": "138ea1a7076bb01889af2309de02e8b826c27f022b21ea8cf11aca9285d5a04e",
      "first_seen": "2017-06-02",
      "last_seen": "2019-07-18",
      "num_sources": 17
    },
    {
      "address": "sean@gmail.com",
      "type": "personal",
      "md5_hash": "17725f5327de7695d658f124636cbd23",
      "sha_256_hash": "ae0591a02b4cb0be73fff1ebe061a95b1bfc23350a9a297923edda014c6a88f8",
      "first_seen": "2017-06-02",
      "last_seen": "2019-07-18",
      "num_sources": 17
    }
  ]
```

***

### `mobile_phone`

|                 |                                                                                                                                |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Data Type**   | [`String (Phone)`](/docs/data-formatting#phone-numbers)                                                                        |
| **Description** | The personal mobile phone associated with this individual. Mobile phones can only be associated with 1 person in the PDL data. |

#### Field Details

The `mobile_phone` field is generated from a highly confident source of mobile phones. We've hand-validated a sample of these and seen over 90% accuracy.

#### Example

```json JSON theme={null}
  "mobile_phone": "+15558675309"
```

***

### `personal_emails`

|                 |                                                 |
| --------------- | ----------------------------------------------- |
| **Data Type**   | `Array [String]`                                |
| **Description** | All personal emails associated with the person. |

#### Field Details

The list of all [`emails`](#emails) tagged as `type = personal`.

<Tip>
  **Sort Order**

  Personal emails are sorted with the recommended personal email first. The remaining emails are sorted in the same order as the `emails` array:`last_seen`, then by `first_seen`, `email`, all in reverse order (most recent first, Z→A):

  1. Recommended personal email first
  2. `last_seen` (most recent first)
  3. `first_seen` (most recent first)
  4. `email` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "personal_emails": [
    "sean@gmail.com"
  ]
```

***

### `phone_numbers`

|                 |                                                                 |
| --------------- | --------------------------------------------------------------- |
| **Data Type**   | [`Array [String (Phone)]`](/docs/data-formatting#phone-numbers) |
| **Description** | All phone numbers associated with the person.                   |

#### Field Details

For more detailed metadata on individual phone numbers, see the [`phones`](#phones) field.

<Tip>
  **Sort Order**

  Phone numbers are sorted with any mobile phone numbers first. The rest of the array is sorted by `num_sources`, `last_seen`, `first_seen`, all in reverse order and using the E.164 format (highest first, most recent first):

  1. Mobile phone numbers first
  2. `num_sources` (highest first)
  3. `last_seen` (most recent first)
  4. `first_seen` (most recent first)
</Tip>

#### Example

```json JSON theme={null}
  "phone_numbers": [
    "+15558675309"
  ]
```

***

### `phones`

|                 |                                                                                 |
| --------------- | ------------------------------------------------------------------------------- |
| **Data Type**   | `Array [Object]`                                                                |
| **Description** | The list of phone numbers associated with this record with additional metadata. |

#### Field Details

Each phone number object in this list will contain the following information.

| Field         | Data Type                                               | Description                                                                                      |
| ------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `first_seen`  | [`String (Date)`](/docs/data-types#dates)               | The date that this number was first associated with this record.                                 |
| `last_seen`   | [`String (Date)`](/docs/data-types#dates)               | The date that this number was last associated with this record.                                  |
| `num_sources` | `Integer (> 0)`                                         | The number of sources that have contributed to the association of this profile with this record. |
| `number`      | [`String (Phone)`](/docs/data-formatting#phone-numbers) | The phone number.                                                                                |

<Tip>
  **Sort Order**

  Phones are sorted with any mobile phone numbers first. The rest of the array is sorted by `num_sources`, `last_seen`, `first_seen`, all in reverse order and using the E.164 format (highest first, most recent first):

  1. Mobile phone numbers first
  2. `num_sources` (highest first)
  3. `last_seen` (most recent first)
  4. `first_seen` (most recent first)
</Tip>

#### Example

```json JSON theme={null}
  "phones": [
    {
      "number": "+15558675309",
      "first_seen": "2017-06-02",
      "last_seen": "2019-07-18",
      "num_sources": 17
    }
  ]
```

***

### `recommended_personal_email`

|                 |                                             |
| --------------- | ------------------------------------------- |
| **Data Type**   | `String`                                    |
| **Description** | The best available email to reach a person. |

#### Field Details

This field is generated by analyzing the all of a person's emails in the [`personal_emails`](#personal_emails) list to identify the best available email.

Through testing, we’ve found that using the email identified in `recommended_personal_email` versus selecting a random email address from [`personal_emails`](#personal_emails) resulted in \~37% higher deliverability.

#### Example

```json JSON theme={null}
  "recommended_personal_email": "sean@gmail.com"
```

***

### `work_email`

|                 |                                  |
| --------------- | -------------------------------- |
| **Data Type**   | `String`                         |
| **Description** | The person's current work email. |

#### Field Details

The value for this field must use valid email address formatting. It is common and expected that work email domains may differ from the company's website for a number of reasons:

* The company changed their website domain
* The company has opted for a shorter email domain
* The company has been merged into or was acquired by another company

#### Example

```json JSON theme={null}
  "work_email": "sean@peopledatalabs.com"
```

## Current Company

These fields describe the company the person currently works at. These fields will match the corresponding values in our [Company Schema](/docs/company-schema) and will use the same formatting and parsing logic.

***

### `job_company_12mo_employee_growth_rate`

|                 |                                                                                                                                                                                                                                                                                 |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `Float`                                                                                                                                                                                                                                                                         |
| **Description** | The person’s current company’s percentage increase in total headcount over the past 12 months. Mapped from [`employee_growth_rate.12_month`](/docs/company-schema#employee_growth_rate). Growth rate is calculated as `(current_employee_count / previous_employee_count) - 1`. |

#### Example

```json JSON theme={null}
  "job_company_12mo_employee_growth_rate": -0.1379
```

***

### `job_company_facebook_url`

|                 |                                                                                   |
| --------------- | --------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                          |
| **Description** | The person's current company's [Facebook URL](/docs/company-schema#facebook_url). |

#### Example

```json JSON theme={null}
  "job_company_facebook_url": "facebook.com/peopledatalabs"
```

***

### `job_company_founded`

|                 |                                                                               |
| --------------- | ----------------------------------------------------------------------------- |
| **Data Type**   | `Integer (> 0)`                                                               |
| **Description** | The person's current company's [founding year](/docs/company-schema#founded). |

#### Example

```json JSON theme={null}
  "job_company_founded": 2015
```

***

### `job_company_employee_count`

|                 |                                                                                                                                                     |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `Integer (>= 0)`                                                                                                                                    |
| **Description** | The total number of PDL profiles associated with the person’s current company. Mapped from [`employee_count`](/docs/company-schema#employee_count). |

#### Example

```json JSON theme={null}
  "job_company_employee_count": 125
```

***

### `job_company_id`

|                 |                                                                   |
| --------------- | ----------------------------------------------------------------- |
| **Data Type**   | `String`                                                          |
| **Description** | The person's current company's [PDL ID](/docs/company-schema#id). |

#### Example

```json JSON theme={null}
  "job_company_id": "tnHcNHbCv8MKeLh92946LAkX6PKg"
```

***

### `job_company_industry`

|                 |                                                                           |
| --------------- | ------------------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                                           |
| **Description** | The person's current company's [industry](/docs/company-schema#industry). |

#### Example

```json JSON theme={null}
  "job_company_industry": "computer software"
```

***

### `job_company_industry_v2`

|                 |                                                                                         |
| --------------- | --------------------------------------------------------------------------------------- |
| **Data Type**   | [`Enum (String)`](/docs/company-schema#industries-v2)                                   |
| **Description** | The [v2 industry](/docs/company-schema#industries-v2) for the person’s current company. |

#### Example

```json JSON theme={null}
  "job_company_industry_v2": "internet marketplace platforms"
```

#### Details

Industry v2 is the self-reported industry from an expanded list of [Canonical V2 Industries](/docs/industries-v2). If no industry is found, the field will be `null`

***

### `job_company_inferred_revenue`

|                 |                                                                                                                     |
| --------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                                                                                     |
| **Description** | The [estimated annual revenue range](/docs/company-schema#inferred_revenue) in USD of the person’s current company. |

#### Example

```json JSON theme={null}
  "job_company_inferred_revenue": "$25M-$50M"
```

***

### `job_company_linkedin_id`

|                 |                                                                                 |
| --------------- | ------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                        |
| **Description** | The person's current company's [LinkedIn ID](/docs/company-schema#linkedin_id). |

#### Example

```json JSON theme={null}
  "job_company_linkedin_id": "18170482"
```

***

### `job_company_linkedin_url`

|                 |                                                                                   |
| --------------- | --------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                          |
| **Description** | The person's current company's [LinkedIn URL](/docs/company-schema#linkedin_url). |

#### Example

```json JSON theme={null}
  "job_company_linkedin_url": "linkedin.com/company/peopledatalabs"
```

***

### `job_company_location_address_line_2`

|                 |                                                                                                                     |
| --------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                                            |
| **Description** | The person's current company's headquarters' [street address line 2](/docs/data-formatting#common-location-fields). |

#### Example

```json JSON theme={null}
  "job_company_location_address_line_2": "suite 1670"
```

***

### `job_company_location_continent`

|                 |                                                                                            |
| --------------- | ------------------------------------------------------------------------------------------ |
| **Data Type**   | `Enum (String)`                                                                            |
| **Description** | The person's current company's headquarters' [continent](/docs/data-formatting#locations). |

#### Example

```json JSON theme={null}
  "job_company_location_continent": "north america"
```

***

### `job_company_location_country`

|                 |                                                                                          |
| --------------- | ---------------------------------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                                                          |
| **Description** | The person's current company's headquarters' [country](/docs/data-formatting#locations). |

#### Example

```json JSON theme={null}
  "job_company_location_country": "united states"
```

***

### `job_company_location_geo`

|                 |                                                                                                                     |
| --------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                                            |
| **Description** | The person's current company's headquarters' [city-center geographic coordinates](/docs/data-formatting#locations). |

#### Example

```json JSON theme={null}
  "job_company_location_geo": "37.77,-122.41"
```

***

### `job_company_location_locality`

|                 |                                                                                                                                                                                     |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                                                                                                            |
| **Description** | The person's current company's headquarters' locality, such as a city, town, or other local place name. See [common location fields](/docs/data-formatting#common-location-fields). |

#### Field Details

The person's current company's headquarters' locality, typically the city or local place name for the headquarters address. Examples: `san francisco`, `new york`, `toronto`.

#### Example

```json JSON theme={null}
  "job_company_location_locality": "san francisco"
```

***

### `job_company_location_metro`

|                 |                                                                                             |
| --------------- | ------------------------------------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                                                             |
| **Description** | The person's current company's headquarters' [metro area](/docs/data-formatting#locations). |

#### Example

```json JSON theme={null}
  "job_company_location_metro": "san francisco, california"
```

***

### `job_company_location_name`

|                 |                                                                                                |
| --------------- | ---------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                       |
| **Description** | The person's current company's headquarters' [location name](/docs/data-formatting#locations). |

#### Example

```json JSON theme={null}
  "job_company_location_name": "san francisco, california, united states"
```

***

### `job_company_location_postal_code`

|                 |                                                                                              |
| --------------- | -------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                     |
| **Description** | The person's current company's headquarters' [postal code](/docs/data-formatting#locations). |

#### Example

```json JSON theme={null}
  "job_company_location_postal_code": "94105"
```

***

### `job_company_location_region`

|                 |                                                                                                                                                                                                                    |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Data Type**   | `String`                                                                                                                                                                                                           |
| **Description** | The person's current company's headquarters' administrative region, such as a U.S. state, Canadian province, or other sub-country division. See [Region definition](/docs/data-formatting#common-location-fields). |

#### Example

```json JSON theme={null}
  "job_company_location_region": "california"
```

***

### `job_company_location_street_address`

|                 |                                                                                                 |
| --------------- | ----------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                        |
| **Description** | The person's current company's headquarters' [street address](/docs/data-formatting#locations). |

#### Example

```json JSON theme={null}
  "job_company_location_street_address": "455 market st"
```

***

### `job_company_name`

|                 |                                                                   |
| --------------- | ----------------------------------------------------------------- |
| **Data Type**   | `String`                                                          |
| **Description** | The person's current company's [name](/docs/company-schema#name). |

#### Example

```json JSON theme={null}
  "job_company_name": "people data labs"
```

***

### `job_company_size`

|                 |                                                                   |
| --------------- | ----------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                                   |
| **Description** | The person's current company's [size range](/docs/company-sizes). |

#### Example

```json JSON theme={null}
  "job_company_size": "51-200"
```

***

### `job_company_ticker`

|                 |                                                                       |
| --------------- | --------------------------------------------------------------------- |
| **Data Type**   | `String`                                                              |
| **Description** | The person's current company's [ticker](/docs/company-schema#ticker). |

#### Example

```json JSON theme={null}
  "job_company_ticker": "goog"
```

***

### `job_company_total_funding_raised`

|                 |                                                                                                                                                                         |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `Integer (> 0)`                                                                                                                                                         |
| **Description** | The [cumulative amount of money raised](/docs/company-schema#total_funding_raised) in USD by the person’s current company during all publicly disclosed funding rounds. |

#### Example

```json JSON theme={null}
  "job_company_total_funding_raised": 55250000.0
```

***

### `job_company_twitter_url`

|                 |                                                                                 |
| --------------- | ------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                        |
| **Description** | The person's current company's [Twitter URL](/docs/company-schema#twitter_url). |

#### Example

```json JSON theme={null}
  "job_company_twitter_url": "twitter.com/peopledatalabs"
```

***

### `job_company_type`

|                 |                                                                   |
| --------------- | ----------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                                   |
| **Description** | The person's current company's [type](/docs/company-schema#type). |

#### Example

```json JSON theme={null}
  "job_company_type": "public"
```

***

### `job_company_website`

|                 |                                                                         |
| --------------- | ----------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                |
| **Description** | The person's current company's [website](/docs/company-schema#website). |

#### Example

```json JSON theme={null}
  "job_company_website": "peopledatalabs.com"
```

## Current Job

These fields describe the person's most recent work experience.

***

### `inferred_salary`

|                 |                                                               |
| --------------- | ------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                               |
| **Description** | The inferred salary range (USD) for the person's current job. |

#### Field Details

Must be one of our [Canonical Inferred Salary Ranges](/docs/inferred-salaries).

#### Example

```json JSON theme={null}
  "inferred_salary": "70,000-85,000"
```

***

### `job_last_changed`

|                 |                                                                         |
| --------------- | ----------------------------------------------------------------------- |
| **Data Type**   | [`String (Date)`](/docs/data-types#dates)                               |
| **Description** | The timestamp that reflects when the top-level job information changed. |

#### Field Details

An update is the time when the current employment information is modified in the record.

<Warning>
  **Limitations of Observed Data**

  This field reflects **observed data**. This means that this timestamp will reflect the date when updates were propagated into our data build from our data sources, and may contain some lag time compared to real-life events. For example, if User A changed their job on October 1, 2023, but did not update that publicly until December 1, 2023, our timestamp for job\_last\_changed will be December.
</Warning>

#### Example

```json JSON theme={null}
  "job_last_changed": "2023-12-01"
```

***

### `job_last_verified`

|                 |                                                                                                     |
| --------------- | --------------------------------------------------------------------------------------------------- |
| **Data Type**   | [`String (Date)`](/docs/data-types#dates)                                                           |
| **Description** | The timestamp that reflects when the top level job information was last validated by a data source. |

#### Field Details

An update is the time when the information in a record is validated through a data source. For more information how this timestamp is generated see: [Experience & Location Updates](/docs/last_updated-field)

#### Example

```json JSON theme={null}
  "job_last_verified": "2024-01-05"
```

***

### `job_onet_code`

|                 |                                                                                                        |
| --------------- | ------------------------------------------------------------------------------------------------------ |
| **Data Type**   | `String`                                                                                               |
| **Description** | The 8-digit [O\*NET code](/docs/onet-field-overview#the-onet-code) for the person’s current job title. |

#### Field Details

The 8-digit O\*NET code for the person’s current job title, [following the current Standard Occupational Classification guidelines](https://www.bls.gov/soc/2018/soc_2018_class_and_coding_structure.pdf).

For more details, see the [O\*NET Field Overview](/docs/onet-field-overview#the-onet-code).

#### Example

```json JSON theme={null}
  "job_onet_code": "11-1011.03"
```

***

### `job_onet_major_group`

|                 |                                                                                                                        |
| --------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                                               |
| **Description** | The [O\*NET Major Group](/docs/onet-field-overview#taxonomy-structure) associated with the person’s current job title. |

#### Example

```json JSON theme={null}
  "job_onet_major_group": "Management Occupations"
```

***

### `job_onet_minor_group`

|                 |                                                                                                                        |
| --------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                                               |
| **Description** | The [O\*NET Minor Group](/docs/onet-field-overview#taxonomy-structure) associated with the person’s current job title. |

#### Example

```json JSON theme={null}
  "job_onet_minor_group": "Top Executives"
```

***

### `job_onet_broad_occupation`

|                 |                                                                             |
| --------------- | --------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                    |
| **Description** | The O\*NET Broad Occupation associated with the person’s current job title. |

#### Example

```json JSON theme={null}
  "job_onet_broad_occupation": "Chief Executives"
```

***

### `job_onet_specific_occupation`

|                 |                                                                                                                                |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Data Type**   | `String`                                                                                                                       |
| **Description** | The [O\*NET Specific Occupation](/docs/onet-field-overview#taxonomy-structure) associated with the person’s current job title. |

#### Example

```json JSON theme={null}
  "job_onet_specific_occupation": "Chief Executives"
```

***

### `job_onet_specific_occupation_detail`

|                 |                                                                                                                                      |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| **Data Type**   | `String`                                                                                                                             |
| **Description** | The [O\*NET Specific Occupation Detail](/docs/onet-field-overview#taxonomy-structure) associated with the person's currentjob title. |

#### Field Details

This field represents a more detailed job title for records where the specific occupation within O\*NET's standard hierarchy isn't granular enough to accurately describe the job title.

For example, the highest level of granularity in O\*NET for C-suite positions is Chief Executives. With this field, we can specify the type of executive role.

For more details, see the [O\*NET Field Overview](/docs/onet-field-overview).

#### Example

```json JSON theme={null}
  "job_onet_specific_occupation_detail": "Chief Technology Officer"
```

***

### `job_start_date`

|                 |                                                |
| --------------- | ---------------------------------------------- |
| **Data Type**   | [`String (Date)`](/docs/data-types#dates)      |
| **Description** | The date the person started their current job. |

#### Example

```json JSON theme={null}
  "job_start_date": "2015-03"
```

***

### `job_summary`

|                 |                                             |
| --------------- | ------------------------------------------- |
| **Data Type**   | `String`                                    |
| **Description** | User-inputted summary of their current job. |

#### Field Details

The summary is lowercased, but otherwise kept as-is from the raw source.

#### Example

```json JSON theme={null}
  "job_summary": "worked on the \"search analytics\" team to understand our users better"
```

***

### `job_title`

|                 |                                 |
| --------------- | ------------------------------- |
| **Data Type**   | `String`                        |
| **Description** | The person's current job title. |

#### Field Details

The person's current job title.

#### Example

```json JSON theme={null}
  "job_title": "co-founder and chief executive officer"
```

***

### `job_title_class`

|                 |                                                               |
| --------------- | ------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                               |
| **Description** | The expense line item category this employee would fall into. |

#### Field Details

Each class in the list will be one of our [Canonical Job Title Classes](/docs/job-title-class-post-v271).

#### Example

```json JSON theme={null}
  "job_title_class": "research_and_development"
```

***

### `job_title_levels`

|                 |                                                         |
| --------------- | ------------------------------------------------------- |
| **Data Type**   | `Array [Enum (String)]`                                 |
| **Description** | The derived level(s) of the person's current job title. |

#### Field Details

Each level in the list will be one of our [Canonical Job Title Levels](/docs/job-title-levels).

<p className="mb-3">Job Title Levels Hierarchy from "least important" to "most important":</p>

<div className="flex flex-wrap gap-2">
  <span className="px-4 py-2 bg-gray-100 rounded-lg text-sm text-gray-800 border border-gray-200">Unpaid</span>
  <span className="px-4 py-2 bg-gray-100 rounded-lg text-sm text-gray-800 border border-gray-200">Training</span>
  <span className="px-4 py-2 bg-gray-100 rounded-lg text-sm text-gray-800 border border-gray-200">Entry</span>
  <span className="px-4 py-2 bg-gray-100 rounded-lg text-sm text-gray-800 border border-gray-200">Manager</span>
  <span className="px-4 py-2 bg-gray-100 rounded-lg text-sm text-gray-800 border border-gray-200">>Senior</span>
  <span className="px-4 py-2 bg-gray-100 rounded-lg text-sm text-gray-800 border border-gray-200">Partner</span>
  <span className="px-4 py-2 bg-gray-100 rounded-lg text-sm text-gray-800 border border-gray-200">Director</span>
  <span className="px-4 py-2 bg-gray-100 rounded-lg text-sm text-gray-800 border border-gray-200">VP</span>
  <span className="px-4 py-2 bg-gray-100 rounded-lg text-sm text-gray-800 border border-gray-200">Owner</span>
  <span className="px-4 py-2 bg-gray-100 rounded-lg text-sm text-gray-800 border border-gray-200">CXO</span>
</div>

Note: The `cxo` level is a catch-all for "Chief \_\_ Officer" roles, so a CEO, CIO, CTO, etc. will all have `job_title_levels: ["cxo"]`.

#### Example

```json JSON theme={null}
  "job_title_levels": ["cxo", "owner"]
```

***

### `job_title_role`

|                 |                                                     |
| --------------- | --------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                     |
| **Description** | The derived role of the person's current job title. |

#### Field Details

The value will be one of our [Canonical Job Roles](/docs/job-title-roles).

<Warning>
  **Major Update as of v29.1 (February 29.1)**

  In v29.1 (February 2024) we made significant improvements to our role and sub\_role categorizations and updated many of the canonical values associated with these fields.

  Please see our [February 2025 Release Notes (v29.1)](/changelog/february-2025-release-notes-v291)for further information.
</Warning>

#### Example

```json JSON theme={null}
  "job_title_role": "operations"
```

***

### `job_title_sub_role`

|                 |                                                        |
| --------------- | ------------------------------------------------------ |
| **Data Type**   | `Enum (String)`                                        |
| **Description** | The derived subrole of the person's current job title. |

#### Field Details

The value will be one of our [Canonical Job Sub Roles](/docs/job-title-subroles). Each subrole maps to a role. See [Mapping Job Title Class to Roles to Subroles](/docs/title-subroles-to-roles) for the complete list.

<Warning>
  **Major Update as of v29.1 (February 29.1)**

  In v29.1 (February 2024) we made significant improvements to our role and sub\_role categorizations and updated many of the canonical values associated with these fields.

  Please see our [February 2025 Release Notes (v29.1)](/changelog/february-2025-release-notes-v291)for further information.
</Warning>

#### Example

```json JSON theme={null}
  "job_title_sub_role": "logistics"
```

## Demographics

***

### `birth_date`

|                 |                                           |
| --------------- | ----------------------------------------- |
| **Data Type**   | [`String (Date)`](/docs/data-types#dates) |
| **Description** | The day the person was born.              |

#### Field Details

If this field exists, [`birth_year`](#birth_year) will agree with it.

#### Example

```json JSON theme={null}
  "birth_date": "1990-12-02"
```

***

### `birth_year`

|                 |                               |
| --------------- | ----------------------------- |
| **Data Type**   | `Integer`                     |
| **Description** | The year the person was born. |

#### Field Details

The approximated birth year associated with this person profile. If a profile has a [`birth_date`](#birth_date), the `birth_year` field will match it.

#### Example

```json JSON theme={null}
  "birth_year": 1990
```

***

### `sex`

<a name="gender" />

<Warning>
  **`gender` was renamed to `sex` in v26.0**

  In v26.0 (April 2024) we renamed this field from `gender` to `sex`, in accordance with legislative changes defining aspects of gender as sensitive personal data (which PDL does not process or output).

  Please see our [April 2024 Release Announcement (v26.0)](/changelog/april-2024-release-announcement-v260#rename-gender-breaking) for further information.
</Warning>

|                 |                   |
| --------------- | ----------------- |
| **Data Type**   | `Enum (String)`   |
| **Description** | The person's sex. |

#### Field Details

The value will always be one of our [Canonical Sex](/docs/sex).

#### Example

```json JSON theme={null}
  "sex": "male"
```

***

### `languages`

|                 |                             |
| --------------- | --------------------------- |
| **Data Type**   | `Array [Object]`            |
| **Description** | Languages the person knows. |

#### Field Details

The languages listed are based on user input, we do not verify them.

| Field         | Data Type       | Description                                                                   |
| ------------- | --------------- | ----------------------------------------------------------------------------- |
| `name`        | `Enum (String)` | The language. Must be one of our [Canonical Languages](/docs/language-names). |
| `proficiency` | `Integer (1-5)` | Self-ranked language proficiency from 1 (limited) to 5 (fluent).              |

<Tip>
  **Sort Order**

  Languages are sorted by `proficiency` first, followed by `name`, all in reverse order (highest proficiency first, Z→A):

  1. `proficiency` (highest first)
  2. `name` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "languages": [
    {
      "name": "english",
      "proficiency": 5
    }
  ]
```

## Education

***

### `education`

|                 |                                     |
| --------------- | ----------------------------------- |
| **Data Type**   | `Array [Object]`                    |
| **Description** | The person's education information. |

#### Field Details

The education objects associated with this person profile, which, when output in CSV format, have indexing based on recency and associativity.

Each education object in the list will include the following data:

| Field                        | Data Type                                 | Description                                                                                                            |
| ---------------------------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `degrees`                    | `Array [Enum (String)]`                   | The degrees the person earned at the school. All values will be [Canonical Education Degrees](/docs/education-degrees) |
| `end_date`                   | [`String (Date)`](/docs/data-types#dates) | The date the person left the school. If the person is still at the school, will be `null`.                             |
| `gpa`                        | `Float`                                   | The GPA the person earned at the school.                                                                               |
| `majors`                     | `Array [Enum (String)]`                   | All majors earned at the school. All values will be [Canonical Education Majors](/docs/education-majors).              |
| `minors`                     | `Array [Enum (String)]`                   | All minors earned at the school. All values will be [Canonical Education Majors](/docs/education-majors).              |
| `raw`                        | `Array [String]`                          | Raw education data that was parsed into the `degrees`, `majors`, and `minors` fields.                                  |
| [`school`](#educationschool) | `Object`                                  | The school the person attended.                                                                                        |
| `start_date`                 | [`String (Date)`](/docs/data-types#dates) | The date the person started at the school.                                                                             |
| `summary`                    | `String`                                  | User-inputted summary of their education.                                                                              |

<Tip>
  **Sort Order**

  Education entries are sorted first by `start_date`, then by `end_date`. If dates are identical, then sorting occurs by `school.name`, followed by `majors`, `minors` and `degrees`, all in reverse order (most recent first, Z→A):

  1. `start_date`(most recent first)
  2. `end_date` (most recent first)
  3. `school.name` (Z→A)
  4. countries`majors` (Z→A)
  5. `minors` (Z→A)
  6. `degrees` (Z→A)
</Tip>

***

##### `education.school` <a id="educationschool" />

To tap into our school matching logic, use our [School Cleaner API](/docs/cleaner-apis) to retrieve possible school values.

| Field          | Sub Field   | Data Type        | Description                                                                                                                             |
| -------------- | ----------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `domain`       |             | `String`         | The primary website domain associated with the school.                                                                                  |
| `facebook_url` |             | `String`         | The school's Facebook URL                                                                                                               |
| `id`           |             | `String`         | The **NON-PERSISTENT** ID for the school in our records.                                                                                |
| `linkedin_id`  |             | `String`         | The school's LinkedIn ID                                                                                                                |
| `linkedin_url` |             | `String`         | The school's LinkedIn URL                                                                                                               |
| `location`     |             | `Object`         | The location of the school. See [Common Location Fields](/docs/data-formatting#common-location-fields) for detailed field descriptions. |
|                | `continent` | `Enum (String)`  |                                                                                                                                         |
|                | `country`   | `Enum (String)`  |                                                                                                                                         |
|                | `locality`  | `String`         |                                                                                                                                         |
|                | `name`      | `String`         |                                                                                                                                         |
|                | `region`    | `String`         |                                                                                                                                         |
| `name`         |             | `String`         | The name of the school.                                                                                                                 |
| `raw`          |             | `Array [String]` | Raw school name.                                                                                                                        |
| `twitter_url`  |             | `String`         | The school's Twitter URL                                                                                                                |
| `type`         |             | `Enum (String)`  | The school type. Will be one of our [Canonical School Types](/docs/education-school-types).                                             |
| `website`      |             | `String`         | The website URL associated with the school, which could include subdomains.                                                             |

#### Example

```json JSON expandable theme={null}
  "education": [
    {
      "school": {
        "name": "university of oregon",
        "type": "post-secondary institution",
        "id": "64LkgfdwWYkCC2TjbldMDQ_0",
        "location": {
          "name": "eugene, oregon, united states",
          "locality": "eugene",
          "region": "oregon",
          "country": "united states",
          "continent": "north america"
        },
        "linkedin_url": "linkedin.com/school/university-of-oregon",
        "linkedin_id": "19207",
        "facebook_url": "facebook.com/universityoforegon",
        "twitter_url": "twitter.com/uoregon",
        "website": "uoregon.edu",
        "domain": "uoregon.edu",
        "raw": [
          "university of oregon"
        ]
      },
      "end_date": "2014",
      "start_date": "2010",
      "gpa": null,
      "degrees": [],
      "majors": [
        "entrepreneurship"
      ],
      "minors": [],
      "raw": [
        "data analytics & entrepreneurship",
        ", entrepreneurship",
        "entrepreneurship"
      ],
      "summary": "when i was at oregon i volunteered at a local homeless shelter 3 days a week"
    },
  ]
```

## Location

For more information on our standard location fields, see [Common Location Fields](/docs/data-formatting#common-location-fields).

***

### `countries`

|                 |                                                                                      |
| --------------- | ------------------------------------------------------------------------------------ |
| **Data Type**   | `Array [Enum (String)]`                                                              |
| **Description** | All [countries](/docs/data-types#common-location-fields) associated with the person. |

<Tip>
  **Sort Order**

  Countries are sorted using location sort order, with any duplicate countries removed.

  **Location Sort Order**

  Locations are sorted by primary location first. The remaining locations are sorted by `first_seen`, `last_seen`, `location_name`, `street_address`, then `address_line_2` in descending order (most recent first, Z→A):

  1. Primary location first
  2. Sort by `first_seen` (most recent first)
  3. Sort by `last_seen` (most recent first)
  4. Sort by `location_name` (Z→A)
  5. Sort by `street_address` (Z→A)
  6. Sort by `address_line_2` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "countries": [
    "united states"
  ]
```

***

### `location_address_line_2`

|                 |                                                                                        |
| --------------- | -------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                               |
| **Description** | The person's current [street address line 2](/docs/data-types#common-location-fields). |

#### Example

```json JSON theme={null}
  "location_address_line_2": "apartment 12"
```

***

### `location_continent`

|                 |                                                                                                                                                         |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                                                                                                                         |
| **Description** | The [continent](/docs/data-types#common-location-fields) of the person's current address. One of our [Canonical Continents](/docs/location-continents). |

#### Example

```json JSON theme={null}
  "location_continent": "north america"
```

***

### `location_country`

|                 |                                                                                                                                                     |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                                                                                                                     |
| **Description** | The [country](/docs/data-types#common-location-fields) of the person's current address. One of our [Canonical Countries](/docs/location-countries). |

#### Example

```json JSON theme={null}
  "location_country": "united states"
```

***

### `location_geo`

|                 |                                                                                                             |
| --------------- | ----------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                                    |
| **Description** | The [geo code](/docs/data-types#common-location-fields) of the city center of the person's current address. |

#### Example

```json JSON theme={null}
  "location_geo": "37.87,-122.27"
```

***

### `location_last_updated`

|                 |                                                                                                  |
| --------------- | ------------------------------------------------------------------------------------------------ |
| **Data Type**   | [`String (Date)`](/docs/data-types#dates)                                                        |
| **Description** | The timestamp that a new data source contributed to the record for the person's current address. |

#### Field Details

An update is the time when either new information is added to the record or existing information is validated.

#### Example

```json JSON theme={null}
  "location_last_updated": "2018-11-05"
```

***

### `location_locality`

|                 |                                                                                                                                                         |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                                                                                |
| **Description** | The [locality](/docs/data-types#common-location-fields) of the person's current address, usually a city, town, neighborhood, or other local place name. |

#### Field Details

The locality for the person's current address, typically the city or local place name component of the address. Examples: `berkeley`, `boston`, `cambridge`.

#### Example

```json JSON theme={null}
  "location_locality": "berkeley"
```

***

### `location_metro`

|                 |                                                                                                                                             |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                                                                                                             |
| **Description** | The [metro](/docs/data-types#common-location-fields) of the person's current address. One of our [Canonical Metros](/docs/location-metros). |

#### Example

```json JSON theme={null}
  "location_metro": "san francisco, california"
```

***

### `location_name`

|                 |                                                                                          |
| --------------- | ---------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                 |
| **Description** | The [location](/docs/data-types#common-location-fields) of the person's current address. |

#### Example

```json JSON theme={null}
  "location_name": "berkeley, california, united states"
```

***

### `location_names`

|                 |                                                                                           |
| --------------- | ----------------------------------------------------------------------------------------- |
| **Data Type**   | `Array [String]`                                                                          |
| **Description** | All [location names](/docs/data-types#common-location-fields) associated with the person. |

<Tip>
  **Sort Order**

  Location names are sorted by location order with duplicate names removed

  **Location Sort Order**

  Locations are sorted by primary location first. The remaining locations are sorted by `first_seen`, `last_seen`, `location_name`, `street_address`, then `address_line_2` in descending order (most recent first, Z→A):

  1. Primary location first
  2. Sort by `first_seen` (most recent first)
  3. Sort by `last_seen` (most recent first)
  4. Sort by `location_name` (Z→A)
  5. Sort by `street_address` (Z→A)
  6. Sort by `address_line_2` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "location_names": [
    "berkeley, california, united states",
    "san francisco, california, united states"
  ]
```

***

### `location_postal_code`

|                 |                                                                                             |
| --------------- | ------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                    |
| **Description** | The [postal code](/docs/data-types#common-location-fields) of the person's current address. |

#### Example

```json JSON theme={null}
  "location_postal_code": "94704"
```

***

### `location_region`

|                 |                                                                                                                                                                                                           |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                                                                                                                                  |
| **Description** | The administrative region of the person's current address, such as a U.S. state, Canadian province, or other sub-country division. See [Region definition](/docs/data-formatting#common-location-fields). |

#### Example

```json JSON theme={null}
  "location_region": "california"
```

***

### `location_street_address`

|                 |                                                                                 |
| --------------- | ------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                        |
| **Description** | The person's current [street address](/docs/data-types#common-location-fields). |

#### Example

```json JSON theme={null}
  "location_street_address": "455 fake st"
```

***

### `regions`

|                 |                                                                                    |
| --------------- | ---------------------------------------------------------------------------------- |
| **Data Type**   | `Array [String]`                                                                   |
| **Description** | All [regions](/docs/data-types#common-location-fields) associated with the person. |

<Tip>
  **Sort Order**

  Regions are sorted by location order, with any duplicate regions removed.

  **Location Sort Order**

  Locations are sorted by primary location first. The remaining locations are sorted by `first_seen`, `last_seen`, `location_name`, `street_address`, then `address_line_2` in descending order (most recent first, Z→A):

  1. Primary location first
  2. Sort by `first_seen` (most recent first)
  3. Sort by `last_seen` (most recent first)
  4. Sort by `location_name` (Z→A)
  5. Sort by `street_address` (Z→A)
  6. Sort by `address_line_2` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "regions": [
    "california, united states"
  ]
```

***

### `street_addresses`

|                 |                                                                                             |
| --------------- | ------------------------------------------------------------------------------------------- |
| **Data Type**   | `Array [Object]`                                                                            |
| **Description** | All [street addresses](/docs/data-types#common-location-fields) associated with the person. |

#### Field Details

Each address associated with the person will be added to this list as its own object.

In addition to the [Common Location Fields](/docs/data-types#common-location-fields), `street_addresses` will also include:

| Field         | Data Type                                 | Description                                                                                           |
| ------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `first_seen`  | [`String (Date)`](/docs/data-types#dates) | The date that this entity was first associated with the Person record.                                |
| `last_seen`   | [`String (Date)`](/docs/data-types#dates) | The date that this entity was last associated with the Person record.                                 |
| `num_sources` | `Integer (> 0)`                           | The number of sources that have contributed to the association of this entity with the Person record. |

<Tip>
  **Sort Order**

  Street addresses are sorted by location order.

  **Location Sort Order**

  Locations are sorted by primary location first. The remaining locations are sorted by `first_seen`, `last_seen`, `location_name`, `street_address`, then `address_line_2` in descending order (most recent first, Z→A):

  1. Primary location first
  2. Sort by `first_seen` (most recent first)
  3. Sort by `last_seen` (most recent first)
  4. Sort by `location_name` (Z→A)
  5. Sort by `street_address` (Z→A)
  6. Sort by `address_line_2` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "street_addresses": [
    {
      "name": "berkeley, california, united states",
      "locality": "berkeley",
      "metro": "san francisco, california",
      "region": "california",
      "country": "united states",
      "continent": "north america",
      "street_address": "455 fake st",
      "address_line_2": "apartment 12",
      "postal_code": "94704",
      "geo": "37.87,-122.27",
      "first_seen": "2017-06-02",
      "last_seen": "2019-07-18",
      "num_sources": 17
    }
  ]
```

## Lower Confidence Data

PDL values high confidence data that is very likely to be associated with a person. The data in these fields have lower confidence than the data used in other fields.

***

### `possible_birth_dates`

|                 |                                                                              |
| --------------- | ---------------------------------------------------------------------------- |
| **Data Type**   | [`Array [String (Date)]`](/docs/data-types#dates)                            |
| **Description** | Birthdays associated with this person that have a lower level of confidence. |

#### Field Details

The dates in this field use the same format as the [`birth_date`](#birth_date) field.

<Tip>
  **Sort Order**

  Possible birth dates are sorted by `num_sources`, `last_seen`, `first_seen`, `birth_date`, all in reverse order (highest first, most recent first):

  1. `num_sources` (highest first)
  2. `last_seen` (most recent first)
  3. `first_seen` (most recent first)
  4. `birth_date` (most recent first)
</Tip>

#### Example

```json JSON theme={null}
  "possible_birth_dates": [
    "1991-05-26",
    "1992-05-26"
  ]
```

***

### `possible_emails`

|                 |                                                                                    |
| --------------- | ---------------------------------------------------------------------------------- |
| **Data Type**   | `Array [Object]`                                                                   |
| **Description** | Email addresses associated with this person that have a lower level of confidence. |

#### Field Details

This field uses the same format as the [`emails`](#emails) field.

<Tip>
  **Sort Order**

  Possible emails are sorted by `last_seen`, `first_seen`, `email`, all in reverse order (most recent first, Z→A):

  1. `last_seen` (most recent first)
  2. `first_seen` (most recent first)
  3. `email` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "possible_emails": [
    {
      "address": "sean@peopledatalabs.com",
      "type": null,
      "first_seen": "2021-06-13",
      "last_seen": "2024-09-28",
      "num_sources": 2
    }
  ]
```

***

### `possible_location_names`

|                 |                                                                              |
| --------------- | ---------------------------------------------------------------------------- |
| **Data Type**   | `Array [String]`                                                             |
| **Description** | Locations associated with this person that have a lower level of confidence. |

#### Field Details

This field uses the same format as the [`location_names`](#location_names) field.

Possible locations are inferred based on phone area codes, university location, and other associations.

<Tip>
  **Sort Order**

  Possible locations are sorted by `first_seen`, `last_seen`, `location.name`, all in reverse order (most recent first, Z→A):

  1. `first_seen` (most recent first)
  2. `last_seen` (most recent first)
  3. `location.name` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "possible_location_names": [
    "berkeley, california, united states",
    "san francisco, california, united states"
  ]
```

***

### `possible_phones`

|                 |                                                                                  |
| --------------- | -------------------------------------------------------------------------------- |
| **Data Type**   | `Array [Object]`                                                                 |
| **Description** | Phone numbers associated with this person that have a lower level of confidence. |

#### Field Details

This field uses the same format as the [`phones`](#phones) field.

<Tip>
  **Sort Order**

  Possible phones are sorted by `num_sources`, `last_seen`, `first_seen`, all in reverse order and using the E.164 format (highest first, most recent first):

  1. `num_sources` (highest first)
  2. `last_seen` (most recent first)
  3. `first_seen`(most recent first)
</Tip>

#### Example

```json JSON theme={null}
  "possible_phones": [
    {
      "number": "+15558675309",
      "first_seen": "2021-06-13",
      "last_seen": "2024-09-28",
      "num_sources": 2
    }
  ]
```

***

### `possible_profiles`

|                 |                                                                                    |
| --------------- | ---------------------------------------------------------------------------------- |
| **Data Type**   | `Array [Object]`                                                                   |
| **Description** | Social profiles associated with this person that have a lower level of confidence. |

#### Field Details

This field uses the same format as the [`profiles`](#profiles) field.

<Tip>
  **Sort Order**

  Possible profiles are sorted first by return status codes (200 > unknown > 404). The array is then sorted by number of profiles globally, `last_seen`, `first_seen`, `username`, `id`, all in reverse order (highest first, most recent first, Z→A):

  1. Status Codes:
     * Profiles with 200 return status codes are first
     * Profiles with unknown return status codes come next
     * Profiles with 404 return status codes are placed last
  2. Number of profiles globally (highest first)
  3. `last_seen` (most recent first)
  4. `first_seen` (most recent first)
  5. `username` (Z→A)
  6. `id` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "possible_profiles": [
    {
      "network": "linkedin",
      "id": "145991517",
      "url": "linkedin.com/in/seanthorne",
      "username": "seanthorne",
      "first_seen": "2021-06-13",
      "last_seen": "2024-09-28",
      "num_sources": 2
    }
  ]
```

***

### `possible_street_addresses`

|                 |                                                                              |
| --------------- | ---------------------------------------------------------------------------- |
| **Data Type**   | `Array [Object]`                                                             |
| **Description** | Addresses associated with this person that have a lower level of confidence. |

#### Field Details

This field uses the same format as the [`street_addresses`](#street_addresses) field.

<Tip>
  **Sort Order**

  Possible street addresses are sorted by `first_seen`, `last_seen`, `location.name`, `location.street_address`, `location.address_line_2`, all in reverse order (most recent first, Z→A):

  1. `first_seen` (most recent first)
  2. `last_seen` (most recent first)
  3. `location.name` (Z→A)
  4. `location.street_address` (Z→A)
  5. `location.address_line_2` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "possible_street_addresses": [
    {
      "name": "berkeley, california, united states",
      "locality": "berkeley",
      "metro": "san francisco, california",
      "region": "california",
      "country": "united states",
      "continent": "north america",
      "street_address": "455 fake st",
      "address_line_2": "apartment 12",
      "postal_code": "94704",
      "geo": "37.87,-122.27",
      "first_seen": "2021-06-13",
      "last_seen": "2024-09-28",
      "num_sources": 2
    }
  ]
```

## Social Presence

We currently cover person social profiles on our [Canonical Profile Networks](/docs/profile-networks). All profiles we've found for a person will be added to the [`profiles`](#profiles) list.

Each social profile URL has one or more standard formats that we parse and turn into a standard PDL format for that social URL. We invalidate profiles that have non-valid person stubs (for example, `linkedin.com/company`), and we also have a blacklist of usernames that we know are invalid.

We do not validate if a URL is valid (that is, whether you can access it) because doing this at scale is considered a Direct Denial of Service (DDoS) attack and/or a form of crawling. This is highly discouraged! We try to mitigate invalid URLs as much as possible by using Entity Resolution (Merging) to link URLs together and then tagging the primary URL at the top level for key networks.

***

### `facebook_friends`

|                 |                                                |
| --------------- | ---------------------------------------------- |
| **Data Type**   | `Integer (>= 0)`                               |
| **Description** | The number of Facebook friends the person has. |

#### Example

```json JSON theme={null}
  "facebook_friends": 3912
```

***

### `facebook_id`

|                 |                                                             |
| --------------- | ----------------------------------------------------------- |
| **Data Type**   | `String`                                                    |
| **Description** | The person's Facebook profile ID based on source agreement. |

#### Example

```json JSON theme={null}
  "facebook_id": "1089351304"
```

***

### `facebook_url`

|                 |                                                              |
| --------------- | ------------------------------------------------------------ |
| **Data Type**   | `String`                                                     |
| **Description** | The person's Facebook profile URL based on source agreement. |

#### Example

```json JSON theme={null}
  "facebook_url": "facebook.com/deseanthorne"
```

***

### `facebook_username`

|                 |                                                                   |
| --------------- | ----------------------------------------------------------------- |
| **Data Type**   | `String`                                                          |
| **Description** | The person's Facebook profile username based on source agreement. |

#### Example

```json JSON theme={null}
  "facebook_username": "deseanthorne"
```

***

### `github_url`

|                 |                                                            |
| --------------- | ---------------------------------------------------------- |
| **Data Type**   | `String`                                                   |
| **Description** | The person's GitHub profile URL based on source agreement. |

#### Example

```json JSON theme={null}
  "github_url": "github.com/deseanathan_thornolotheu"
```

***

### `github_username`

|                 |                                                                 |
| --------------- | --------------------------------------------------------------- |
| **Data Type**   | `String`                                                        |
| **Description** | The person's GitHub profile username based on source agreement. |

#### Example

```json JSON theme={null}
  "github_username": "deseanathan_thornolotheu"
```

***

### `linkedin_connections`

|                 |                                                    |
| --------------- | -------------------------------------------------- |
| **Data Type**   | `Integer (>= 0)`                                   |
| **Description** | The number of LinkedIn connections the person has. |

#### Field Details

Typically between 0-500.

#### Example

```json JSON theme={null}
  "linkedin_connections": 432
```

***

### `linkedin_id`

|                 |                                                                                                   |
| --------------- | ------------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                          |
| **Description** | The person's LinkedIn profile ID. This is null when no values in the "profiles" array are active. |

#### Example

```json JSON theme={null}
  "linkedin_id": "145991517"
```

***

### `linkedin_url`

|                 |                                                                                                            |
| --------------- | ---------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                                   |
| **Description** | The person's current LinkedIn profile URL. This is null when no values in the "profiles" array are active. |

#### Example

```json JSON theme={null}
  "linkedin_url": "linkedin.com/in/seanthorne"
```

***

### `linkedin_username`

|                 |                                                                                                         |
| --------------- | ------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                                                |
| **Description** | The person's LinkedIn profile username. This is null when no values in the "profiles" array are active. |

#### Example

```json JSON theme={null}
  "linkedin_username": "seanthorne"
```

***

### `profiles`

|                 |                                             |
| --------------- | ------------------------------------------- |
| **Data Type**   | `Array [Object]`                            |
| **Description** | Social profiles associated with the person. |

#### Field Details

Each profile associated with the person will be added to this list as its own object.

| Field         | Data Type                                 | Description                                                                                                    |
| ------------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `id`          | `String`                                  | The profile ID (format varies based on social network).                                                        |
| `first_seen`  | [`String (Date)`](/docs/data-types#dates) | The date that this entity was first associated with the Person record.                                         |
| `last_seen`   | [`String (Date)`](/docs/data-types#dates) | The date that this entity was last associated with the Person record.                                          |
| `network`     | `Enum (String)`                           | The social network the profile is on. Must be one of our [Canonical Profile Networks](/docs/profile-networks). |
| `num_sources` | `Integer (> 0)`                           | The number of sources that have contributed to the association of this entity with the Person record.          |
| `url`         | `String`                                  | The profile URL.                                                                                               |
| `username`    | `String`                                  | The profile username.                                                                                          |

<Tip>
  **Sort Order**

  Profiles are sorted with the primary profiles listed first (facebook, linkedin, twitter, and github, in that order). The rest of the array is then sorted by status codes (200 > unknown > 404), number of profiles globally, `last_seen`, `first_seen`, `username`, `id`, all in reverse order (highest first, most recent first, Z→A):

  1. Primary profiles first
     1. Facebook
     2. LinkedIn
     3. Twitter
     4. Github
  2. Status Codes:
     * Profiles with 200 return status codes are first
     * Profiles with unknown return status codes come next
     * Profiles with 404 return status codes are placed last
  3. Number of profiles globally (highest first)
  4. `last_seen` (most recent first)
  5. `first_seen` (most recent first)
  6. `username` (Z→A)
  7. `id` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "profiles": [
    {
      "network": "linkedin",
      "id": "145991517",
      "url": "linkedin.com/in/seanthorne",
      "username": "seanthorne",
      "first_seen": "2017-06-02",
      "last_seen": "2019-07-18",
      "num_sources": 17
    }
  ]
```

***

### `twitter_url`

|                 |                                                             |
| --------------- | ----------------------------------------------------------- |
| **Data Type**   | `String`                                                    |
| **Description** | The person's Twitter profile URL based on source agreement. |

#### Example

```json JSON theme={null}
  "twitter_url": "twitter.com/seanthorne5"
```

***

### `twitter_username`

|                 |                                                                  |
| --------------- | ---------------------------------------------------------------- |
| **Data Type**   | `String`                                                         |
| **Description** | The person's Twitter profile username based on source agreement. |

#### Example

```json JSON theme={null}
  "twitter_username": "seanthorne5"
```

## PDLScores™

PDLScores™ are generated scoring fields that help evaluate and prioritize Person profiles. For GA availability, bundle information, example responses, and common workflows, see [PDLScores™ for Person Data](/docs/pdlscores-for-person-data).

<Warning>
  **Resume Slice Only**

  PDLScores™ and their associated score factors are only available on records in the [Resume Slice](/docs/resume-stats) of the Person dataset. Profiles outside the Resume Slice return `null` for these fields.
</Warning>

***

### `profile_score`

|                 |                                                                                       |
| --------------- | ------------------------------------------------------------------------------------- |
| **Data Type**   | `String`                                                                              |
| **Description** | A PDL-generated signal indicating how likely a profile is to represent a real person. |

<Warning>
  This field is only available on records in the [Resume Slice](/docs/resume-stats). Profiles outside the Resume Slice return `null`.
</Warning>

For GA availability, bundle information, and example responses, see [PDLScores™ for Person Data](/docs/pdlscores-for-person-data).

#### Field Details

The `profile_score` helps identify profiles that appear to represent real people. PDL evaluates signals such as profile completeness, profile age, LinkedIn URL validity, and connection count.

This field returns one of the following values:

| Value              | Meaning                                                                                  |
| :----------------- | :--------------------------------------------------------------------------------------- |
| `positive signals` | PDL has strong indicators that the profile represents a real person                      |
| `neutral signals`  | PDL has mixed or inconclusive indicators                                                 |
| `negative signals` | PDL has indicators that the profile may be low-quality, fake, or otherwise less reliable |
| `null`             | PDL does not have enough data to evaluate the profile                                    |

#### Example

```json JSON theme={null}
  "profile_score": "positive signals"
```

***

### `profile_score_factors`

|                 |                                                      |
| --------------- | ---------------------------------------------------- |
| **Data Type**   | `Object`                                             |
| **Description** | Supporting factors used to generate `profile_score`. |

<Warning>
  These score factors are only available on records in the [Resume Slice](/docs/resume-stats). Profiles outside the Resume Slice return `null`.
</Warning>

For GA availability, bundle information, and example responses, see [PDLScores™ for Person Data](/docs/pdlscores-for-person-data).

#### Field Details

The `profile_score_factors` object provides additional context for customers who want to build custom filtering, ranking, or review logic around `profile_score`.

These factors are available through the premium PDL Score Factors bundle. PDL does not expose the raw score used to assign the final `profile_score` bucket.

| Field                        | Data Type | Description                                                                                        |
| ---------------------------- | --------- | -------------------------------------------------------------------------------------------------- |
| `attribute_fill_rate`        | `Float`   | The share of selected resume attributes present on the profile                                     |
| `profile_age_months`         | `Integer` | The age of the profile in months, based on PDL's first observation of the trusted LinkedIn profile |
| `has_valid_url`              | `Float`   | A signal indicating whether the profile has a valid LinkedIn URL                                   |
| `meets_connection_threshold` | `Integer` | A signal indicating whether the profile meets PDL's LinkedIn connection threshold                  |

#### Example

```json JSON theme={null}
  "profile_score_factors": {
    "attribute_fill_rate": 0.625,
    "profile_age_months": 110,
    "has_valid_url": 1,
    "meets_connection_threshold": 1
  }
```

***

### `profile_score_factors.attribute_fill_rate`

|                 |                                                                 |
| --------------- | --------------------------------------------------------------- |
| **Data Type**   | `Float`                                                         |
| **Description** | The share of selected resume attributes present on the profile. |

#### Field Details

This factor measures how filled out the profile is across selected resume attributes, such as education, experience, headline, summary, skills, interests, certifications, and custom LinkedIn slug.

Higher values indicate that more selected attributes are present on the profile.

#### Example

```json JSON theme={null}
  "attribute_fill_rate": 0.625
```

***

### `profile_score_factors.profile_age_months`

|                 |                                                                                                     |
| --------------- | --------------------------------------------------------------------------------------------------- |
| **Data Type**   | `Integer`                                                                                           |
| **Description** | The age of the profile in months, based on PDL's first observation of the trusted LinkedIn profile. |

#### Field Details

This factor measures the number of months since PDL first observed the profile. Older profiles generally provide a stronger historical signal that the profile represents a legitimate professional identity.

#### Example

```json JSON theme={null}
  "profile_age_months": 110
```

***

### `profile_score_factors.has_valid_url`

|                 |                                                                   |
| --------------- | ----------------------------------------------------------------- |
| **Data Type**   | `Float`                                                           |
| **Description** | A signal indicating whether the profile has a valid LinkedIn URL. |

#### Field Details

This factor evaluates the LinkedIn URL associated with the profile.

| Value | Meaning                                  |
| :---- | :--------------------------------------- |
| `1`   | PDL has detected a valid LinkedIn URL    |
| `0.5` | LinkedIn URL validity is unknown         |
| `0`   | PDL has detected an invalid LinkedIn URL |

#### Example

```json JSON theme={null}
  "has_valid_url": 1
```

***

### `profile_score_factors.meets_connection_threshold`

|                 |                                                                                    |
| --------------- | ---------------------------------------------------------------------------------- |
| **Data Type**   | `Integer`                                                                          |
| **Description** | A signal indicating whether the profile meets PDL's LinkedIn connection threshold. |

#### Field Details

This factor evaluates whether the profile meets PDL's LinkedIn connection threshold.

| Value | Meaning                                    |
| :---- | :----------------------------------------- |
| `1`   | The profile meets the connection threshold |
| `0`   | The profile does not meet the threshold    |

#### Example

```json JSON theme={null}
  "meets_connection_threshold": 1
```

***

### `activity_score`

|                 |                                                                                      |
| --------------- | ------------------------------------------------------------------------------------ |
| **Data Type**   | `String`                                                                             |
| **Description** | A PDL-generated signal indicating how likely a profile is to be actively maintained. |

<Warning>
  This field is only available on records in the [Resume Slice](/docs/resume-stats). Profiles outside the Resume Slice return `null`.
</Warning>

For GA availability, bundle information, and example responses, see [PDLScores™ for Person Data](/docs/pdlscores-for-person-data).

#### Field Details

The `activity_score` helps identify profiles that appear to be actively maintained. PDL evaluates signals such as recent resume activity, connection count changes, and user-edited profile changes.

This field returns one of the following values:

| Value              | Meaning                                                           |
| :----------------- | :---------------------------------------------------------------- |
| `positive signals` | PDL has strong indicators that the profile is actively maintained |
| `neutral signals`  | PDL has mixed or inconclusive activity indicators                 |
| `negative signals` | PDL has indicators that the profile may be inactive or abandoned  |
| `null`             | PDL does not have enough data to evaluate activity                |

#### Example

```json JSON theme={null}
  "activity_score": "neutral signals"
```

***

### `activity_score_factors`

|                 |                                                       |
| --------------- | ----------------------------------------------------- |
| **Data Type**   | `Object`                                              |
| **Description** | Supporting factors used to generate `activity_score`. |

<Warning>
  These score factors are only available on records in the [Resume Slice](/docs/resume-stats). Profiles outside the Resume Slice return `null`.
</Warning>

For GA availability, bundle information, and example responses, see [PDLScores™ for Person Data](/docs/pdlscores-for-person-data).

#### Field Details

The `activity_score_factors` object provides additional context for customers who want to build custom activity, routing, prioritization, or suppression logic around `activity_score`.

These factors are available through the premium PDL Score Factors bundle. PDL does not expose the raw score used to assign the final `activity_score` bucket.

| Field                          | Data Type | Description                                                                                                        |
| ------------------------------ | --------- | ------------------------------------------------------------------------------------------------------------------ |
| `connection_change`            | `Float`   | A signal indicating whether PDL has observed changes in the profile's LinkedIn connection count                    |
| `profile_change`               | `Integer` | A signal indicating whether PDL has observed user-edited profile changes recently                                  |
| `months_since_last_end_resume` | `Integer` | The number of months since the profile's latest resume end date, when no active experience or education is present |

#### Example

```json JSON theme={null}
  "activity_score_factors": {
    "connection_change": 0.5,
    "profile_change": 1,
    "months_since_last_end_resume": 0
  }
```

***

### `activity_score_factors.connection_change`

|                 |                                                                                                  |
| --------------- | ------------------------------------------------------------------------------------------------ |
| **Data Type**   | `Float`                                                                                          |
| **Description** | A signal indicating whether PDL has observed changes in the profile's LinkedIn connection count. |

#### Field Details

This factor evaluates whether PDL has observed a change in the profile's LinkedIn connection count across recent releases.

| Value | Meaning                                                                                     |
| :---- | :------------------------------------------------------------------------------------------ |
| `1`   | PDL has observed a connection count change in the last 2 years                              |
| `0.5` | PDL has observed a connection count change in the last 5 years, but not in the last 2 years |
| `0`   | PDL has not observed a connection count change                                              |

#### Example

```json JSON theme={null}
  "connection_change": 0.5
```

***

### `activity_score_factors.profile_change`

|                 |                                                                                    |
| --------------- | ---------------------------------------------------------------------------------- |
| **Data Type**   | `Integer`                                                                          |
| **Description** | A signal indicating whether PDL has observed user-edited profile changes recently. |

#### Field Details

This factor evaluates whether PDL has observed an update to user-edited profile fields such as headline, summary, experience, education, location, certifications, skills, or interests.

| Value | Meaning                                              |
| :---- | :--------------------------------------------------- |
| `1`   | PDL has observed a recent user-edited profile change |
| `0`   | PDL has not observed a recent user-edited change     |

#### Example

```json JSON theme={null}
  "profile_change": 1
```

***

### `activity_score_factors.months_since_last_end_resume`

|                 |                                                                                                                     |
| --------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Data Type**   | `Integer`                                                                                                           |
| **Description** | The number of months since the profile's latest resume end date, when no active experience or education is present. |

#### Field Details

This factor evaluates resume recency by looking at experience and education activity.

If the profile has an active job or active education, this field is `null`. Otherwise, it reflects the number of months since the latest end date on the profile's resume data.

Lower values generally indicate more recent resume activity.

#### Example

```json JSON theme={null}
  "months_since_last_end_resume": 0
```

## Work History

***

### `certifications`

|                 |                                    |
| --------------- | ---------------------------------- |
| **Data Type**   | `Array [Object]`                   |
| **Description** | Any certifications the person has. |

#### Field Details

The certifications listed are based on user input, we do not verify them.

| Field          | Data Type                                 | Description                                  |
| -------------- | ----------------------------------------- | -------------------------------------------- |
| `end_date`     | [`String (Date)`](/docs/data-types#dates) | The expiration date of the certification.    |
| `name`         | `String`                                  | Certification name                           |
| `organization` | `String`                                  | The organization awarding the certification. |
| `start_date`   | [`String (Date)`](/docs/data-types#dates) | The date the certification was awarded.      |

<Tip>
  **Sort Order**

  Certifications are sorted first by `start_date`, then by `end_date` and finally by `name`, all in reverse order (most recent first, Z→A):

  1. `start_date` (most recent first)
  2. `end_date` (most recent first)
  3. `name` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "certifications": [
    {
      "name": "machine learning certification",
      "organization": "coursera",
      "start_date": "2022-03",
      "end_date": "2023-04"
    }
  ]
```

***

### `experience`

|                 |                               |
| --------------- | ----------------------------- |
| **Data Type**   | `Array [Object]`              |
| **Description** | The person's work experience. |

#### Field Details

The experience object that is tagged as `experience.is_primary = True` is copied over to the flattened `job_` fields (see [Current Job](#current-job) and [Current Company](#current-company)).

Each work experience object contains the following fields:

| Field                           | Data Type                                 | Description                                                                                                             |
| ------------------------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| [`company`](#experiencecompany) | `Object`                                  | The company where the person worked.                                                                                    |
| `end_date`                      | [`String (Date)`](/docs/data-types#dates) | The date the person left the company. If the person is still working for the company, will be `null`.                   |
| `first_seen`                    | [`String (Date)`](/docs/data-types#dates) | The date that this entity was first associated with the Person record.                                                  |
| `last_seen`                     | [`String (Date)`](/docs/data-types#dates) | The date that this entity was last associated with the Person record.                                                   |
| `is_primary`                    | `Boolean`                                 | Whether this is the person's current job or not. If `true`, this experience will be used to populate the `job_` fields. |
| `location_names`                | `Array [String]`                          | Locations where the person has worked while with this company                                                           |
| `num_sources`                   | `Integer (> 0)`                           | The number of sources that have contributed to the association of this entity with the Person record.                   |
| `start_date`                    | [`String (Date)`](/docs/data-types#dates) | The date the person started at the company.                                                                             |
| `summary`                       | `String`                                  | User-inputted summary of their work experience.                                                                         |
| [`title`](#experiencetitle)     | `Object`                                  | The person's job title while at the company.                                                                            |

<Tip>
  **Sort Order**

  Experience entries are sorted with the primary experience first. The remaining entries are then sorted by `start_date`, `end_date`, `company.name`, and `title.name`, all in reverse order (most recent first, Z→A):

  1. Primary Experience (`is_primary = True` )
  2. `start_date` (most recent first)
  3. `end_date` (most recent first)
  4. `company.name` (Z→A)
  5. `title.name` (Z→A)
</Tip>

***

##### `experience.company` <a id="experiencecompany" />

The fields in `experience.company` map to the corresponding fields in our [Company Schema](/docs/company-schema). The same parsing and formatting logic apply.

| Field          | Sub Field        | Data Type        | Description                                                                                                                                                                                           |
| -------------- | ---------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `facebook_url` |                  | `String`         | The company's [Facebook URL](/docs/company-schema#facebook_url)                                                                                                                                       |
| `founded`      |                  | `Integer (> 0)`  | The [founding year](/docs/company-schema#founded) of the company.                                                                                                                                     |
| `id`           |                  | `String`         | The company's [PDL ID](/docs/company-schema#id)                                                                                                                                                       |
| `industry`     |                  | `Enum (String)`  | The self-identified [industry](/docs/company-schema#industry) of the company. Must be one of the [Canonical Industries](/docs/industries).                                                            |
| `industry_v2`  |                  | `Enum (String)`  | The v2 industry for the company. Industry v2 is the self-reported industry from an expanded list of [Canonical v2 Industries](/docs/industries-v2). If no industry is found, the field will be `null` |
| `linkedin_id`  |                  | `String`         | The company's [LinkedIn ID](/docs/company-schema#linkedin_id)                                                                                                                                         |
| `linkedin_url` |                  | `String`         | The company's [LinkedIn URL](/docs/company-schema#linkedin_url)                                                                                                                                       |
| `location`     |                  | `Object`         | The location of the company's headquarters. See [Common Location Fields](/docs/data-types#common-location-fields) for detailed field descriptions.                                                    |
|                | `address_line_2` | `String`         |                                                                                                                                                                                                       |
|                | `continent`      | `Enum (String)`  |                                                                                                                                                                                                       |
|                | `country`        | `Enum (String)`  |                                                                                                                                                                                                       |
|                | `geo`            | `String`         |                                                                                                                                                                                                       |
|                | `locality`       | `String`         |                                                                                                                                                                                                       |
|                | `metro`          | `Enum (String)`  |                                                                                                                                                                                                       |
|                | `name`           | `String`         |                                                                                                                                                                                                       |
|                | `postal_code`    | `String`         |                                                                                                                                                                                                       |
|                | `region`         | `String`         |                                                                                                                                                                                                       |
|                | `street_address` | `String`         |                                                                                                                                                                                                       |
| `name`         |                  | `String`         | The [company name](/docs/company-schema#name), cleaned and standardized.                                                                                                                              |
| `raw`          |                  | `Array [String]` | Raw company name.                                                                                                                                                                                     |
| `size`         |                  | `Enum (String)`  | The self-reported [company size range](/docs/company-schema#size). Must be one of our [Canonical Company Sizes](/docs/company-sizes).                                                                 |
| `ticker`       |                  | `String`         | The [company ticker](/docs/company-schema#type). This field will only have a value if the company's `type` is `public`.                                                                               |
| `twitter_url`  |                  | `String`         | The company's [Twitter URL](/docs/company-schema#twitter_url)                                                                                                                                         |
| `type`         |                  | `Enum (String)`  | The [company type](/docs/company-schema#type). Must be one of our [Canonical Company Types](/docs/company-types).                                                                                     |
| `website`      |                  | `String`         | The company's [primary website](/docs/company-schema#website), cleaned and standardized.                                                                                                              |

***

##### `experience.title` <a id="experiencetitle" />

See the corresponding [Current Job](#current-job) fields for more details on the information included and formatting of these fields.

| Field      | Data Type               | Description                                                           |
| ---------- | ----------------------- | --------------------------------------------------------------------- |
| `levels`   | `Array [Enum (String)]` | [Canonical Job Title Levels](/docs/job-title-levels).                 |
| `name`     | `String`                | The cleaned job title.                                                |
| `raw`      | `Array [String]`        | Raw job title input.                                                  |
| `role`     | `Enum (String)`         | One of the [Canonical Job Roles](/docs/job-title-roles).              |
| `sub_role` | `Enum (String)`         | One of the [Canonical Job Sub Roles](/docs/job-title-subroles).       |
| `class`    | `Enum (String)`         | One of the [Canonical Job Classes](/docs/job-title-class-post-v271) . |

<Tip>
  **Sort Order (`experience.title.levels`)**

  Title levels are sorted from most important to least important based on the following ranking:

  1. `cxo` (first)
  2. `owner`
  3. `vp`
  4. `director`
  5. `partner`
  6. `senior`
  7. `manager`
  8. `entry`
  9. `training`
  10. `unpaid` (last)
</Tip>

#### Example

```json JSON expandable theme={null}
  "experience": [
    {
      "company": {
        "name": "people data labs",
        "size": "11-50",
        "id": "peopledatalabs",
        "founded": 2015,
        "industry": "computer software",
        "location": {
          "name": "san francisco, california, united states",
          "locality": "san francisco",
          "region": "california",
          "metro": "san francisco, california",
          "country": "united states",
          "continent": "north america",
          "street_address": "455 market street",
          "address_line_2": "suite 1670",
          "postal_code": "94105",
          "geo": "37.77,-122.41"
        },
        "linkedin_url": "linkedin.com/company/peopledatalabs",
        "linkedin_id": "18170482",
        "facebook_url": "facebook.com/peopledatalabs",
        "twitter_url": "twitter.com/peopledatalabs",
        "website": "peopledatalabs.com",
        "ticker": null,
        "type": "private",
        "raw": [
          "people data labs"
        ],
      },
      "location_names": ["san francisco, california, united states"],
      "end_date": null,
      "start_date": "2015-03",
      "title": {
        "name": "chief executive officer and co-founder",
        "raw": [
          "co-founder &amp; ceo",
          "co-founder & ceo",
          "co-founder and chief executive officer"
        ],
        "role": "operations",
        "sub_role": "executive",
        "class": "general_and_administrative"
        "levels": [
          "cxo",
          "owner"
        ],
      },
      "is_primary": true,
      "summary": "worked on the \"search analytics\" team to understand our users better",
      "first_seen": "2018-10-11",
      "last_seen": "2022-11-15",
      "num_sources": 17
    },
  ]
```

***

### `headline`

|                 |                                                      |
| --------------- | ---------------------------------------------------- |
| **Data Type**   | `String`                                             |
| **Description** | The brief headline associated with a person profile. |

#### Field Details

The self-written headline tied to the person profile (often a LinkedIn headline).

The summary is lowercased, but otherwise kept as-is from the raw source.

#### Example

```json JSON theme={null}
  "headline": "senior data engineer at people data labs"
```

***

### `industry`

|                 |                                                                         |
| --------------- | ----------------------------------------------------------------------- |
| **Data Type**   | `Enum (String)`                                                         |
| **Description** | The most relevant industry for this person based on their work history. |

#### Field Details

A person's industry is determined based on their tagged personal industries and the industries of the companies that they have worked for.

The value will be one of our [Canonical Industries](/docs/industries).

#### Example

```json JSON theme={null}
  "industry": "computer software"
```

***

### `inferred_years_experience`

|                 |                                                       |
| --------------- | ----------------------------------------------------- |
| **Data Type**   | `Integer (0 - 100)`                                   |
| **Description** | The person's inferred years of total work experience. |

#### Field Details

The value will be between 0 and 100.

#### Example

```json JSON theme={null}
  "inferred_years_experience": 7
```

***

### `interests`

|                 |                                       |
| --------------- | ------------------------------------- |
| **Data Type**   | `Array [String]`                      |
| **Description** | The person's self-reported interests. |

#### Field Details

Each interest is cleaned (lowercased, stripped of whitespace, etc.). We don't have a canonical list of interests but we remove profanity and do some basic cleaning.

<Tip>
  **Sort Order**

  Interests are sorted alphabetically (from A→Z)
</Tip>

#### Example

```json JSON theme={null}
  "interests": [
    "data",
    "software"
  ]
```

***

### `job_history`

|                 |                                                                                     |
| --------------- | ----------------------------------------------------------------------------------- |
| **Data Type**   | `Array [Object]`                                                                    |
| **Description** | Additional professional positions that may have been removed or changed on resumes. |

#### Field Details

Any additional job history information PDL has that is not included in the [`experience`](#experience) field.

Usually these are positions that have been removed or changed on resumes.

| Field          | Data Type                                 | Description                                                                                      |
| -------------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `company_id`   | `String`                                  | [PDL Company ID](/docs/company-schema#id)                                                        |
| `company_name` | `String`                                  | [Company Name](/docs/company-schema#name)                                                        |
| `first_seen`   | [`String (Date)`](/docs/data-types#dates) | The date that this experience was first associated with this record.                             |
| `last_seen`    | [`String (Date)`](/docs/data-types#dates) | The date that this experience was last associated with this record.                              |
| `num_sources`  | `Integer (> 0)`                           | The number of sources that have contributed to the association of this profile with this record. |
| `title`        | `String`                                  | [Job Title](#job_title) at this company.                                                         |

<Tip>
  **Sort Order**

  Job history entries are sorted by `start_date`, `end_date`, `company.name`, and `title.name`, all in reverse order (most recent first, Z→A):

  1. `start_date` (most recent first)
  2. `end_date` (most recent first)
  3. `company.name` (Z→A)
  4. `title.name` (Z→A)
</Tip>

#### Example

```json JSON theme={null}
  "job_history": [
    {
      "company_id": "OMdETRug8CpuRDWGkhQ35wx8CvVk",
      "company_name": "auntie annes",
      "title": "food service supervisor",
      "first_seen": "2016-05-17",
      "last_seen": "2020-05-30",
      "num_sources": 12
    }
  ]
```

***

### `skills`

|                 |                                    |
| --------------- | ---------------------------------- |
| **Data Type**   | `Array [String]`                   |
| **Description** | The person's self-reported skills. |

#### Field Details

Each skill is cleaned (lowercased, stripped of whitespace, etc.). We do not always strip punctuation because it can be relevant for some skills (ex: `"c++"` vs `"c"`).

We do not do any canonicalization, so `"java"` and `"java 8.0"` are considered separate skills. For this reason, we encourage our customers to use fuzzy text matching with the `skills` field.

<Tip>
  **Sort Order**

  Skills are sorted alphabetically (from A→Z)
</Tip>

#### Example

```json JSON theme={null}
  "skills": [
    "entrepreneurship"
  ]
```

***

### `summary`

|                 |                                 |
| --------------- | ------------------------------- |
| **Data Type**   | `String`                        |
| **Description** | User-inputted personal summary. |

#### Field Details

The self-written summary tied to the person profile (often a LinkedIn summary).

The summary is lowercased, but otherwise kept as-is from the raw source.

#### Example

```json JSON theme={null}
  "summary": "growth-hacker and digital nomad"
```

***

# PDL Record Information & Metadata

***

### `dataset_version`

|                 |                                    |
| --------------- | ---------------------------------- |
| **Data Type**   | `String`                           |
| **Description** | The major or minor release number. |

#### Field Details

This field currently exists in [Person Enrichment API](/docs/person-enrichment-api) responses.

Note: This number corresponds to the [data release number](/changelog), not the API release number.

#### Example

```json JSON theme={null}
  "dataset_version": "19.2"
```

***

### `first_seen`

|                 |                                                          |
| --------------- | -------------------------------------------------------- |
| **Data Type**   | [`String (Date)`](/docs/data-types#dates)                |
| **Description** | The date when this record was first created in our data. |

#### Example

```json JSON theme={null}
  "first_seen": "2017-06-02"
```

***

### `num_records`

|                 |                                                                             |
| --------------- | --------------------------------------------------------------------------- |
| **Data Type**   | `Integer (> 0)`                                                             |
| **Description** | The number of unique raw records contributing to this specific PDL profile. |

#### Example

```json JSON theme={null}
  "num_records": 420
```

***

### `num_sources`

|                 |                                                                         |
| --------------- | ----------------------------------------------------------------------- |
| **Data Type**   | `Integer (> 0)`                                                         |
| **Description** | The number of unique sources contributing to this specific PDL profile. |

#### Example

```json JSON theme={null}
  "num_sources": 72
```

### operation\_id

|                 |                                                                                      |
| --------------- | ------------------------------------------------------------------------------------ |
| **Data Type**   | `String`                                                                             |
| **Description** | An identifier for an operation in a Data License delivery, used for troubleshooting. |

#### Field Details

This field exists only in [Data License](/docs/data-license) deliveries, and allows PDL employees to identify the timestamp and operations performed on the internal data in order to return a record in a delivery.

#### Example

```json JSON theme={null}
  "operation_id": "acee3bde2e1a2cb7e75c57b80d5b7bc2d5de5b02e7ea51f91304c28df77251dc"
```
