# April 2021 Release Notes
Source: https://docs.peopledatalabs.com/changelog/april-2021-release-notes
| Release Name | Dataset Version | Publish Date |
| :----------- | :-------------- | :----------- |
| April 2021 | `v14.0` | 04/01/2021 |
*Released on 4/1/2021*
| Header Field | Description | Example |
| :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------- | :---------------------- |
| `x-ratelimit-reset` | The UTC timestamp at which the rate limit will reset | `2022-02-23T20:19:55Z,` |
| `x-ratelimit-remaining` | A collection of fields describing the number of credits remaining over a subsequent time period based on the rate limit | |
| `x-ratelimit-remaining.minute` | The number of credits available to be used in the next minute | 1200 |
| `x-ratelimit-remaining.day` | The number of credits available to be used in the next day | 12000 |
| `x-ratelimit-remaining.month` | The number of credits available to be used in the next month | 120000 |
| `x-ratelimit-limit` | A collection of fields describing the maximum number of credits that can be used in a given time period | |
| `x-ratelimit-limit.minute` | The maximum number of credits that can be used in a minute | 1201 |
| `x-ratelimit-limit.day` | The maximum number of credits that can be used in a day | 12001 |
| `x-ratelimit-limit.month` | The maximum number of credits that can be used in a month | 120001 |
| `x-lifetime-used` | The total number of credits that have been used over an account’s lifetime | `984152` |
| `x-totallimit-remaining` | The total number of credits available to consume (purchased + overages) | `1342` |
| `x-totallimit-spent` | Number of credits billed for this call. | `1` |
| `x-totallimit-purchased-remaining` | The number of purchased credits remaining | `342` |
| `x-totallimit-overages-remaining` | The number of overage credits remaining | `1000` |
Please reach out to your Customer Success Team if you have any questions or concerns about migrating to the new headers.
### Schema Changes
In this release, PDL is officially introducing support for 2 industry-standard codes:
1. O\*NET Occupational Codes
2. NAICS / SIC Industry Classification Codes
Support for these standards has been heavily requested, and we are very excited to begin the rollout of these fields! The schema additions are below, and check out the [Field Updates](#heading=h.6h1qhstzfkrf) section below for more details as well as information on how to access these new data fields.
#### O\*NET Occupation Codes ([Person Schema](/docs/fields#premium-resume-fields))
| Field Name | Field Type | Field Description | Example |
| :----------------------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------- |
| `job_onet_code` | `String` | The 6-digit O\*NET code for a person’s current job title, [following the 2018 SOC guidelines](https://www.bls.gov/soc/2018/soc_2018_class_and_coding_structure.pdf). | ”11-1011.00” |
| `job_onet_major_group` | `String` | The O\*NET Major Group associated with a person’s current job title. | ”Management Occupations” |
| `job_onet_minor_group` | `String` | The O\*NET Minor Group associated with a person’s current job title. | “Top Executives” |
| `job_onet_broad_occupation` | `String` | The O\*NET Broad Occupation category associated with a person’s current job title. | “Chief Executives” |
| `job_onet_specific_occupation` | `String` | The O\*NET Detailed Occupation category associated with a person’s current job title. | “Chief Executives” |
| `job_onet_title` | `String` | An O\*NET Alternative Title associated with a person’s current job title. | “Chief Technology Officer” |
#### NAICS / SIC Industry Classification Codes ([Company Schema](/docs/company-fields#base-company-fields))
| Field Name | Field Type | Field Description | Example |
| :------------------------ | :--------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------- |
| `naics` | `Object` | An object containing the [NAICS](https://en.wikipedia.org/wiki/North_American_Industry_Classification_System) industry information associated with a company | |
| `naics.naics_code` | `String` | The NAICS code associated with a company’s industry classification | “111110” |
| `naics.sector` | `String` | The NAICS sector associated with a company’s industry classification | “agriculture, forestry, fishing and hunting” |
| `naics.sub_sector` | `String` | The NAICS subsector associated with a company’s industry classification | “crop production” |
| `naics.industry_group` | `String` | The NAICS industry group associated with a company’s industry classification | “oilseed and grain farming” |
| `naics.naics_industry` | `String` | The NAICS industry associated with a company’s industry classification | “soybean farming” |
| `naics.national_industry` | `String` | The NAICS national industry associated with a company’s industry classification | “soybean farming” |
| `sic` | `Object` | An object containing the [SIC](https://en.wikipedia.org/wiki/Standard_Industrial_Classification) industry information associated with a company | |
| `sic.sic_code` | `String` | The SIC industry code associated with a company’s industry classification | “5731” |
| `sic.major_group` | `String` | The SIC major group associated with a company’s industry classification | “agricultural production - crops” |
| `sic.industry_group` | `String` | The SIC industry group associated with a company’s industry classification | “cash grains” |
| `sic.industry_sector` | `String` | The SIC industry sector associated with a company’s industry classification | “soybeans” |
***
## ✨ New Products and Features
### Field Updates
The v18 (April 2022) quarterly release, we are officially introducing support for 2 heavily requested industry-standard codes to our data:
1. **O\*NET Occupation Codes** (supporting the [O\*NET v26.0](https://www.onetcenter.org/listings/26.0/updated.html) standard) have been added to our [Person Schema](/docs/fields#premium-resume-fields) as a new premium field bundle.
2. **NAICS/SIC Industry Classification Codes** have been added to our [Company Schema](/docs/company-fields#base-company-fields) as Base Company Fields.
#### O\*NET Job Title Codes
Six new O*NET-related fields have been added to our Person Schema to support the industry standard for job role tagging. In this initial rollout, we have tagged a subset of the primary job objects across our resume records (meaning no O*NET coverage for historical job titles just yet). In the coming data releases, we will be launching improvements to this field to build increasing coverage across every O\*NET code.
The O\*NET additions broaden the set of title classifications we have for our employment data (expanding on our current `job_role` and `job_sub_role` fields) and to better support customers building on top of census data.
The O\*NET fields are available as a **premium field bundle** that can be added to any person data package to provide additional information on the existing primary job title. [See the updated schema here](/docs/fields#premium-resume-fields).
To learn more about our new O\*NET fields or to request access please reach out to your Customer Success team.
#### NAICS/SICS
To support more granular industry classification for companies in our Company Data, we have introduced [NAICS](https://en.wikipedia.org/wiki/North_American_Industry_Classification_System) and [SIC](https://en.wikipedia.org/wiki/Standard_Industrial_Classification) code. These fields will provide additional segmentation power and value to the PDL company data. Additionally, fields have been added to our [Base Company Fields](/docs/company-fields#base-company-fields), meaning that they are freely available by default to any customer. The Company Search API can also be leveraged to access NAICS and SIC codes, so users can filter and target companies in their search queries. [You can view the schema for these fields here](/docs/company-fields#base-company-fields).
We encourage all our users to assess these new fields and share any feedback regarding quality and usefulness, you may have with your client team. This is just the beginning and we will continue to iterate and improve on these fields moving forward.
### Person Retrieve API Credit Usage Updates
The [Person Retrieve API](/docs/person-retrieve-api) has been updated such that credits will now only be consumed when the API returns a record that has an update since the last time you called it. As a refresher, the Person Retrieve API is billed against your existing pool of person enrichment credits and allows you to pull down a record using a PDL ID as input.\
With this update, the Person Retrieve API can now be leveraged to refresh a record using the persistent PDL ID since the last time a user retrieved it via any API endpoint. PDL is currently updating \~100 million records with each monthly API rebuild, so this is a great way for customers to keep specific batches of profiles as fresh as possible.
### JavaScript SDK
This past quarter, we released our first developer SDK! The [peopledatalabs-js](/docs/javascript-sdk) package is a streamlined PDL client to support our API users working with JavaScript. This library supports all of our current API endpoints and allows you to make API requests with just a single function call. We also wrote it using plain vanilla JS, meaning you can use this client for both code that runs in the browser as well as backend server code.
This package can be downloaded and installed from the [npm package repository](https://www.npmjs.com/package/peopledatalabs) or directly cloned from its [public github repository](https://github.com/peopledatalabs/peopledatalabs-js). We made this library open source and we encourage anyone to submit issues, feature requests and pull requests. In the future, more SDKs will be released so please share any feedback you have with us!
### Integrations
This past quarter, we officially launched 2 new integrations as well:
1. Snowflake
2. Make (formerly Integromat)
#### Snowflake Integration
PDL is now live in the [Snowflake Data Marketplace](https://www.snowflake.com/data-marketplace/)! Customers can request to subscribe to our Person Dataset and openly access our free company dataset via Snowflake. This integration allows us to deliver data directly to Data License customers, and requires minimal additional setup for customers already using Snowflake for other purposes.
If you are interested in our snowflake integration, you can request access by [searching for PDL in the Snowflake Data Marketplace](/docs/data-delivery-using-snowflake) or by speaking to your Customer Success team. We hope to build more integrations like these in the future, so please share any feedback you have with us as you test it out!
#### Make Integration
A [new integration with Make (formerly Integromat)](https://www.make.com/en/integrations/people-data-labs) is now live! Make is a workflow automation tool that allows you to connect various apps together and seamlessly pass data between them. It is a no-code solution that allows you to build complex logic and pipelines for coordinating your apps and services together.
Person and Company data can now be added directly into your automated workflows. [Sign up for access to our integration here](https://www.make.com/en/hq/app-invitation/851324c93c88059147b7111e3a513018), and as always, please share any feedback you have with us!
### Upcoming Subscription Plan Updates
In the next few weeks, we will be rolling out several updates to our subscription plans for self-serve customers. As a preview, these changes will include:
* Standardized pricing tiers across our products
* An updated freemium tier with a renewing monthly allotment of free credits
* The option to purchase annual subscriptions
* Streamlined processes for upgrading and downgrading subscriptions
We are excited about these improvements for our self-serve customers, so stay tuned for an official announcement via email soon!
***
## 🚀 Data Updates
### Freshness
This quarter, we updated millions of jobs and locations in our [Global Resume Dataset](/docs/resume-stats). See below for details:
| Dataset | Geography | Field | Records Updated |
| :------ | :------------ | :----------- | --------------- |
| Resume | Global | `experience` | 228,256,002 |
| Resume | Global | `location` | 209,846,161 |
| Resume | United States | `experience` | 76,269,414 |
| Resume | United States | `location` | 84,521,983 |
### Coverage
[Resume Dataset](/docs/resume-stats)
| Linkage | Coverage in v17 | Coverage in v18 | Increase (%) |
| :-------------------- | --------------- | --------------- | ------------ |
| `total_records` | 684,434,661 | 700,613,882 | 2.36% |
| `birth_year` | 8,478,127 | 10,254,962 | 20.96% |
| `job_company_ticker` | 18,109,504 | 20,325,049 | 12.23% |
| `street_addresses` | 25,582,324 | 28,318,775 | 10.70% |
| `job_company_website` | 202,077,270 | 221,853,296 | 9.79% |
[API Dataset](/docs/stats)
| Linkage | Coverage in v17 | Coverage in v18 | Increase (%) |
| :------------------- | --------------- | --------------- | ------------ |
| `total_records` | 3,026,851,628 | 3,110,029,187 | 2.75% |
| `personal_emails` | 586,232,294 | 661,722,011 | 12.88% |
| `street_addresses` | 679,766,613 | 763,341,777 | 12.29% |
| `job_company_ticker` | 20,278,340 | 22,696,445 | 11.92% |
[Email Dataset](/docs/email-stats)
| Linkage | Coverage in v17 | Coverage in v18 | Increase (%) |
| :----------------- | --------------- | --------------- | ------------ |
| `total_records` | 687,784,131 | 774,399,256 | 12.59% |
| `street_addresses` | 248,611,221 | 348,804,217 | 40.30% |
| `personal_emails` | 479,704,633 | 565,117,411 | 17.81% |
| `mobile_phone` | 28,569,823 | 33,367,435 | 16.79% |
| `birth_date` | 66,094,400 | 76,527,251 | 15.78% |
| `gender` | 534,231,011 | 606,542,899 | 13.54% |
| `full_name` | 687,784,131 | 774,399,256 | 12.59% |
### Commentary
* Strong improvements to linkages in our Email slice, in particular:
* Email \<> `street_addresses` linkages increased by 40.3%
* Email \<> `mobile_phone` linkages increased by 16.8%
* Email \<> `full_name` linkages increased by 12.6%
* 11.9% increase in `job_company_tickers` across our entire dataset
* Significant bump in `street_address` coverage across the board including a 17.1% increase in `street_address` \<> `job_title` linkages and 9.1% increase in `street_address` \<> `linkedin_url` linkages
* The Person Dataset saw a 7.1% increase in coverage for `birth_year`
***
## 🛠 Improvements and Bug Fixes
### Improvements
* Support for POST requests was added to our [Person](/docs/search-api#using-post-requests) and [Company](/docs/company-search-api#using-post-requests) Search APIs, allowing users to send large queries within their API requests. See examples requests here: [person search example](/docs/search-api#using-post-requests), [company search example](/docs/company-search-api#using-post-requests)
* The limit for the number of ‘terms’ in input queries increased from 100 elements to 1,000 for all Person and Company Search APIs.
* `job_title` matching was added to the Identify API, and is now supported as an input parameter.
* The criteria for cleaning emails was relaxed in our dataset for increased coverage of temporary email domains to support fraud use cases.
* The error response codes for the Bulk Enrichment API were improved for individual errors within a bulk enrichment request. The API will now always return a status code 200, with 400 errors nested appropriately within the response object
### Bug Fixes
* Within the Company Search API, a bug that was preventing insights fields from being searchable
* The Bulk Enrichment API no longer drops invalid input parameters and instead returns 400 status codes nested within the response object.
* The Identify API will return an error code 400 when there are no inputs provided.
* Error 400 codes are returned in the School and Company cleaners when invalid input parameters are sent.
# April 2023 Release Notes
Source: https://docs.peopledatalabs.com/changelog/april-2023-release-notes-v22
| Release Name | Dataset Version | Publish Date |
| :----------- | :-------------- | :----------- |
| April 2023 | `v22.0` | 04/04/2023 |
*v22.0 was released on 4/4/2023.*
Welcome to our April 2023 release notes! We’re rolling out some exciting updates with this release.
Here are some of the key highlights:
* Keep your data up to 3x fresher with PDL’s new monthly data license delivery service!
* Automatically keep records up-to-date with our Person Retrieve Webhook, now available for API and Data License customers!
* We’re making it easier than ever to contact leads with our `recommended_personal_email` field, now available in our Base Person Bundle!
* Huge increases in parent & subsidiary company information!
Excited yet? Read on to learn more, or jump to a specific section using the table of contents below.
***
## 📣 Key Announcements
### Recommended Personal Email in Base Person Bundle
We launched the [recommended\_personal\_email](/docs/fields#recommended_personal_email) field to our Person Dataset in [v20](/changelog/october-2022-release-notes-v20#recommended-personal-email). This field is the statistically most likely deliverable personal email for a profile. When we ran deliverability tests on this field, it showed a **37% improvement in deliverability**.
Previously, this field was in its own premium bundle. We are pleased to announce that the `recommended_personal_email` field will be moved from the Premium Bundle to the Base Person Bundle! There will be no changes made to the pricing of the Base Person Bundle, and we will continue to list additional emails in the [`emails`](/docs/fields#emails) field.
The recommended email is chosen using a proprietary process that probabilistically correlates to higher deliverability, but is not guaranteed to be deliverable. We are continuing to improve our overall deliverability of this field and our other email fields by investing in our data sourcing efforts.
### Parent & Subsidiary Company Tagging Improvements
In this release, we’ve updated our [company parent & subsidiary](/docs/company-schema#parents-and-subsidiaries) logic to increase the connections between companies that already exist as profiles in our company data. This change will increase the accuracy and coverage of the parent/subsidiary fields within our company records, which makes it more reliable for users to understand key relationships between matched profiles and easier for users to roll up the headcount or employee movement summaries of companies operating within larger corporate conglomerates.
This change affects the fill rates in the [all\_subsidiaries](/docs/company-schema#all_subsidiaries), [direct\_subsidiaries](/docs/company-schema#direct_subsidiaries), [immediate\_parent](/docs/company-schema#immediate_parent), and [ultimate\_parent](/docs/company-schema#ultimate_parent) fields.
Here’s a quick overview of our increased linkages:
| | Old # | New # | % Increase |
| :----------------------- | :----- | :----- | :--------- |
| Companies with 1+ Parent | 32,193 | 81,353 | 152.7% |
| Companies with 1+ Child | 9,121 | 29,362 | 221.9% |
### Person ID Length Upcoming Changes
We will be adjusting the maximum character length of [PDL Persistent Person IDs](/docs/fields#id). We will be launching this change in **October** to allow for ample time to adjust any of your processes impacted by this change.
Currently, IDs are 22 characters long. We recommend allowing for a **64 character maximum** for our IDs and will not have any IDs beyond this length, but in practice we expect the changes to result in IDs closer to 32 characters in length. Existing IDs will not change or change length. Only newly created IDs will have the new length.
***
## ✨ New Products and Features
### Monthly Data License Delivery Options
Currently, PDL delivers Data Licenses on a quarterly cadence. We've had a number of customers request a more frequent Data License delivery cadence and we hear you! With this release, we are implementing **monthly delivery options** for Data License customers.
Monthly deliveries will be directly tied to our monthly data build timelines, meaning we will be providing the freshest data we can to our customers.
Monthly delivery options will be available at an additional cost for all of our global datasets, including Person and Company data! If you’d like to upgrade your Data License delivery, please [reach out to us](https://www.peopledatalabs.com/talk-to-sales).
### Retrieve Webhook for Data License Customers
Last quarter ([V21](/changelog/january-2023-release-notes-v21)), we released the [webhook functionality](/docs/webhook-for-person-retrieve-api) for the [Person Retrieve API](/docs/person-retrieve-api). As a quick refresher, the webhook functionality enables customers to receive updated profiles automatically instead of periodically having to make hundreds of thousands of Retrieve API calls to keep their records up-to-date.
With this release, we are expanding the webhook functionality to **Data License customers** who want a delta of IDs that have changed on a monthly basis.
Functionally, the only difference in the webhook between API and Data License customers is which IDs will be pulled. For API customers, the webhook checks for updates to all person profiles accessed by calling the Person Enrichment, Person Search, and Person Identify APIs. For Data License customers, the webhook will check for updates to all person profiles included in the customer’s data pull query.
If you’d like access, please [reach out to us](https://www.peopledatalabs.com/talk-to-sales).
### Person Enrichment & Preview API Support for PDL ID Input
The [Person Enrichment API](/docs/person-enrichment-api) will now support PDL Persistent Person ID as an input parameter. Additionally, customers who use our Search or Enrichment Preview APIs can now choose to enrich their new records on ID as opposed to currently supported PII parameters.
If you enrich on ID and anything else, only ID is used and the other inputs for matching are ignored.
`pdl_id`
| Type | Description | Example |
| :----- | :-------------------------------------------------------------------------------- | :--------------------------- |
| String | The [PDL Persistent ID](/docs/persistent-ids) for a record in our Person Dataset. | qEnOZ5Oh0poWnQ1luFBfVw\_0000 |
***
## 🚀 Data Updates
### Freshness
This quarter, we updated millions of jobs and locations in our [Global Resume Dataset](/docs/resume-stats). See below for details:
| Dataset | Geography | Field | Records Updated |
| :------ | :------------ | :----------- | :-------------- |
| Resume | Global | `experience` | 149,059,103 |
| Resume | Global | `location` | 96,426,401 |
| Resume | United States | `experience` | 49,852,494 |
| Resume | United States | `location` | 40,190,936 |
### Coverage (Full Stats: [Person](/docs/datasets), [Company](/docs/company-stats))
[API Dataset](/docs/stats)
| Linkage | Coverage in v21 | Coverage in v22 | Increase (%) |
| :---------------- | --------------- | --------------- | ------------ |
| Total | 3,137,752,354 | 3,161,998,162 | 0.77% |
| personal\_emails | 683,676,725 | 708,085,315 | 3.57% |
| street\_addresses | 784,304,951 | 803,791,775 | 2.48% |
| phones | 1,140,318,222 | 1,150,823,707 | 0.92% |
[Resume Dataset](/docs/resume-stats)
| Linkage | Coverage in v21 | Coverage in v22 | Increase (%) |
| :------- | :-------------- | :-------------- | :----------- |
| `Total` | 732,702,622 | 741,406,022 | 1.19% |
| `phones` | 44,881,015 | 54,048,415 | 20.43% |
[Email Dataset](/docs/email-stats)
| Linkage | Coverage in v21 | Coverage in v22 | Increase (%) |
| :------- | :-------------- | :-------------- | :----------- |
| `phones` | 292,736,432 | 310,472,440 | 6.06% |
[Phone Dataset](/docs/phone-stats)
| Linkage | Coverage in v21 | Coverage in v22 | Increase (%) |
| :--------------- | :-------------- | :-------------- | :----------- |
| work\_email | 21,710,227 | 28,850,007 | 32.89% |
| personal\_emails | 222,133,824 | 234,147,898 | 5.41% |
[Street Address Dataset](/docs/street-address-stats)
| Linkage | Coverage in v21 | Coverage in v22 | Increase (%) |
| :---------- | :-------------- | :-------------- | :----------- |
| work\_email | 3,341,191 | 3,810,241 | 14.04% |
[Developer Dataset](/docs/developer-stats)
| Linkage | Coverage in v21 | Coverage in v22 | Increase (%) |
| :--------------- | :-------------- | :-------------- | :----------- |
| work\_email | 241,862 | 288,563 | 19.31% |
| personal\_emails | 338,597 | 374,996 | 10.75% |
[Company Dataset](/docs/company-stats)
| Linkage | Coverage in v21 | Coverage in v22 | Increase (%) |
| :------------------- | --------------- | --------------- | ------------ |
| Total | 22,876,457 | 28,212,381 | 23.33% |
| all\_subsidiaries | 9,121 | 29,362 | 221.92% |
| direct\_subsidiaries | 9,121 | 29,362 | 221.92% |
| immediate\_parent | 32,193 | 81,353 | 152.70% |
| ultimate\_parent | 32,193 | 81,353 | 152.70% |
### Commentary
* Significant increases in contact information linkages across all person datasets
* `work_email` and `personal_emails` linkages increased in all, most notably work\_email increased by 33% in in the phone dataset
* `phones` linkages in the resume dataset increased by 20%
* Added 9.7 million profiles to the resume dataset
* Added 4.8 million profiles to the company dataset (23% increase)
***
## 🛠 Improvements and Bug Fixes
### Improvements
* Added [Company HQ by country stats](/docs/company-countries) to our build process & docs.
* Previously, if a company did not have a value in an insights field, that field would be missing from the response. Now, all fields will populate with any blank values shown as `None`.
* Removed inappropriate words or phrases from our titles and skills.
### Bug Fixes
* Resolved instances where end date is before start date in the experience object.
* Continued reduction of LinkedIn URL duplication across profiles by improving our resolving logic for nicknames (Richard → Rick).
* Fixed non-canonical values appearing in the `size` field for certain companies in our company dataset.
* Resolved instances where certain signifiers would incorrectly be parsed as first or last names. For example, fixed ‘CSPO’ appearing as a last name.
# April 2024 Release Notes
Source: https://docs.peopledatalabs.com/changelog/april-2024-release-announcement-v260
| Release Name | Dataset Version | Publish Date |
| :----------- | :-------------- | :----------- |
| April 2024 | `v26.0` | 04/02/2024 |
*v26.0 was released on **April 2, 2024**.*
Welcome to our April 2024 release notes! We’re rolling out some exciting updates with this release.
Here are some of the key highlights:
* Significant improvements in our coverage mobile phone numbers
* Better insight into job freshness with our new [Resume Timestamp fields](#new-resume-timestamps-person-schema)
* New [employee count by role aggregations](#employee-count-by-role-fields-company-schema) in our Company dataset
* An important breaking change to our [person.gender field](#rename-persongender-to-personsex-person-schema)
* Significant updates to our [IP data and matching logic](#-improvements-and-bug-fixes) to help with reliability and accuracy
* An open solicitation for customer feedback to improve our [Role and Sub\_Role tagging](#role-and-sub_role-updates)
* [Over 128 million jobs and 230 million locations have been updated](#freshness) this past quarter!
Excited yet? Read on to learn more, or jump to a specific section using the table of contents below.
***
## 📣 Key Announcements
### Schema Updates
#### Rename `person.gender` to `person.sex` ([Person Schema](/docs/fields))
#### New Resume Timestamps ([Person Schema](/docs/fields))
#### Employee Count By Role Fields ([Company Schema](/docs/company-schema#funding-data))
We are excited to share that 2 new fields have been added to our company schema as of our v25.2 release:
#### ⚠️ Deprecation of `person.job_last_updated`
Change expected in: **v27.0 / July 2024**
As part of our [new resume timestamps](#heading=h.i1m1gfwp71e6) that were released this quarter, we will be deprecating our existing `job_last_updated` field in the July 2024 (v27.0) release. Our newly released resume timestamps provide more granularity and clarity than our existing `job_last_updated` timestamp, and resolve ambiguity in the freshness of a person’s current work experience.
Any customers currently using our `job_last_updated` field will need to migrate to the new `job_last_verified` and `job_last_changed` fields before v27.0.
For help moving over to the new field, please reach out to your Customer Success and Technical Services for support and enablement resources. Please also see this easy-to-follow guide prepared by our Technical Services team for instructions on how to transition to this new schema:
[Breaking Changes Guide *Deprecation of job*last\_updated.pdf](https://drive.google.com/open?id=1tP-u9D1QKpPRg79GaMN4zc1Zlfmk5QJi)
***
## 🚀 Data Updates
### Freshness
*The number of jobs and locations verified in our datasets over the past **month** (based on the `job_last_verified` and `location_last_updated` fields).*
| Dataset | Geography | Field | Records Updated |
| :------ | :------------ | :----------- | --------------- |
| Resume | Global | `experience` | 199,381,717 |
| Resume | Global | `location` | 298,777,846 |
| Resume | United States | `experience` | 53,538,566 |
| Resume | United States | `location` | 82,270,299 |
### Coverage (Full Stats: [Person](/docs/datasets), [Company](/docs/company-stats))
**[Resume Dataset](/docs/resume-stats)**
| Linkage | Coverage in v25 | Coverage in v26 | Increase (%) |
| :------------------ | --------------- | --------------- | ------------ |
| `total_records` | 794,313,831 | 744,191,278 | -6.31% |
| `mobile_phone` | 17,666,371 | 53,088,015 | 200.50% |
| `phone_numbers` | 69,139,249 | 44,226,279 | 56.33% |
| `education.gpa` | 4,563,280 | 8,757,491 | 91.91% |
| `education.summary` | 29,679,966 | 49,868,050 | 68.02% |
| `education.majors` | 141,539,272 | 179,725,851 | 26.98% |
| `education.degrees` | 126,248,489 | 156,797,783 | 24.20% |
**[API Dataset](/docs/stats)**
| Linkage | Coverage in v25 | Coverage in v26 | Increase (%) |
| :------------------ | --------------- | --------------- | ------------ |
| `total_records` | 3,225,330,100 | 3,178,815,044 | -1.44% |
| `mobile_phone` | 478,067,684 | 513,257,630 | 7.36% |
| `phone_numbers` | 1,125,062,185 | 1,157,207,007 | 2.86% |
| `education.gpa` | 9,730,993 | 5,548,676 | 75.38% |
| `education.summary` | 50,039,000 | 29,954,669 | 67.05% |
| `education.majors` | 209,162,040 | 171,610,325 | 21.88% |
| `education.degrees` | 169,748,056 | 139,634,548 | 21.57% |
**[Company Dataset](/docs/company-stats)**
| Linkage | Coverage in v25 | Coverage in v26 | Increase (%) |
| :-------------------- | --------------- | --------------- | ------------ |
| `total_records` | 61,297,152 | 62,109,427 | 1.33% |
| `funding_details` | 221,107 | 226,302 | 2.35% |
| `all_subsidiaries` | 40,994 | 42,496 | 3.66% |
| `direct_subsidiaries` | 40,908 | 42,393 | 3.63% |
| `ultimate_parent` | 112,785 | 116,367 | 3.18% |
| `immediate_parent` | 111,943 | 115,394 | 3.08% |
| `alternative_domains` | 4,504,007 | 4,504,390 | 0.01% |
### Commentary
* We saw significant improvements (over 200% increase) in our coverage of mobile phones tied to linkedin profiles due to new data partnerships.
* We rebuilt our school dataset and additionally ingested new sources of education data resulting in significant increases in coverage of our education-related fields including Degrees, Summaries, Majors, and GPAs.
* We decreased our total records in the resume data slice by \~6% as a result of improvements to our deduplication logic as well as improved QA of low-quality data sources
***
## 🛠 Improvements and Bug Fixes
### Improvements
* We’ve made a significant amount of updates to our IP data and matching to help with reliability and accuracy
* We decreased the number of [frankenstein](/docs/datasets#description) records in our person dataset by over 13% and improved our work email quality by removing inferred emails being contributed by some of our data sources
* We improved the accuracy of our alternative\_domains field by removing a low-quality data source without impact to our overall fill rate in the company dataset
* We reduced the number of duplicate company tags present in our our company records
### Bug Fixes
* Fixed a bug in our Autocomplete API where autocompletion using the `region` field was not returning location-based metadata
* We fixed a bug in our changelog process that was erroneously creating multiple changelog records in certain cases. These multiple records are now stored in an array in the [`to`](/docs/id-changelog#additional-metadata) field of a changelog record.
* We made some changes to our inferred\_years\_experience logic which allows us to under-emphasize education when we have detailed job history with start/end dates increasing the overall accuracy of this value.
* We fixed a bug where certain degree abbreviations were being added into the name fields in a person profile
* Resolved unexpected company enrichment matching behavior on websites where the input was actually an email domain such as sbcglobal.com and sbcglobal.net.
# April 2025 Release Notes
Source: https://docs.peopledatalabs.com/changelog/april-2025-release-notes-v300
| Release Name | Dataset Version | Publish Date |
| :----------- | :-------------- | :----------- |
| April 2025 | `v30.0` | 04/15/2025 |
**Welcome to our April 2025 release notes!**
This month, we’re rolling out some exciting and important updates across our data products.\
Here’s what’s new:
* **🏢 New Company Insights Fields**: We just launched a whole batch of exciting [new Company Insight fields](#new-insights)!
* **❄️ Snowflake Single Listing Migration**: We’ve completed the [migration of Snowflake customers](#snowflake-migration) to a unified, single listing for their data.
* **🥷 Sunset of Skill Enrichment API**: The Skill Enrichment API is now [officially removed](#skill-enrich-deprecation).
* **🆓 Free Job Title Enrichment API Plans**: Free & Pro users now have [access to the Job Title Enrichment API](#ss-job-title-enrichment)
* **🎓 Expanded School Tagging**: Academic institutions are now [better labeled](#improvements) in our Company dataset using the `educational` company type.
* **📊 Freshness Updates**: This past quarter, we [verified 296M+ jobs](#freshness) and [detected 9M+ job changes](#job-changes) across our global dataset
Explore the full details below, or skip ahead to a specific section using the table of contents.
## 📣 Key Announcements
### Schema Changes
#### New Company Insights Fields ([Company Schema](/docs/company-schema))
| Field | Type | Short Description | Bundle |
| :------------------------------------------------------------------------------------------------------------ | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------- |
| [`top_next_employers`](/docs/company-schema#top_next_employers) | `Object` | The top ten companies employees moved to, and how many employees moved there, across all time periods | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`top_previous_employers`](/docs/company-schema#top_previous_employers) | `Object` | The top ten previous companies employees worked for previously, and how many current employees were previously employed by them, across all time periods | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`top_next_employers_12_month`](/docs/company-schema#top_next_employers_12_month) | `Object` | The top ten next employers, counting only employee changes within the last 12 months | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`top_previous_employers_12_month`](/docs/company-schema#top_previous_employers_12_month) | `Object` | The top ten previous employers, counting only employee changes within the last 12 months | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_count_by_sub_role`](/docs/company-schema#employee_count_by_sub_role) | `Object` | The number of current employees broken down by [Job Title Sub Role](/docs/job-title-subroles). | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_growth_rate_12_month_by_sub_role`](/docs/company-schema#employee_growth_rate_12_month_by_sub_role) | `Object` | The twelve month rate of change by [Job Title Sub Role](/docs/job-title-subroles) | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_count_by_class`](/docs/company-schema#employee_count_by_class) | `Object` | The number of current employees broken down by [Job Title Class](/docs/job-title-class) | [Premium](/docs/company-data-field-bundles#premium)
[Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_growth_rate_12_month_by_class`](/docs/company-schema#employee_growth_rate_12_month_by_class) | `Object` | The twelve month rate of change by [Job Title Class](/docs/job-title-class) | [Premium](/docs/company-data-field-bundles#premium)
[Comprehensive](/docs/company-data-field-bundles#comprehensive) |
This month, we’re excited to introduce eight new Company Insight fields as part of the April 2025 (v30.0) release! These enhancements provide deeper visibility into employee movement trends and organizational composition, offering our customers even more actionable insights.
These Company Data fields are currently in beta and are automatically available to customers with [Company Comprehensive](/docs/company-data-field-bundles#comprehensive) and [Company Premium](/docs/company-data-field-bundles#premium) field bundles, as indicated in the table above.
**Key Highlights**
* **Better Classification Support**: Headcount metrics are now broken down using our new Job Title Class and Job Sub Role taxonomies, providing more granularity and flexibility in workforce analysis.
* **Time-Bound Talent Flow Summaries**: New 12-month versions of the Top Previous and Top Next Employers fields allow you to isolate and analyze recent employee movements, giving a sharper view of current hiring and attrition trends.
* **Improved Data Readability**: All Top Employers summaries now include displayable company names, making analysis clearer and the data more presentation-ready.
**Availability**\
These new fields are automatically included for customers with the following Company Data field bundles:
* [Company Comprehensive](/docs/company-data-field-bundles#comprehensive)
* [Company Premium](/docs/company-data-field-bundles#premium)
See the table above for field availability across bundles. If you’re not currently seeing these fields and would like to enable access, please reach out to your Account Team for assistance.
**Deprecation Notice**\
Please note that two of these new fields will fully replace two existing Company Insights fields (now considered legacy) in July 2025 as part of the v31.0 release. Please see the full [deprecation notice](#legacy-insights) below for more information.
**We’d Love Your Feedback!**\
We’re always looking to improve. If you have thoughts on how these fields are working for you - or ideas for what insights you'd like to see next - please don’t hesitate to share your feedback with us. We would love to hear your input and ideas through our [Roadmap Feature Request Board](https://feedback.peopledatalabs.com/)!
***
## ❗Breaking Changes (Going Live This Month)
### ❗ Snowflake Listing Migration
Change expected in: **v30.0 / April 2025**\
Previous Announcements: [v29.0 / Jan. 2025](/changelog/january-2025-release-notes-v290#snowflake-migration), [v29.1 / Feb. 2025](/changelog/february-2025-release-notes-v291#snowflake-migration), [v29.2 / Mar. 2025](/changelog/march-2025-release-notes-v292#snowflake-migration)
Products Impacted: **Snowflake Listings**
| Products Impacted |
| :----------------------------------------------------------------------- |
| [Snowflake Data License Deliveries](/docs/data-delivery-using-snowflake) |
As of the April 2025 (v30.0) release, the migration of all Snowflake customers to a single listing per customer is now complete.
**Why did we make this change?**\
Previously, Snowflake customers receiving multiple data entities (e.g. Person and Company datasets) were assigned separate listings for each entity. Starting in August 2024, new customers began receiving a unified, single listing. With this release, we have completed that same transition for all existing customers.
All customers who previously had multiple listings have now been migrated to a single listing. This change simplifies data delivery and improves consistency and support across all Snowflake-based data products.
**Migration Options and Final Status**\
Prior to this release, customers with multiple listings were given the opportunity to choose how they’d like to consolidate their data:
* **Create a New Listing (default)**: PDL would set up a new, consolidated listing and retire the existing ones.
* **Merge and Deprecate**: Customers could choose to retain one of their existing listings and have the other merged into it.
With the April 2025 release now complete, all customer migrations have been finalized. In cases where no preference was shared, the default New Listing approach was applied to ensure a smooth transition.
### ❗ Sunset of Skill Enrichment API
Change expected in: **v30.0 / April 2025**\
Previous Announcements: [v29.0 / Jan. 2025](/changelog/january-2025-release-notes-v290#skill-enrich-deprecation), [v29.1 / Feb. 2025](/changelog/february-2025-release-notes-v291#skill-enrich-deprecation), [v29.2 / Mar. 2025](/changelog/march-2025-release-notes-v292#skill-enrich-deprecation)
Products Impacted: **Skill Enrichment API**
| Products Impacted |
| :------------------------------------------------- |
| [Skill Enrichment API](/docs/skill-enrichment-api) |
As of the April 2025 (v30.0) release, the Skill Enrichment API has been officially sunset and is no longer available.
**Why this change?**\
The Skill Enrichment API was originally developed to enhance the user experience alongside our Person Search API. However, based on historical usage and customer feedback, we made the decision to shift focus toward our Job Title Enrichment API and sunset the Skill Enrichment API.
If you have any questions about this change, we welcome your input and ideas via our [Roadmap Feature Request Board](https://feedback.peopledatalabs.com/)!
### ⚠️ Upcoming Breaking Changes
#### ⚠️ (*New*) Deprecation of Legacy Employer Insights Fields ([Company](/docs/company-schema))
Change expected in: **v31.0 / July 2025**
Products Impacted: **Company**
| Company Fields Impacted |
|---|
| [`top_next_employers_by_role`](/docs/company-schema#top_next_employers_by_role) [`top_previous_employers_by_role`](/docs/company-schema#top_previous_employers_by_role) |
| [Person](/docs/fields) Fields Impacted | [Company](/docs/company-schema) Fields Impacted | [IP](/docs/ip-fields) Fields Impacted |
|---|---|---|
| `job_title_role` `job_title_sub_role` `experience.title.role` `experience.title.sub_role` | `average_tenure_by_role`\ `employee_count_by_month_by_role`\ `employee_count_by_role`\ `recent_exec_departures`\ `recent_exec_hires`\ `top_next_employers_by_role`\ `top_previous_employers_by_role` | `person.job_title_role`\ `person.job_title_sub_role` |
| [Person](/docs/fields) Fields Impacted |
|---|
| [`work_email`](/docs/fields#work_email) [`recommended_personal_email`](/docs/fields#recommended_personal_email) [`personal_emails`](/docs/fields#personal_emails) [`emails`](/docs/fields#emails) [`phone_numbers`](/docs/fields#phone_numbers) [`mobile_phone`](/docs/fields#mobile_phone) All [`locations`](/docs/fields#location) (except country and continent) [`birth_date`](/docs/fields#birth_date) [`birth_year`](/docs/fields#birth_year) |
| [Person](/docs/fields) Fields Impacted | [Company](/docs/company-schema) Fields Impacted | [IP](/docs/ip-fields) Fields Impacted |
|---|---|---|
| `job_title_role` `job_title_sub_role` `experience.title.role` `experience.title.sub_role` | `average_tenure_by_role`\ `employee_count_by_month_by_role`\ `employee_count_by_role`\ `recent_exec_departures`\ `recent_exec_hires`\ `top_next_employers_by_role`\ `top_previous_employers_by_role` | `person.job_title_role`\ `person.job_title_sub_role` |
| Company Field Represented | employee\_count |
| Data Type | Integer (>= 0) |
| Field Summary | The total number of PDL profiles associated with the person’s current company. |
| Company Field Represented | inferred\_revenue |
| Data Type | Enum (String) |
| Field Summary | The estimated annual revenue range in USD of the person’s current company. |
| Company Field Represented | employee\_growth\_rate.12\_month |
| Data Type | Float |
| Field Summary | The person’s current company’s percentage increase in total headcount over the past twelve months. Growth rate is calculated as (current\_employee\_count / previous\_employee\_count) - 1. |
| Company Field Represented | total\_funding\_raised |
| Data Type | Integer (> 0) |
| Field Summary | The cumulative amount of money raised in USD by the person’s current company during all publicly disclosed funding rounds. |
| Field Name | Data Type | Field Description | Example |
|---|---|---|---|
| `display_name_history` | `Array [String]` |
A list of the company’s historical primary names with proper capitalization.
**Note:** Only available in the [Autocomplete API](/docs/autocomplete-api). |
`[”Twitter”, “X”]` |
| [Person](/docs/fields) Fields Impacted |
|---|
| [`work_email`](/docs/fields#work_email) [`recommended_personal_email`](/docs/fields#recommended_personal_email) [`personal_emails`](/docs/fields#personal_emails) [`emails`](/docs/fields#emails) [`phone_numbers`](/docs/fields#phone_numbers) [`mobile_phone`](/docs/fields#mobile_phone) All [`locations`](/docs/fields#location) (except country and continent) [`birth_date`](/docs/fields#birth_date) [`birth_year`](/docs/fields#birth_year) |
| [Person](/docs/fields) Fields Impacted | [Company](/docs/company-schema) Fields Impacted | [IP](/docs/ip-fields) Fields Impacted |
|---|---|---|
| `job_title_role` `job_title_sub_role` `experience.title.role` `experience.title.sub_role` | `average_tenure_by_role`\ `employee_count_by_month_by_role`\ `employee_count_by_role`\ `recent_exec_departures`\ `recent_exec_hires`\ `top_next_employers_by_role`\ `top_previous_employers_by_role` | `person.job_title_role`\ `person.job_title_sub_role` |
| Filter Name | Update Based On |
|---|---|
| `location` | [`location_name`](/docs/fields#location_name)\ [`location_locality`](/docs/fields#location_locality)\ [`location_metro`](/docs/fields#location_metro)\ [`location_region`](/docs/fields#location_region)\ [`location_country`](/docs/fields#location_country)\ [`location_continent`](/docs/fields#location_continent)\ [`location_street_address`](/docs/fields#location_street_address)\ [`location_address_line_2`](/docs/fields#location_address_line_2)\ [`location_postal_code`](/docs/fields#location_postal_code)\ [`location_geo`](/docs/fields#location_geo) |
| `social_profile` | [`linkedin_url`](/docs/fields#linkedin_url)\ [`linkedin_username`](/docs/fields#linkedin_username)\ [`linkedin_id`](/docs/fields#linkedin_id)\ [`facebook_url`](/docs/fields#facebook_url)\ [`facebook_username`](/docs/fields#facebook_username)\ [`facebook_id`](/docs/fields#facebook_id)\ [`twitter_url`](/docs/fields#twitter_url)\ [`twitter_username`](/docs/fields#twitter_username)\ [`github_url`](/docs/fields#github_url)\ [`github_username`](/docs/fields#github_username) |
| `work_email` | [`work_email`](/docs/fields#work_email) |
| `personal_emails` | [`personal_emails`](/docs/fields#personal_emails)\ [`recommended_personal_email`](/docs/fields#recommended_personal_email) |
| `education` | [`education`](/docs/fields#education) |
| `phone_number` | [`mobile_phone`](/docs/fields#mobile_phone)\ [`phone_numbers`](/docs/fields#phone_numbers) |
| FIELD NAME | FIELD TYPE | FIELD BUNDLE | FIELD DESCRIPTION |
|---|---|---|---|
| [`employee_turnover_rate`](/docs/company-schema#employee_turnover_rate) | `Object` | [Premium](/docs/company-data-field-bundles#premium)\ [Comprehensive](/docs/company-data-field-bundles#comprehensive) | The percentage of employees who left the company compared to the company’s average workforce size over the most recent period. This field may report turnover rates for various periods. |
| [`annualized_employee_turnover_rate`](/docs/company-schema#annualized_employee_turnover_rate) | `Object` | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | The annualized percentage of employees who left the company compared to the company’s average workforce size over the most recent period. This field is identical to the [employee\_turnover\_rate](/docs/company-schema#employee_turnover_rate) field, except that each period is annualized to enable direct comparison across different points in time. |
| [`median_employee_tenure`](/docs/company-schema#median_employee_tenure) | `Float (>=0)` | [Premium](/docs/company-data-field-bundles#premium)\ [Comprehensive](/docs/company-data-field-bundles#comprehensive) | The median number of years that employees have worked at the company. |
| [`median_tenure_by_level`](/docs/company-schema#median_tenure_by_level) | `Object` | [Premium](/docs/company-data-field-bundles#premium)\ [Comprehensive](/docs/company-data-field-bundles#comprehensive) | The median number of years that employees have worked at the company, broken out by [job title levels](/docs/job-title-levels). |
| [`median_tenure_by_role`](/docs/company-schema#median_tenure_by_role) | `Object` | [Premium](/docs/company-data-field-bundles#premium)\ [Comprehensive](/docs/company-data-field-bundles#comprehensive) | The median number of years that employees have worked at the company, broken out by [job title role](/docs/job-title-roles). |
| [`employee_growth_rate_12_month_by_country`](/docs/company-schema#employee_growth_rate_12_month_by_country) | `Object` | [Premium](/docs/company-data-field-bundles#premium)\ [Comprehensive](/docs/company-data-field-bundles#comprehensive) | The twelve month rate of change across each [country](/docs/location-countries). For each country, this field contains the current employee count, the employee count from one year ago, and the rate of growth or decline. See also: [employee\_count\_by\_country](/docs/company-schema#employee_count_by_country)\ **Note**: users accessing [PDL's Tabular Schema](/docs/table-flattened-data-license-format) instead receive this data as columns in the `employee_count_by_country` table. |
| [`affiliated_entities.employee_count`](/docs/company-schema#affiliated_entities) | `Integer (>= 0)` | [Premium](/docs/company-data-field-bundles#premium)\ [Comprehensive](/docs/company-data-field-bundles#comprehensive) | The current employee count for the related company listed in the [affiliated\_entities](/docs/company-schema#affiliated_entities) object. |
| FIELD NAME | BUNDLE |
|---|---|
| [`employee_turnover_rate`](/docs/company-schema#employee_turnover_rate) | [Premium](/docs/company-data-field-bundles#premium)\ [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_turnover_rate.3_month`](/docs/company-schema#employee_turnover_rate) | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_turnover_rate.6_month`](/docs/company-schema#employee_turnover_rate) | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_turnover_rate.12_month`](/docs/company-schema#employee_turnover_rate) | [Premium](/docs/company-data-field-bundles#premium)\ [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_turnover_rate.24_month`](/docs/company-schema#employee_turnover_rate) | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [Person](/docs/fields) Fields Impacted | [Company](/docs/company-schema) Fields Impacted | [IP](/docs/ip-fields) Fields Impacted |
|---|---|---|
| `job_title_role` `job_title_sub_role` `experience.title.role` `experience.title.sub_role` | `average_tenure_by_role`\ `employee_count_by_month_by_role`\ `employee_count_by_role`\ `recent_exec_departures`\ `recent_exec_hires`\ `top_next_employers_by_role`\ `top_previous_employers_by_role` | `person.job_title_role`\ `person.job_title_sub_role` |
| [Person](/docs/fields) Fields Impacted |
|---|
| [`work_email`](/docs/fields#work_email) [`recommended_personal_email`](/docs/fields#recommended_personal_email) [`personal_emails`](/docs/fields#personal_emails) [`emails`](/docs/fields#emails) [`phone_numbers`](/docs/fields#phone_numbers) [`mobile_phone`](/docs/fields#mobile_phone) All [`locations`](/docs/fields#location) (except country and continent) [`birth_date`](/docs/fields#birth_date) [`birth_year`](/docs/fields#birth_year) |
| Parameter Name | Required | Description | Default | Example |
|---|---|---|---|---|
| [`name`](/docs/input-parameters-cleaner-apis#name) | No (but see note below) | The name of the company that you want to identify. We accept unformatted strings with arbitrary capitalizations, leading and trailing whitespaces and so forth. | None | `“People data LABS”` |
| [`website`](/docs/input-parameters-cleaner-apis#website) | No (but see note below) | The website of the company that you want to identify. We accept unformatted URLs with arbitrary capitalizations, leading and trailing whitespaces and so forth. | None | `www.peopledatalabs.com` |
| [`profile`](/docs/input-parameters-cleaner-apis#profile) | No (but see note below) | The social profile URL of the company that you want to identify. We accept unformatted URLs with arbitrary capitalizations, leading and trailing whitespaces and so forth. | None | `”https://linkedin.com/company/peopledatalabs”` |
| [`pretty`](/docs/input-parameters-cleaner-apis#pretty) | No | Whether the output should have human-readable indentation. | `False` | `True` |
| [`api_key`](/docs/input-parameters-cleaner-apis#api_key) | No\* | Your secret API key. While we do not require this as part of the request parameters, if you don't provide it here, then you must provide it in an alternative way, such as by using the `x-api-key` field in the headers. For more information, see the [Authentication](/docs/authentication) page. | None |
| Parameter Name | Required | Description | Default | Example |
|---|---|---|---|---|
| [`location`](/docs/input-parameters-cleaner-apis#location) | Yes | The name of the location that you want to identify. We accept unformatted locations with arbitrary capitalizations, leading and trailing whitespaces and so forth. | None | `"san francisco"` |
| [`pretty`](/docs/input-parameters-cleaner-apis#pretty-1) | No | Whether the output should have human-readable indentation. | `False` | `True` |
| [`api_key`](/docs/input-parameters-cleaner-apis#api_key-1) | No\* | Your secret API key. While we do not require this as part of the request parameters, if you don't provide it here, then you must provide it in an alternative way, such as by using the `x-api-key` field in the headers. For more information, see the [Authentication](/docs/authentication) page. | None |
| Parameter Name | Required | Description | Default | Example |
|---|---|---|---|---|
| [`name`](/docs/input-parameters-cleaner-apis#name-1) | No (but see note below) | The name of the company that you want to identify. We accept unformatted strings with arbitrary capitalizations, leading and trailing whitespaces and so forth. | None | `“People data LABS”` |
| [`website`](/docs/input-parameters-cleaner-apis#website-1) | No (but see note below) | The website of the company that you want to identify. We accept unformatted URLs with arbitrary capitalizations, leading and trailing whitespaces and so forth. | None | `www.peopledatalabs.com` |
| [`profile`](/docs/input-parameters-cleaner-apis#profile-1) | No (but see note below) | The social profile URL of the company that you want to identify. We accept unformatted URLs with arbitrary capitalizations, leading and trailing whitespaces and so forth. | None | `”https://linkedin.com/company/peopledatalabs”` |
| [`pretty`](/docs/input-parameters-cleaner-apis#pretty-2) | No | Whether the output should have human-readable indentation. | `False` | `True` |
| [`api_key`](/docs/input-parameters-cleaner-apis#api_key-2) | No\* | Your secret API key. While we do not require this as part of the request parameters, if you don't provide it here, then you must provide it in an alternative way, such as by using the `x-api-key` field in the headers. For more information, see the [Authentication](/docs/authentication) page. | None |
| Field | Type | Short Description | Requires add-on | Searchable | Bundle |
|---|---|---|---|---|---|
| [`affiliated_entities`](/docs/company-schema#affiliated_entities) | `Array [Object]` | Object containing information on related company profiles. | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`affiliated_entities.affiliated_id`](/docs/company-schema#affiliated_entities) | `String` | PDL Company ID of the affiliated company record. | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`affiliated_entities.display_name`](/docs/company-schema#affiliated_entities) | `String` | display\_name of the affiliated company record. | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`affiliated_entities.employee_count`](/docs/company-schema#affiliated_entities) | `Integer (>= 0)` | The current employee count for the related company listed in the [affiliated\_entities](/docs/company-schema#affiliated_entities) object. | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`affiliated_entities.relationship`](/docs/company-schema#affiliated_entities) | [`Enum (String)`](/docs/relationship_types) | Categorization of the relationship type to the affiliated company record. The value will be one of our canonical [Relationship Types](/docs/relationship_types). | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`affiliated_entities.relationship_catalyst`](/docs/company-schema#affiliated_entities) | [`Enum (String)`](/docs/relationship_catalysts) | **Alpha Field** - Categorization of the event that formed the relationship to the affiliated company record. | T | [Parent Subsidiary Details](/docs/company-data-field-bundles#parent-subsidiary-details) | |
| [`affiliated_entities.relationship_status`](/docs/company-schema#affiliated_entities) | [`Enum (String)`](/docs/relationship_status) | **Alpha Field** - Whether the relationship is active, pending, or inactive. | T | [Parent Subsidiary Details](/docs/company-data-field-bundles#parent-subsidiary-details) | |
| [`affiliated_entities.start_date`](/docs/company-schema#affiliated_entities) | `String (Date)` | **Alpha Field** - Date when the affiliated company became related. For mergers or acquisitions, this will be the date that the transaction is closed (when that information is available); otherwise, this will be the date announced. | T | [Parent Subsidiary Details](/docs/company-data-field-bundles#parent-subsidiary-details) | |
| [`affiliated_entities.end_date`](/docs/company-schema#affiliated_entities) | `String (Date)` | **Alpha Field** - When applicable, the date when the the affiliated company was divested or otherwise no longer affiliated. | T | [Parent Subsidiary Details](/docs/company-data-field-bundles#parent-subsidiary-details) | |
| [`affiliated_entities.relationship_citations`](/docs/company-schema#affiliated_entities) | `Array [String]` | **Alpha Field** - List of URL links to news articles, press releases, or company webpages that describe the business relationship. | T | [Parent Subsidiary Details](/docs/company-data-field-bundles#parent-subsidiary-details) | |
| [`affiliated_profiles`](/docs/company-schema#affiliated_profiles) | `Array [String]` | Additional Company IDs that are affiliated with the queried company | T | [Base](/docs/company-data-field-bundles#base) | |
| [`all_subsidiaries`](/docs/company-schema#all_subsidiaries) | `Array [String]` | Full hierarchy chain of Company IDs for all downstream entities | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`alternative_domains`](/docs/company-schema#alternative_domains) | `Array [String]` | A list of alternate domains associated with this company | T | [Base](/docs/company-data-field-bundles#base) | |
| [`alternative_names`](/docs/company-schema#alternative_names) | `Array [String]` | A list of names associated with this company, including past profile names | T | [Base](/docs/company-data-field-bundles#base) | |
| [`annualized_employee_turnover_rate`](/docs/company-schema#annualized_employee_turnover_rate) | `Object` | The annualized percentage of employees who left the company compared to the company’s average workforce size over the most recent period. This field is identical to the [employee\_turnover\_rate](/docs/company-schema#employee_turnover_rate) field, except that each period is annualized to enable direct comparison across different points in time. | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`annualized_employee_turnover_rate.3_month`](/docs/company-schema#annualized_employee_turnover_rate) | `Float (>=0)` | The annualized percentage of employees who left the company compared to the company’s average workforce size over the most recent 3 month period. | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`annualized_employee_turnover_rate.6_month`](/docs/company-schema#annualized_employee_turnover_rate) | `Float (>=0)` | The annualized percentage of employees who left the company compared to the company’s average workforce size over the most recent 6 month period. | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`annualized_employee_turnover_rate.12_month`](/docs/company-schema#annualized_employee_turnover_rate) | `Float (>=0)` | The annualized percentage of employees who left the company compared to the company’s average workforce size over the most recent 12 month period. | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`annualized_employee_turnover_rate.24_month`](/docs/company-schema#annualized_employee_turnover_rate) | `Float (>=0)` | The annualized percentage of employees who left the company compared to the company’s average workforce size over the most recent 24 month period. | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`average_employee_tenure`](/docs/company-schema#average_employee_tenure) | `Float (> 0)` | The average years of experience at the company | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`average_tenure_by_level`](/docs/company-schema#average_tenure_by_level) | `Object` | The average years of experience at the company by job level | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`average_tenure_by_role`](/docs/company-schema#average_tenure_by_role) | [`Object`](/docs/job-title-roles) | The average years of experience at the company by job role | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`dataset_version`](/docs/company-schema#dataset_version) | `String` | The major or minor release number | T | [Base](/docs/company-data-field-bundles#base) | |
| [`direct_subsidiaries`](/docs/company-schema#direct_subsidiaries) | `Array [String]` | The Company IDs of each company that the queried company directly owns | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`display_name`](/docs/company-schema#display_name) | `String` | The company name, capitalized using the company’s self-reported name | [Base](/docs/company-data-field-bundles#base) | ||
| [`employee_churn_rate`](/docs/company-schema#employee_churn_rate) | `Object` | The rate of change in employee headcount from N months prior | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`employee_churn_rate.3_month`](/docs/company-schema#employee_churn_rate) | `Float (>= 0)` | The rate of change in employee headcount from 3 months prior | T | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_churn_rate.6_month`](/docs/company-schema#employee_churn_rate) | `Float (>= 0)` | The rate of change in employee headcount from 6 months prior | T | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_churn_rate.12_month`](/docs/company-schema#employee_churn_rate) | `Float (>= 0)` | The rate of change in employee headcount from 12 months prior | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`employee_churn_rate.24_month`](/docs/company-schema#employee_churn_rate) | `Float (>= 0)` | The rate of change in employee headcount from 24 months prior | T | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_count`](/docs/company-schema#employee_count) | `Integer (>= 0)` | The current number of employees working at the company, derived from PDL's resume data | T | [Base](/docs/company-data-field-bundles#base) | |
| [`employee_count_by_class`](/docs/company-schema#employee_count_by_class) | [`Object`](/docs/job-title-roles) | The number of current employees broken down by [Job Title Class](/docs/job-title-class) | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`employee_count_by_country`](/docs/company-schema#employee_count_by_country) | [`Object`](/docs/location-countries) | The number of current employees broken out by country | [Base](/docs/company-data-field-bundles#base) | ||
| [`employee_count_by_month`](/docs/company-schema#employee_count_by_month) | `Object` | The number of employees at the end of each month | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`employee_count_by_month_by_level`](/docs/company-schema#employee_count_by_month_by_level) | [`Object`](/docs/job-title-levels) | The number of employees at the end of each month, broken down by job level | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`employee_count_by_month_by_role`](/docs/company-schema#employee_count_by_month_by_role) | [`Object`](/docs/job-title-roles) | The number of employees at the end of each month, broken down by job role | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`employee_count_by_role`](/docs/company-schema#employee_count_by_role) | [`Object`](/docs/job-title-roles) | The number of current employees broken down by job role | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`employee_count_by_sub_role`](/docs/company-schema#employee_count_by_sub_role) | [`Object`](/docs/job-title-roles) | The number of current employees broken down by [Job Title Sub Role](/docs/job-title-subroles) . | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`employee_growth_rate`](/docs/company-schema#employee_growth_rate) | `Object` | The percentage increase in total headcount from N months prior | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`employee_growth_rate.3_month`](/docs/company-schema#employee_growth_rate) | `Float` | The percentage increase in total headcount from 3 months prior | T | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_growth_rate.6_month`](/docs/company-schema#employee_growth_rate) | `Float` | The percentage increase in total headcount from 6 months prior | T | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_growth_rate.12_month`](/docs/company-schema#employee_growth_rate) | `Float` | The percentage increase in total headcount from 12 months prior | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`employee_growth_rate.24_month`](/docs/company-schema#employee_growth_rate) | `Float` | The percentage increase in total headcount from 24 months prior | T | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) |
| [`employee_growth_rate_12_month_by_country`](/docs/company-schema#employee_growth_rate_12_month_by_country) | `Object` | The twelve month rate of change across each [country](/docs/location-countries). For each country, this field contains the current employee count, the employee count from one year ago, and the rate of growth or decline. See also: [employee\_count\_by\_country](/docs/company-schema#employee_count_by_country) **Note**: users accessing [PDL's Tabular Schema](/docs/table-flattened-data-license-format) instead receive this data as columns in the `employee_count_by_country` table. | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`employee_growth_rate_12_month_by_class`](/docs/company-schema#employee_growth_rate_12_month_by_class) | `Object` | The twelve month rate of change by [Job Title Class](/docs/job-title-class) | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`employee_growth_rate_12_month_by_role`](/docs/company-schema#employee_growth_rate_12_month_by_role) | `Object` | The twelve month rate of change by Job Role on the final day of the most recent month. | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`employee_growth_rate_12_month_by_sub_role`](/docs/company-schema#employee_growth_rate_12_month_by_sub_role) | `Object` | The twelve month rate of change by [Job Title Sub Role](/docs/job-title-subroles) | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`employee_turnover_rate`](/docs/company-schema#employee_turnover_rate) | `Object` | The percentage of employees who left the company compared to the company’s average workforce size over the most recent period. This field may report turnover rates for various periods. | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`employee_turnover_rate.3_month`](/docs/company-schema#employee_turnover_rate) | `Float (>=0)` | The percentage of employees who left the company compared to the company’s average workforce size over the most recent 3 month period. | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`employee_turnover_rate.6_month`](/docs/company-schema#employee_turnover_rate) | `Float (>=0)` | The percentage of employees who left the company compared to the company’s average workforce size over the most recent 6 month period. | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`employee_turnover_rate.12_month`](/docs/company-schema#employee_turnover_rate) | `Float (>=0)` | The percentage of employees who left the company compared to the company’s average workforce size over the most recent 12 month period. | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`employee_turnover_rate.24_month`](/docs/company-schema#employee_turnover_rate) | `Float (>=0)` | The percentage of employees who left the company compared to the company’s average workforce size over the most recent 24 month period. | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`facebook_url`](/docs/company-schema#facebook_url) | `String` | The main Facebook profile URL for the company based on source agreement | T | [Base](/docs/company-data-field-bundles#base) | |
| [`founded`](/docs/company-schema#founded) | `Integer (> 0)` | The self-reported founding year of the company | T | [Base](/docs/company-data-field-bundles#base) | |
| [`funding_details`](/docs/company-schema#funding_details) | `Array [Object]` | Array of all funding events associated with the company, with corresponding details | T | [Funding Details](/docs/company-data-field-bundles#funding-details) | |
| [`funding_details.funding_currency`](/docs/company-schema#funding_details) | [`Enum (String)`](/docs/currency-codes) | The currency code for the `funding_raised` value | T | [Funding Details](/docs/company-data-field-bundles#funding-details) | |
| [`funding_details.funding_raised`](/docs/company-schema#funding_details) | `Float (> 0)` | The total amount raised during the funding event | T | [Funding Details](/docs/company-data-field-bundles#funding-details) | |
| [`funding_details.funding_round_date`](/docs/company-schema#funding_details) | [`String (Date)`](/docs/data-types#dates) | The publicly disclosed date of the closing of the financing event | T | [Funding Details](/docs/company-data-field-bundles#funding-details) | |
| [`funding_details.funding_type`](/docs/company-schema#funding_details) | [`Enum (String)`](/docs/funding-rounds) | The funding stage of the funding event | T | [Funding Details](/docs/company-data-field-bundles#funding-details) | |
| [`funding_details.investing_companies`](/docs/company-schema#funding_details) | `Array [String]` | The [PDL Company IDs](/docs/company-schema#id) of the investing companies participating in the funding event | T | [Funding Details](/docs/company-data-field-bundles#funding-details) | |
| [`funding_details.investing_companies_details`](/docs/company-schema#funding_details) | `Array [Object]` | Object containing all associated companies participating in the funding event | T | [Funding Details](/docs/company-data-field-bundles#funding-details) | |
|
[`funding_details.investing_companies_details.` `investing_company_display_name`](/docs/company-schema#funding_details) |
`String` | The displayable names of investing companies participating in the funding event | T | [Funding Details](/docs/company-data-field-bundles#funding-details) | |
|
[`funding_details.investing_companies_details.` `investing_company_id`](/docs/company-schema#funding_details) |
`String` | The PDL IDs of investing companies participating in the funding event | T | [Funding Details](/docs/company-data-field-bundles#funding-details) | |
| [`funding_details.investing_individuals`](/docs/company-schema#funding_details) | `Array [String]` | Name strings of any separate investing individuals that participated in the funding event | T | [Funding Details](/docs/company-data-field-bundles#funding-details) | |
| [`funding_stages`](/docs/company-schema#funding_stages) | [`Array [Enum (String)]`](/docs/funding-rounds) | All disclosed funding stages for the company | T | [Base](/docs/company-data-field-bundles#base) | |
| [`gross_additions_by_month`](/docs/company-schema#gross_additions_by_month) | `Object` | The total number of employees that joined the company each month | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`gross_departures_by_month`](/docs/company-schema#gross_departures_by_month) | `Object` | The total number of employees that left the company each month | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`headline`](/docs/company-schema#headline) | `String` | The company’s headline summary | T | [Base](/docs/company-data-field-bundles#base) | |
| [`id`](/docs/company-schema#id) | `String` | The identifier for the company | T | [Base](/docs/company-data-field-bundles#base) | |
| [`immediate_parent`](/docs/company-schema#immediate_parent) | `String` | The ID of the company that directly owns the queried company | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`industry`](/docs/company-schema#industry) | [`Enum (String)`](/docs/industries) | The self-reported industry of the company | T | [Base](/docs/company-data-field-bundles#base) | |
| [`inferred_revenue`](/docs/company-schema#inferred_revenue) | [`Enum (String)`](/docs/inferred-revenue-ranges) | Company's estimated annual revenue in US dollars (\$) | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`last_funding_date`](/docs/company-schema#last_funding_date) | [`String (Date)`](/docs/data-types#dates) | The date of the company’s most recent funding event | T | [Base](/docs/company-data-field-bundles#base) | |
| [`latest_funding_stage`](/docs/company-schema#latest_funding_stage) | [`Enum (String)`](/docs/funding-rounds) | The stage of the company’s most recent funding event | T | [Base](/docs/company-data-field-bundles#base) | |
| [`linkedin_follower_count` ](/docs/company-schema#linkedin_follower_count) | `Integer (>= 0)` | The number of followers on a company’s LinkedIn profile | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`linkedin_id`](/docs/company-schema#linkedin_id) | `String` | The main LinkedIn profile ID for the company | T | [Base](/docs/company-data-field-bundles#base) | |
| [`linkedin_slug`](/docs/company-schema#linkedin_slug) | `String` | The company-specific name/text directly from its LinkedIn URL | T | [Base](/docs/company-data-field-bundles#base) | |
| [`linkedin_url`](/docs/company-schema#linkedin_url) | `String` | The main LinkedIn profile URL for the company based on source agreement | T | [Base](/docs/company-data-field-bundles#base) | |
| [`location`](/docs/company-schema#location) | `Object` | The location of the company's headquarters | [Base](/docs/company-data-field-bundles#base) | ||
| [`location.address_line_2`](/docs/company-schema#location) | `String` | The street address line 2 of the company HQ address | T | [Base](/docs/company-data-field-bundles#base) | |
| [`location.continent`](/docs/company-schema#location) | [`Enum (String)`](/docs/location-continents) | The continent of the company HQ | T | [Base](/docs/company-data-field-bundles#base) | |
| [`location.country`](/docs/company-schema#location) | [`Enum (String)`](/docs/location-countries) | The country of company HQ | T | [Base](/docs/company-data-field-bundles#base) | |
| [`location.geo`](/docs/company-schema#location) | `String` | City-center geo code of the company HQ, in the format "latitude, longitude" | T | [Base](/docs/company-data-field-bundles#base) | |
| [`location.locality`](/docs/company-schema#location) | `String` | The locality the company HQ is in | T | [Base](/docs/company-data-field-bundles#base) | |
| [`location.metro`](/docs/company-schema#location) | [`Enum (String)`](/docs/location-metros) | The metro area of company HQ | T | [Base](/docs/company-data-field-bundles#base) | |
| [`location.name`](/docs/company-schema#location) | `String` | Our cleaned values for the company HQ location in the format "locality, region, country" | T | [Base](/docs/company-data-field-bundles#base) | |
| [`location.postal_code`](/docs/company-schema#location) | `String` | The postal code of the company HQ address | T | [Base](/docs/company-data-field-bundles#base) | |
| [`location.region`](/docs/company-schema#location) | `String` | The region of company HQ | T | [Base](/docs/company-data-field-bundles#base) | |
| [`location.street_address`](/docs/company-schema#location) | `String` | The street address of the company HQ | T | [Base](/docs/company-data-field-bundles#base) | |
| [`locations`](/docs/company-schema#locations) | `Object` | An object containing increasingly granular information about all locations associated to the company. | [Location Details](/docs/company-data-field-bundles#location-details) | ||
| [`locations.address_line_2`](/docs/company-schema#locations) | `String` | The street address line 2 for the given company location. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.continent`](/docs/company-schema#locations) | [`Enum (String)`](/docs/location-continents) | The canonical continent for the given company location. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.country`](/docs/company-schema#locations) | [`Enum (String)`](/docs/location-countries) | The canonical country for the given company location. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.first_seen`](/docs/company-schema#locations) | `String` | The date that this location was first observed in association with the company record. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.last_seen`](/docs/company-schema#locations) | `String` | The date that this location was last observed in association with the company record. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.geo`](/docs/company-schema#locations) | `String` | The city-center geographic coordinates for the given company location. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.is_active`](/docs/company-schema#locations) | `Boolean` | Whether this location was active (“true”) or inactive (“false”). | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.is_primary`](/docs/company-schema#locations) | `Boolean` | Whether this is the primary HQ location for the company or not. If true, this location will be used to populate the location fields. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.locality`](/docs/company-schema#locations) | `String` | The canonical locality for the given company location. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.metro`](/docs/company-schema#locations) | [`Enum (String)`](/docs/location-metros) | The canonical metro for the given company location. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.name`](/docs/company-schema#locations) | `String` | The canonical location name for the given location. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.postal_code`](/docs/company-schema#locations) | `String` | The postal code for the given company location. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.region`](/docs/company-schema#locations) | `String` | The canonical region for the given company location. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`locations.street_address`](/docs/company-schema#locations) | `String` | The street address for the given company location. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`median_employee_tenure`](/docs/company-schema#median_employee_tenure) | `Float (>=0)` | The median number of years that employees have worked at the company. | T | [Premium](/docs/company-data-field-bundles#premium) | |
| `median_tenure_by_level` | `Object` | The median number of years that employees have worked at the company, broken out by [job title levels](/docs/job-title-levels). | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`median_tenure_by_role`](/docs/company-schema#median_tenure_by_role) | `Object` | The median number of years that employees have worked at the company, broken out by [job title role](/docs/job-title-roles). | T | [Premium](/docs/company-data-field-bundles#premium) | |
| [`mic_exchange`](/docs/company-schema#mic_exchange) | [`Enum (String)`](/docs/mic-codes) | The MIC code representing the stock exchange of the company's primary ticker | T | [Base](/docs/company-data-field-bundles#base) | |
| [`naics`](/docs/company-schema#naics) | `Array [Object]` | An array containing the company's self-reported NAICS the industry classifications | T | [Base](/docs/company-data-field-bundles#base) | |
| [`naics.industry_group`](/docs/company-schema#naics) | `String` | The industry classification according to the first four digits in the NAICS code | T | [Base](/docs/company-data-field-bundles#base) | |
| [`naics.naics_code`](/docs/company-schema#naics) | `String` | The NAICS code associated with a company’s industry classification, specific to as many digits available from the self-reported data | T | [Base](/docs/company-data-field-bundles#base) | |
| [`naics.naics_industry`](/docs/company-schema#naics) | `String` | The industry classification according to the first five digits in the NAICS code | T | [Base](/docs/company-data-field-bundles#base) | |
| [`naics.national_industry`](/docs/company-schema#naics) | `String` | The industry classification according to all six digits in the NAICS code | T | [Base](/docs/company-data-field-bundles#base) | |
| [`naics.sector`](/docs/company-schema#naics) | `String` | The industry classification according to the first two digits in the NAICS code | T | [Base](/docs/company-data-field-bundles#base) | |
| [`naics.sub_sector`](/docs/company-schema#naics) | `String` | The industry classification according to the first three digits in the NAICS code | T | [Base](/docs/company-data-field-bundles#base) | |
| [`name`](/docs/company-schema#name) | `String` | The company's primary common name | T | [Base](/docs/company-data-field-bundles#base) | |
| [`num_active_locations`](/docs/company-schema#num_active_locations) | `Integer` | Count of all active locations associated with the company record. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`num_total_locations`](/docs/company-schema#num_total_locations) | `Integer` | Count of distinct, active job postings that existed over the course of the most recent month. | T | [Location Details](/docs/company-data-field-bundles#location-details) | |
| [`number_funding_rounds`](/docs/company-schema#number_funding_rounds) | `Integer (> 0)` | The number of funding rounds announced by the company | T | [Base](/docs/company-data-field-bundles#base) | |
| [`profiles`](/docs/company-schema#profiles) | `Array [String]` | A list of all associated social profile URLs for the company | T | [Base](/docs/company-data-field-bundles#base) | |
| [`recent_exec_departures`](/docs/company-schema#recent_exec_departures) | `Array [Object]` | The profiles of all of CXOs, owners and VPs that have left the company in the prior three months | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`recent_exec_hires`](/docs/company-schema#recent_exec_hires) | `Array [Object]` | The profiles of all of CXOs, owners and VPs that have joined the company in the prior three months | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`sic`](/docs/company-schema#sic) | `Array [Object]` | An array containing the company's self-reported SIC industry classifications, specific to as many digits available from the self-reported data | T | [Base](/docs/company-data-field-bundles#base) | |
| [`sic.industry_group`](/docs/company-schema#sic) | `String` | The industry classification according to the first three digits in the SIC code | T | [Base](/docs/company-data-field-bundles#base) | |
| [`sic.industry_sector`](/docs/company-schema#sic) | `String` | The industry classification according to all four digits in the SIC code | T | [Base](/docs/company-data-field-bundles#base) | |
| [`sic.major_group`](/docs/company-schema#sic) | `String` | The industry classification according to the first two digits in the SIC code | T | [Base](/docs/company-data-field-bundles#base) | |
| [`sic.sic_code`](/docs/company-schema#sic) | `String` | The SIC code associated with a company’s industry classification | T | [Base](/docs/company-data-field-bundles#base) | |
| [`size`](/docs/company-schema#size) | [`Enum (String)`](/docs/company-sizes) | The user-selected size range representing the number of people at the company; may disagree with [`employee_count`](#employee_count) | T | [Base](/docs/company-data-field-bundles#base) | |
| [`summary`](/docs/company-schema#summary) | `String` | A description of the company | T | [Base](/docs/company-data-field-bundles#base) | |
| [`tags`](/docs/company-schema#tags) | `Array [String]` | Tags associated with the company | T | [Base](/docs/company-data-field-bundles#base) | |
| [`technologies_used`](/docs/company-schema#technologies_used) | `Array [Object]` | Fields representing the technologies likely in use by a company, along with information on the underlying signals of that use. | T | [Technology Data](/docs/company-data-field-bundles#technology-data) | |
| [`technologies_used.product_id`](/docs/company-schema#technologies_used) | `String` | A unique, hashed value that represents a specific technology. | T | T | [Technology Data](/docs/company-data-field-bundles#technology-data) |
| [`technologies_used.name`](/docs/company-schema#technologies_used) | `String` | The canonical name for the represented technology. | T | T | [Technology Data](/docs/company-data-field-bundles#technology-data) |
| [`technologies_used.num_job_posting_mentions`](/docs/company-schema#technologies_used) | `Integer` | The total number of mentions of the technology in company job postings. | T | T | [Technology Data](/docs/company-data-field-bundles#technology-data) |
| [`technologies_used.job_posting_first_observed`](/docs/company-schema#technologies_used) | `String (Date)` | The earliest date in which a technology is mentioned in a job posting associated with the company. | T | [Technology Data](/docs/company-data-field-bundles#technology-data) | |
| [`technologies_used.job_posting_last_observed`](/docs/company-schema#technologies_used) | `String (Date)` | The latest of the final observed date (inactive job postings) or most recent data build (active job postings) in which a technology is mentioned in a job posting associated with the company. | T | [Technology Data](/docs/company-data-field-bundles#technology-data) | |
| [`technologies_used.num_resume_mentions`](/docs/company-schema#technologies_used) | `Integer` | The total number of mentions of the technology in resumes. | T | T | [Technology Data](/docs/company-data-field-bundles#technology-data) |
| [`technologies_used.resume_first_observed`](/docs/company-schema#technologies_used) | `String (Date)` | The earliest date in which a technology is mentioned in work experience associated with the company. | T | [Technology Data](/docs/company-data-field-bundles#technology-data) | |
| [`technologies_used.resume_last_observed`](/docs/company-schema#technologies_used) | `String (Date)` | The end date (inactive work experience) or most recent data build (active work experience) in which a technology is mentioned in resume work experience associated with the company. | T | [Technology Data](/docs/company-data-field-bundles#technology-data) | |
| [`technologies_used.inferred_first_used`](/docs/company-schema#technologies_used) | `String (Date)` | A proprietary PDL calculation representing the first point in which the company was most likely to be using a technology. | T | [Technology Data](/docs/company-data-field-bundles#technology-data) | |
| [`technologies_used.inferred_last_used`](/docs/company-schema#technologies_used) | `String (Date)` | A proprietary PDL calculation representing the most recent point in which the company was most likely to be using a technology. | T | [Technology Data](/docs/company-data-field-bundles#technology-data) | |
| [`ticker`](/docs/company-schema#ticker) | `String (Uppercase)` | The company's primary stock ticker (only for public companies) | T | [Base](/docs/company-data-field-bundles#base) | |
| [`top_next_employers`](/docs/company-schema#top_next_employers) | [`Object`](/docs/job-title-roles) | The top ten companies employees moved to, and how many employees moved there, across all time periods | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`top_next_employers_12_month`](/docs/company-schema#top_next_employers_12_month) | `Object` | The top ten next employers, counting only employee changes within the last 12 months | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`top_next_employers_by_role`](/docs/company-schema#top_next_employers_by_role) | [`Object`](/docs/job-title-roles) | (**DEPRECATED**) The top ten companies employees moved to, and how many employees moved there, across all time periods | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`top_previous_employers`](/docs/company-schema#top_previous_employers) | [`Object`](/docs/job-title-roles) | The top ten previous companies employees worked for previously, and how many current employees were previously employed by them, across all time periods | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`top_previous_employers_12_month`](/docs/company-schema#top_previous_employers_12_month) | `Object` | The top ten previous employers, counting only employee changes within the last 12 months | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`top_previous_employers_by_role`](/docs/company-schema#top_previous_employers_by_role) | [`Object`](/docs/job-title-roles) | (**DEPRECATED**) The top ten previous companies employees worked for previously, and how many current employees were previously employed by them, across all time periods | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`top_us_employee_metros`](/docs/company-schema#top_us_employee_metros) | [`Object`](/docs/location-metros) | The top ten US metros where employees are based | T | [Comprehensive](/docs/company-data-field-bundles#comprehensive) | |
| [`total_funding_raised`](/docs/company-schema#total_funding_raised) | `Float (> 0)` | The cumulative amount raised by the company in USD | T | [Base](/docs/company-data-field-bundles#base) | |
| [`twitter_url`](/docs/company-schema#twitter_url) | `String` | The primary Twitter profile URL associated with the record | T | [Base](/docs/company-data-field-bundles#base) | |
| [`type`](/docs/company-schema#type) | [`Enum (String)`](/docs/company-types) | The value from a canonical list describing the companies organizational type/structure | T | [Base](/docs/company-data-field-bundles#base) | |
| [`ultimate_parent`](/docs/company-schema#ultimate_parent) | `String` | The Company ID of the ultimate organizational entity that owns the queried company | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`ultimate_parent_ticker`](/docs/company-schema#ultimate_parent_ticker) | `String` | Stock symbol of the company's ultimate parent, if applicable | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`ultimate_parent_mic_exchange`](/docs/company-schema#ultimate_parent_mic_exchange) | `String` | MIC exchange code of the company's ultimate parent, if applicable | T | T | [Premium](/docs/company-data-field-bundles#premium) |
| [`website`](/docs/company-schema#website) | `String` | The company's primary website | T | [Base](/docs/company-data-field-bundles#base) |
\n\n Note for all engineering roles: With the rise of fake applicants and AI-enabled candidate fraud, we have built in additional measures throughout the process to identify such candidates and remove them.\n \n
\n\n
\n\n\n About Us\n \n
\n\n People Data Labs (PDL) is\n \n\n the provider\n \n\n of people and company data. We do the heavy lifting of data collection and standardization so our customers can focus on building and scaling innovative, compliant data solutions. Our sole focus is on building the best data available by integrating thousands of compliantly sourced datasets into a single, developer-friendly source of truth. Leading companies across the world use PDL\u2019s workforce data to enrich recruiting platforms, power AI models, create custom audiences, and more.\n
\n\n We are looking for individuals who can balance extreme ownership with a \u201cone-team, one-dream\u201d mindset. Our customers are trying to solve complex problems, and we only help them achieve their goals as a team. Our Delivery and API Team ensures our customers have access to standardized and high-quality data to build upon.\n
\n\n You will be crucial in accelerating our efforts to build standalone data products that enable data teams and independent developers to create innovative solutions at massive scale. In this role, you will be working with a team to continuously improve our existing APIs and delivery methods, as well as creating new ones.\n
\n\n If you are looking to be part of a team discovering the next frontier of data-as-a-service (DaaS) with a high level of autonomy and opportunity for direct contributions, this might be the role for you. We like our engineers to be thoughtful, quirky, and willing to fearlessly try new things. Failure is embraced at PDL as long as we continue to learn and grow from it.\n
\n\n
\n\n\n Roles and Responsibilities\n \n
\n\n Drive our self-serve product offerings to bring prospective customers into our products and grow new revenue\n
\n\n Drive the core tools that our customer success team uses to support our customers\n
\n\n Understand and translate our business requirements into the systems that support our core business activities\n
\n\n Proactively work with stakeholders to clarify ambiguities in business operations and system design\n
\n\n Design and update our systems using good design patterns on both frontend and backend, which allow for extensibility and evolution as our business evolves\n
\n\n Ensure the integrity (correctness and accuracy) of data captured around key business activities so that we have a reliable source of truth on our operations\n
\n\n Build and maintain our frontend components, design, and architecture\n
\n\n Ensure the quality and reliability of frontend surfaces presented to users and the accuracy and effectiveness of the application stack supporting those surfaces\n
\n
\n\n Technical Requirements\n \n
\n\n\n 5-7+ years\n \n of industry experience with clear examples of strategic technical problem-solving and implementation\n
\n\n Strong software development fundamentals\n
\n\n Experience working in systems where you\u2019ve had to engage with existing implementation patterns and evolve them over time\n
\n
\n\n Backend Expertise\n \n
\n\n\n 4+ years\n \n of experience with\n \n Python\n \n in a production environment\n
\n\n\n REST API design\n \n and\n \n backends\n \n such as Node.js, Django, FastAPI, Flask, Rails or similar (note: we are a Python shop primarily)\n
\n\n\n SQL\n \n and\n \n SQL stores\n \n , such as PostgreSQL, MySQL or similar\n
\n
\n\n Frontend Expertise\n \n
\n\n\n 3+ years\n \n of experience with\n \n React.js\n \n with\n \n Typescript\n \n
\n\n Experience with\n \n Next.js\n \n (or other React.js frontend frameworks)\n
\n\n Experience with\n \n Vercel\n \n (Nice to have)\n
\n\n Experience with frontend\n \n testing frameworks\n \n and practices\n
\n\n High attention to detail coupled with a strong understanding of\n \n CSS\n \n fundamentals; experience using\n \n Tailwind CSS\n \n
\n\n Experience\n \n refining designs with UI/UX designers\n \n and while meaningfully contributing to the design and asserting a customer-centric perspective\n
\n\n Experience building and maintaining a\n \n UI component library\n \n
\n\n Experience working with\n \n Figma\n \n or similar UX design tools\n
\n\n Experience with page-load and interaction performance\n
\n\n
\n\n\n Professional Requirements\n \n
\n\n Must thrive in a fast-paced environment and be able to work independently\n
\n\n It\u2019s no sweat to scope, breakdown, and estimate projects effectively with a solid track record of delivery\n
\n\n You communicate progress and blockers effectively with your manager, team, and stakeholders\n
\n\n Strong written communication skills on Slack/Chat and in documents\n
\n\n You collaborate well across engineering, design, and product management\n
\n\n Experienced in writing technical design docs and translating technical design documents into projects, milestones, and backlogs\n
\n\n Experience mentoring and developing engineers\n
\n\n Ensure and develop solid code quality and development practices and standards within the team\n
\n
\n\n Our Benefits\n \n
\n\n Stock\n
\n\n Competitive Salaries\n
\n\n Unlimited paid time off\n
\n\n Medical, dental, & vision insurance\n
\n\n Health, fitness, and office stipends\n
\n\n The permanent ability to work wherever and however you want\n
\n\n Comp: $160K - $180K depending on experience level\n
\n
\n\n Why People Data Labs?\n \n
\n\n Great People make great teams. It is as simple and elegant as that. We believe in building highly functional, energetic, and engaging teams to serve our customers. People, Customers, Shareholders, in that order, sets us up for success and delivering on our promises.\n
\n\n If all of that sounds good to you, we can\u2019t wait to hear from you and build something amazing together!\n
\n\n Check out our latest company kickoff video to get a taste of our company culture\n
\n\n No C2C, 1099, or Contract-to-Hire. Recruiters need not apply.\n
\n\n People Data Labs does not discriminate on the basis of race, sex, color, religion, age, national origin, marital status, disability, veteran status, genetic information, sexual orientation, gender identity or any other reason prohibited by law in provision of employment opportunities and benefits.\n
\n\n #LI-Remote\n
\n\n\n Personal Privacy Policy for California Residents\n \n
\n\n\n\n https://www.peopledatalabs.com/pdf/privacy-policy-and-notice.pdf\n \n\n
\n\n
\nJob Title Levels Hierarchy from "least important" to "most important":
Autocomplete field Value |
Corresponding Person Fields |
|---|---|
|
Variable based on the type of location returned (see |
|
|
|
|
|
• |
|
• |
|
• |
|
• |
|
|
|
• |
|
|
|
|
|
|
|
• |
|
|
|
| Parameter Name | Required | Description | Example |
|---|---|---|---|
| `api_key` | No\* | Your secret API key. While we do not require this as part of the request parameters, if you don't provide it here, then you must provide it in an alternative way, such as by using the `x-api-key` field in the headers. For more information, see the [Authentication](/docs/authentication) page. |
| Parameter Name | Required | Description | Example |
|---|---|---|---|
| `api_key` | No\* | Your secret API key. While we do not require this as part of the request parameters, if you don't provide it here, then you must provide it in an alternative way, such as by using the `x-api-key` field in the headers. For more information, see the [Authentication](/docs/authentication) page. |
| Parameter Name | Required | Description | Example |
|---|---|---|---|
| `api_key` | No\* | Your secret API key. While we do not require this as part of the request parameters, if you don't provide it here, then you must provide it in an alternative way, such as by using the `x-api-key` field in the headers. For more information, see the [Authentication](/docs/authentication) page. |
| Type | Description | Default | Example |
|---|---|---|---|
| `String` | Specifies the type of changelog to return. This field is required when not submitting a list of ids (via the `ids` field). Supported values: `added`, `deleted`, `updated`, `merged`, `opted_out` | `added` |
| Type | Description | Default | Example |
|---|---|---|---|
| `Array [String]` | List of person IDs to query changes for.\ Minimum length: 1\ Maximum length: 60,000 | `["123", "qEnOZ5Oh0poWnQ1luFBfVw_0000", "345", "678", "000", "111"]` |
Join us in bringing joy to customer experience. Five9 is a leading provider of cloud contact center software, bringing the power of cloud innovation to customers worldwide.
Living our values everyday results in our team-first culture and enables us to innovate, grow, and thrive while enjoying the journey together. We celebrate diversity and foster an inclusive environment, empowering our employees to be their authentic selves.
The Channel Sales Strategy & Program Manager will work closely with global channel leaders, partners, and sales to drive revenue growth and optimize Five9’s Next Level Partnership Programs. This role is responsible for maximizing business impact, streamlining processes, and ensuring both customer and partner growth.
Key Responsibilities:
Sales & Strategy Development:
Program Management:
Performance Monitoring:
Asset Allocation:
Communication and Alignment:
Revenue Operations:
Qualifications:
Education:
Experience:
Competencies:
Work Location: This role is fully remote for candidates who reside outside the 50 mile radius of our San Ramon office. For candidates who reside within 50 miles of our San Ramon location, this role is Hybrid and would require 3 days a week (M, W, TH) in our San Ramon office.
As part of our continued commitment to diversity, equity, and inclusion, Five9 supports pay transparency during the entire recruitment process. Actual compensation packages are based on several factors that are unique to each candidate including, but not limited to: skill set, depth of experience, certifications, and specific work location. The range displayed reflects the minimum and maximum target for new hire salaries for the job across the United States. Your recruiter can share more about the specific compensation package during your hiring process.
Additionally, the total compensation package for this position may also include an annual performance bonus, stock, and/or other applicable incentive compensation plans.
Our total reward package also includes:
All compensation and benefits are subject to the requirements and restrictions set forth in the applicable plan documents and any written agreements between the parties.
Five9 embraces diversity and is committed to building a team that represents a variety of backgrounds, perspectives, and skills. The more inclusive we are, the better we are. Five9 is an equal opportunity employer.
Our headquarters are located in the San Francisco Bay Area with global hubs in the United Kingdom, Germany, Philippines, Portugal, and Australia.
View our privacy policy, including our privacy notice to California residents here: https://www.five9.com/pt-pt/legal.
Note: Five9 will never request that an applicant send money as a prerequisite for commencing employment with Five9.
| Type | Description |
|---|---|
| `Array (Object)` | The list of suggestions that the Autocomplete API has returned. It sorts results in descending order based on `data.count`. The [`size` input parameter](/docs/input-parameters-autocomplete-api#size) determines the size of the list. |
| Type | Description |
|---|---|
| `Integer` | How confident we are that the returned profile is the same as the company you requested. Will be an integer between `1` and `10`. You can control the minimum likelihood score that a response must have in order to count as a match by setting the [`min_likelihood` parameter](/docs/input-parameters-company-enrichment-api#min_likelihood) in the API request. |
| Type | Description |
|---|---|
| `Array (String)` |
Every query input from the request that matched this profile.
**IMPORTANT:** This field will only be included in the response if the [`include_if_matched` flag](/docs/input-parameters-company-enrichment-api#include_if_matched) is set to `true`. |
| Type | Description |
|---|---|
| `Integer` | How confident we are that the returned profile is the same as the person you requested. Will be an integer between `1` and `10`. You can control the minimum likelihood score that a response must have in order to count as a match by setting the [`min_likelihood` parameter](/docs/input-parameters-person-enrichment-api#min_likelihood) in the API request. |
| Type | Description |
|---|---|
| `Array (String)` |
Every query input from the request that matched this profile.
**IMPORTANT:** This field will only be included in the response if the [`include_if_matched` flag](/docs/input-parameters-person-enrichment-api#include_if_matched) is set to `true`. |
| Type | Description |
|---|---|
| `Array (String)` |
Which fields in the input query match the results in the returned profile.
**IMPORTANT:** This field will only be included in the response if the [`include_if_matched` flag](/docs/input-parameters-person-identify-api#include_if_matched) is set to `true`. |
| Field | Type | Short Description | Requires add-on | Searchable | Bundle |
|---|---|---|---|---|---|
| [`activity_score`](/docs/fields#activity_score) | `String` | A PDL-generated signal indicating how likely a profile is to be actively maintained | T | [Base](/docs/person-data-field-bundles#base) | |
| [`activity_score_factors`](/docs/fields#activity_score_factors) | `Object` | Supporting factors used to generate `activity_score` | T | [PDL Score Factors](/docs/person-data-field-bundles#pdl-score-factors) | |
| [`activity_score_factors.connection_change`](/docs/fields#activity_score_factorsconnection_change) | `Float` | A signal indicating whether PDL has observed changes in the profile's LinkedIn connection count | T | T | [PDL Score Factors](/docs/person-data-field-bundles#pdl-score-factors) |
| [`activity_score_factors.profile_change`](/docs/fields#activity_score_factorsprofile_change) | `Integer` | A signal indicating whether PDL has observed user-edited profile changes recently | T | T | [PDL Score Factors](/docs/person-data-field-bundles#pdl-score-factors) |
| [`activity_score_factors.months_since_last_end_resume`](/docs/fields#activity_score_factorsmonths_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 | T | T | [PDL Score Factors](/docs/person-data-field-bundles#pdl-score-factors) |
| [`birth_date`](/docs/fields#birth_date) | [`String (Date)`](/docs/data-types#dates) | The day the person was born | T | [Base](/docs/person-data-field-bundles#base) | |
| [`birth_year`](/docs/fields#birth_year) | `Integer` | The year the person was born | T | [Base](/docs/person-data-field-bundles#base) | |
| [`certifications`](/docs/fields#certifications) | `Array [Object]` | Any certifications the person has | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`certifications.end_date`](/docs/fields#certifications) | [`String (Date)`](/docs/data-types#dates) | The expiration date of the certification | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`certifications.name`](/docs/fields#certifications) | `String` | Certification name | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`certifications.organization`](/docs/fields#certifications) | `String` | The organization awarding the certification | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`certifications.start_date`](/docs/fields#certifications) | [`String (Date)`](/docs/data-types#dates) | The date the certification was awarded | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`countries`](/docs/fields#countries) | [`Array [Enum (String)]`](/docs/location-countries) | All countries associated with the person | T | [Base](/docs/person-data-field-bundles#base) | |
| [`dataset_version`](/docs/fields#dataset_version) | `String` | The major or minor release number. | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education`](/docs/fields#education-1) | `Array [Object]` | The person's education information | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.degrees`](/docs/fields#education-1) | [`Array [Enum (String)]`](/docs/education-degrees) | The degrees the person earned at the school | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.end_date`](/docs/fields#education-1) | [`String (Date)`](/docs/data-types#dates) | The date the person left the school | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.gpa`](/docs/fields#education-1) | `Float` | The GPA the person earned at the school | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.majors`](/docs/fields#education-1) | [`Array [Enum (String)]`](/docs/education-majors) | All majors the person earned at the school | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.minors`](/docs/fields#education-1) | [`Array [Enum (String)]`](/docs/education-majors) | All minors the person earned at the school | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.raw`](/docs/fields#education-1) | `String` | Raw education data | T | [Raw Fields](/docs/person-data-field-bundles#raw-fields) | |
| [`education.school`](/docs/fields#educationschool) | `Object` | The school the person attended | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.domain`](/docs/fields#educationschool) | `String` | The primary website domain associated with the school | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.facebook_url`](/docs/fields#educationschool) | `String` | The school's Facebook URL | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.id`](/docs/fields#educationschool) | `String` | The non-persistent ID for the school in our records | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.linkedin_id`](/docs/fields#educationschool) | `String` | The school's LinkedIn ID | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.location`](/docs/fields#educationschool) | `Object` | The location of the school | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.location.continent`](/docs/fields#educationschool) | [`Enum (String)`](/docs/location-continents) | The continent the school is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.location.country`](/docs/fields#educationschool) | [`Enum (String)`](/docs/location-countries) | The country the school is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.location.locality`](/docs/fields#educationschool) | `String` | The locality the school is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.location.name`](/docs/fields#educationschool) | `String` | Our cleaned values for the school location in the format "locality, region, country" | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.location.region`](/docs/fields#educationschool) | `String` | The region the school is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.name`](/docs/fields#educationschool) | `String` | The name of the school | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.raw`](/docs/fields#educationschool) | `String` | Raw school name | T | T | [Raw Fields](/docs/person-data-field-bundles#raw-fields) |
| [`education.school.twitter_url`](/docs/fields#educationschool) | `String` | The school's Twitter URL | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.type`](/docs/fields#educationschool) | [`Enum (String)`](/docs/education-school-types) | The school type | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.school.website`](/docs/fields#educationschool) | `String` | The website URL associated with the school | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.start_date`](/docs/fields#education-1) | [`String (Date)`](/docs/data-types#dates) | The date the person started at the school | T | [Base](/docs/person-data-field-bundles#base) | |
| [`education.summary`](/docs/fields#education-1) | `String` | User-inputted summary of their education | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) | |
| [`emails`](/docs/fields#emails) | `Array [Object]` | Email addresses associated with the person ⚠️ **Note** This array contains historical email addresses and should **not** directly be used for email outreach. [Recommended Alternatives](/docs/email-data-for-outreach) | T | [Base](/docs/person-data-field-bundles#base) | |
| [`emails.address`](/docs/fields#emails) | `String` | The fully parsed email address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`emails.first_seen`](/docs/fields#emails) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was first associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`emails.last_seen`](/docs/fields#emails) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was last associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`emails.md5_hash`](/docs/fields#emails) | `String` | A 128-bit hash of an email in md5 format. | T | [Email Hashes](/docs/person-data-field-bundles#email_hash) | |
| [`emails.num_sources`](/docs/fields#emails) | `Integer (> 0)` | The number of sources that have contributed to the association of this entity with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`emails.sha_256_hash`](/docs/fields#emails) | `String` | A 256-bit hash of an email in sha256 format. | T | [Email Hashes](/docs/person-data-field-bundles#email_hash) | |
| [`emails.type`](/docs/fields#emails) | [`Enum (String)`](/docs/email-types) | The type of email | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience`](/docs/fields#experience) | `Array [Object]` | The person's work experience | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company`](/docs/fields#experiencecompany) | `Object` | The company where the person worked | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.facebook_url`](/docs/fields#experiencecompany) | `String` | The company's Facebook URL | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.founded`](/docs/fields#experiencecompany) | `Integer (> 0)` | The founding year of the company | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.id`](/docs/fields#experiencecompany) | `String` | The company's PDL ID | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.industry`](/docs/fields#experiencecompany) | [`Enum (String)`](/docs/industries) | The self-identified industry of the company | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.industry_v2`](/docs/fields#experiencecompany) | [`Enum (String)`](/docs/industries-v2) | The self-identified V2 industry of the company | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.linkedin_id`](/docs/fields#experiencecompany) | `String` | The company's LinkedIn ID | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.linkedin_url`](/docs/fields#experiencecompany) | `String` | The company's LinkedIn URL | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.location`](/docs/fields#experiencecompany) | `Object` | The location of the company's headquarters | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.location.address_line_2`](/docs/fields#experiencecompany) | `String` | The street address line 2 of the company HQ address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.location.continent`](/docs/fields#experiencecompany) | [`Enum (String)`](/docs/location-continents) | The continent the company HQ is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.location.country`](/docs/fields#experiencecompany) | [`Enum (String)`](/docs/location-countries) | The country the company HQ is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.location.geo`](/docs/fields#experiencecompany) | `String` | City-center geo code of the company HQ, in the format "latitude, longitude" | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.location.locality`](/docs/fields#experiencecompany) | `String` | The locality the company HQ is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.location.metro`](/docs/fields#experiencecompany) | [`Enum (String)`](/docs/location-metros) | The metro area the company HQ is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.location.name`](/docs/fields#experiencecompany) | `String` | Our cleaned values for the company HQ location in the format "locality, region, country" | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.location.postal_code`](/docs/fields#experiencecompany) | `String` | The postal code of the company HQ address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.location.region`](/docs/fields#experiencecompany) | `String` | The region the company HQ is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.location.street_address`](/docs/fields#experiencecompany) | `String` | The street address of the company HQ | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.name`](/docs/fields#experiencecompany) | `String` | The company name, cleaned and standardized | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.raw`](/docs/fields#experiencecompany) | `String` | Raw company name | T | T | [Raw Fields](/docs/person-data-field-bundles#raw-fields) |
| [`experience.company.size`](/docs/fields#experiencecompany) | [`Enum (String)`](/docs/company-sizes) | The self-reported company size range | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.ticker`](/docs/fields#experiencecompany) | `String` | The company ticker | T | T | [Ticker Information](/docs/person-data-field-bundles#ticker-information) |
| [`experience.company.twitter_url`](/docs/fields#experiencecompany) | `String` | The company's Twitter URL | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.company.type`](/docs/fields#experiencecompany) | [`Enum (String)`](/docs/company-types) | The company type | T | T | [Ticker Information](/docs/person-data-field-bundles#ticker-information) |
| [`experience.company.website`](/docs/fields#experiencecompany) | `String` | The company's primary website, cleaned and standardized | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.end_date`](/docs/fields#experience) | [`String (Date)`](/docs/data-types#dates) | The date the person left the company | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.first_seen`](/docs/fields#experience) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was first associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`experience.is_primary`](/docs/fields#experience) | `Boolean` | Whether this is the person's current job or not | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.last_seen`](/docs/fields#experience) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was last associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`experience.location_names`](/docs/fields#experience) | `Array [String]` | Locations where the person has worked while with this company | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.num_sources`](/docs/fields#experience) | `Integer (> 0)` | The number of sources that have contributed to the association of this entity with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`experience.start_date`](/docs/fields#experience) | [`String (Date)`](/docs/data-types#dates) | The date the person started at the company | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.summary`](/docs/fields#experience) | `String` | User-inputted summary of their work experience | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`experience.title`](/docs/fields#experiencetitle) | `Object` | The person's job title while at the company | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.title.levels`](/docs/fields#experiencetitle) | [`Array [Enum (String)]`](/docs/job-title-levels) | The level(s) of the job title | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.title.name`](/docs/fields#experiencetitle) | `String` | The cleaned job title | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.title.raw`](/docs/fields#experiencetitle) | `String` | Raw job title input | T | T | [Raw Fields](/docs/person-data-field-bundles#raw-fields) |
| [`experience.title.role`](/docs/fields#experiencetitle) | [`Enum (String)`](/docs/job-title-roles) | One of the Canonical Job Roles | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.title.sub_role`](/docs/fields#experiencetitle) | [`Enum (String)`](/docs/job-title-subroles) | One of the Canonical Job Sub Roles | T | [Base](/docs/person-data-field-bundles#base) | |
| [`experience.title.class`](/docs/fields#experiencetitle) | [`Enum (String)`](/docs/job-title-class) | The expense line item category this employee would fall into | T | [Base](/docs/person-data-field-bundles#base) | |
| [`facebook_friends`](/docs/fields#facebook_friends) | `Integer (>= 0)` | The number of Facebook friends the person has | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`facebook_id`](/docs/fields#facebook_id) | `String` | The person's Facebook profile ID based on source agreement | T | [Base](/docs/person-data-field-bundles#base) | |
| [`facebook_url`](/docs/fields#facebook_url) | `String` | The person's Facebook profile URL based on source agreement | T | [Base](/docs/person-data-field-bundles#base) | |
| [`facebook_username`](/docs/fields#facebook_username) | `String` | The person's Facebook profile username based on source agreement | T | [Base](/docs/person-data-field-bundles#base) | |
| [`first_name`](/docs/fields#first_name) | `String` | The person's first name | T | [Base](/docs/person-data-field-bundles#base) | |
| [`first_seen`](/docs/fields#first_seen) | [`String (Date)`](/docs/data-types#dates) | The date when this record was first created in our data | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`full_name`](/docs/fields#full_name) | `String` | The person's full name | T | [Base](/docs/person-data-field-bundles#base) | |
| [`sex`](/docs/fields#sex) | [`Enum (String)`](/docs/genders) | The person's sex | T | [Base](/docs/person-data-field-bundles#base) | |
| [`github_url`](/docs/fields#github_url) | `String` | The person's GitHub profile URL based on source agreement | T | [Base](/docs/person-data-field-bundles#base) | |
| [`github_username`](/docs/fields#github_username) | `String` | The person's GitHub profile username based on source agreement | T | [Base](/docs/person-data-field-bundles#base) | |
| [`headline`](/docs/fields#headline) | `String` | The brief headline associated with a person profile. | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`id`](/docs/fields#id) | `String` | A unique persistent identifier for the person | T | [Base](/docs/person-data-field-bundles#base) | |
| [`industry`](/docs/fields#industry) | [`Enum (String)`](/docs/industries) | The most relevant industry for this person based on their work history | T | [Base](/docs/person-data-field-bundles#base) | |
| [`inferred_salary`](/docs/fields#inferred_salary) | [`Enum (String)`](/docs/inferred-salaries) | The inferred salary range (USD) for the person's current job | T | T | [Inferred Salary](/docs/person-data-field-bundles#inferred-salary) |
| [`inferred_years_experience`](/docs/fields#inferred_years_experience) | `Integer (0 - 100)` | The person's inferred years of total work experience | T | T | Inferred Years Experience |
| [`interests`](/docs/fields#interests) | `Array [String]` | The person's self-reported interests | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_12mo_employee_growth_rate`](/docs/fields#job_company_12mo_employee_growth_rate) | `Float` | The person’s current company’s percentage increase in total headcount over the past twelve months. | T | T | [Premium Company Attributes](/docs/person-data-field-bundles#premium-company-attributes) |
| [`job_company_employee_count`](/docs/fields#job_company_employee_count) | `Integer (>= 0)` | The total number of PDL profiles associated with the person’s current company. | T | T | [Premium Company Attributes](/docs/person-data-field-bundles#premium-company-attributes) |
| [`job_company_facebook_url`](/docs/fields#job_company_facebook_url) | `String` | The person's current company's Facebook URL | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_founded`](/docs/fields#job_company_founded) | `Integer (> 0)` | The person's current company's founding year | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_id`](/docs/fields#job_company_id) | `String` | The person's current company's PDL ID | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_industry`](/docs/fields#job_company_industry) | [`Enum (String)`](/docs/industries) | The person's current company's industry | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_industry_v2`](/docs/fields#job_company_industry_v2) | [`Enum (String)`](/docs/industries-v2) | The v2 industry for the person’s current company. | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_inferred_revenue`](/docs/fields#job_company_inferred_revenue) | [`Enum (String)`](/docs/inferred-revenue-ranges) | The estimated annual revenue range in USD of the person’s current company. | T | T | [Premium Company Attributes](/docs/person-data-field-bundles#premium-company-attributes) |
| [`job_company_linkedin_id`](/docs/fields#job_company_linkedin_id) | `String` | The person's current company's LinkedIn ID | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_linkedin_url`](/docs/fields#job_company_linkedin_url) | `String` | The person's current company's LinkedIn URL | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_location_address_line_2`](/docs/fields#job_company_location_address_line_2) | `String` | The person's current company's headquarters' street address line 2 | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_location_continent`](/docs/fields#job_company_location_continent) | [`Enum (String)`](/docs/location-continents) | The person's current company's headquarters' continent | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_location_country`](/docs/fields#job_company_location_country) | [`Enum (String)`](/docs/location-countries) | The person's current company's headquarters' country | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_location_geo`](/docs/fields#job_company_location_geo) | `String` | The person's current company's headquarters' city-center geographic coordinates | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_location_locality`](/docs/fields#job_company_location_locality) | `String` | The person's current company's headquarters' locality | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_location_metro`](/docs/fields#job_company_location_metro) | [`Enum (String)`](/docs/location-metros) | The person's current company's headquarters' metro area | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_location_name`](/docs/fields#job_company_location_name) | `String` | The person's current company's headquarters' location name | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_location_postal_code`](/docs/fields#job_company_location_postal_code) | `String` | The person's current company's headquarters' postal code | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_location_region`](/docs/fields#job_company_location_region) | `String` | The person's current company's headquarters' region | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_location_street_address`](/docs/fields#job_company_location_street_address) | `String` | The person's current company's headquarters' street address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_name`](/docs/fields#job_company_name) | `String` | The person's current company's name | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_size`](/docs/fields#job_company_size) | [`Enum (String)`](/docs/company-sizes) | The person's current company's size range | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_ticker`](/docs/fields#job_company_ticker) | `String` | The company ticker for the person's current job | T | T | [Ticker Information](/docs/person-data-field-bundles#ticker-information) |
| [`job_company_total_funding_raised`](/docs/fields#job_company_total_funding_raised) | `Integer (> 0)` | The cumulative amount of money raised in USD by the person’s current company during all publicly disclosed funding rounds. | T | T | [Premium Company Attributes](/docs/person-data-field-bundles#premium-company-attributes) |
| [`job_company_twitter_url`](/docs/fields#job_company_twitter_url) | `String` | The person's current company's Twitter URL | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_company_type`](/docs/fields#job_company_type) | [`Enum (String)`](/docs/company-types) | The company type for the person's current job | T | T | [Ticker Information](/docs/person-data-field-bundles#ticker-information) |
| [`job_company_website`](/docs/fields#job_company_website) | `String` | The person's current company's website | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_history`](/docs/fields#job_history) | `Array [Object]` | Additional professional positions that may have been removed or changed on resumes | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`job_history.company_id`](/docs/fields#job_history) | `String` | PDL Company ID | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`job_history.company_name`](/docs/fields#job_history) | `String` | Company name | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`job_history.first_seen`](/docs/fields#job_history) | [`String (Date)`](/docs/data-types#dates) | The date that this experience was first associated with this record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`job_history.last_seen`](/docs/fields#job_history) | [`String (Date)`](/docs/data-types#dates) | The date that this experience was last associated with this record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`job_history.num_sources`](/docs/fields#job_history) | `Integer (> 0)` | The number of sources that have contributed to the association of this profile with this record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`job_history.title`](/docs/fields#job_history) | `String` | Job Title | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`job_last_changed`](/docs/fields#job_last_changed) | [`String (Date)`](/docs/data-types#dates) | The timestamp that reflects when the top-level job information changed. | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_last_verified`](/docs/fields#job_last_verified) | [`String (Date)`](/docs/data-types#dates) | The timestamp that reflects when the top level job information was last validated by a data source. | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_onet_code`](/docs/fields#job_onet_code) | `String` | The 8-digit [O\*NET code](/docs/onet-field-overview#the-onet-code) for the person’s current job title | T | T | [O\*Net Fields](/docs/person-data-field-bundles#onet-fields) |
| [`job_onet_major_group`](/docs/fields#job_onet_major_group) | `String` | The [O\*NET Major Group](/docs/onet-field-overview#taxonomy-structure) associated with the person’s current job title | T | T | [O\*Net Fields](/docs/person-data-field-bundles#onet-fields) |
| [`job_onet_minor_group`](/docs/fields#job_onet_minor_group) | `String` | The [O\*NET Minor Group](/docs/onet-field-overview#taxonomy-structure) associated with the person’s current job title | T | T | [O\*Net Fields](/docs/person-data-field-bundles#onet-fields) |
| [`job_onet_broad_occupation`](/docs/fields#job_onet_broad_occupation) | `String` | The [O\*NET Broad Occupation](/docs/onet-field-overview#taxonomy-structure) associated with the person’s current job title | T | T | [O\*Net Fields](/docs/person-data-field-bundles#onet-fields) |
| [`job_onet_specific_occupation`](/docs/fields#job_onet_specific_occupation) | `String` | The [O\*NET Specific Occupation](/docs/onet-field-overview#taxonomy-structure) associated with the person’s current job title | T | T | [O\*Net Fields](/docs/person-data-field-bundles#onet-fields) |
| [`job_onet_specific_occupation_detail`](/docs/fields#job_onet_specific_occupation_detail) | `String` | The [O\*NET Specific Occupation Detail](/docs/onet-field-overview#taxonomy-structure) associated with the person’s current job title | T | T | [O\*Net Fields](/docs/person-data-field-bundles#onet-fields) |
| [`job_start_date`](/docs/fields#job_start_date) | [`String (Date)`](/docs/data-types#dates) | The date the person started their current job | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_summary`](/docs/fields#job_summary) | `String` | User-inputted summary of their current job | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`job_title`](/docs/fields#job_title) | `String` | The person's current job title | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_title_levels`](/docs/fields#job_title_levels) | [`Array [Enum (String)]`](/docs/job-title-levels) | The derived level(s) of the person's current job title | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_title_role`](/docs/fields#job_title_role) | [`Enum (String)`](/docs/job-title-roles) | The derived role of the person's current job title | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_title_sub_role`](/docs/fields#job_title_sub_role) | [`Enum (String)`](/docs/job-title-subroles) | The derived subrole of the person's current job title | T | [Base](/docs/person-data-field-bundles#base) | |
| [`job_title_class`](/docs/fields#job_title_class) | [`Enum (String)`](/docs/job-title-class) | The expense line item category this employee would fall into | T | [Base](/docs/person-data-field-bundles#base) | |
| [`languages`](/docs/fields#languages) | `Array [Object]` | Languages the person knows | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`languages.name`](/docs/fields#languages) | [`Enum (String)`](/docs/language-names) | The language | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`languages.proficiency`](/docs/fields#languages) | `Integer (1-5)` | Self-ranked language proficiency from 1 (limited) to 5 (fluent) | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`last_initial`](/docs/fields#last_initial) | `String (1 character)` | The first letter of the person's last name | T | [Base](/docs/person-data-field-bundles#base) | |
| [`last_name`](/docs/fields#last_name) | `String` | The person's last name | T | [Base](/docs/person-data-field-bundles#base) | |
| [`linkedin_connections`](/docs/fields#linkedin_connections) | `Integer (>= 0)` | The number of LinkedIn connections the person has | T | T | [Linkedin Connections](/docs/person-data-field-bundles#linkedin-connections) |
| [`linkedin_id`](/docs/fields#linkedin_id) | `String` | The person's LinkedIn profile ID. This is null when no values in the "profiles" array are active | T | [Base](/docs/person-data-field-bundles#base) | |
| [`linkedin_url`](/docs/fields#linkedin_url) | `String` | The person's current LinkedIn profile URL. This is null when no values in the "profiles" array are active | T | [Base](/docs/person-data-field-bundles#base) | |
| [`linkedin_username`](/docs/fields#linkedin_username) | `String` | The person's LinkedIn profile username. This is null when no values in the "profiles" array are active | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_address_line_2`](/docs/fields#location_address_line_2) | `String` | The person's current street address line 2 | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_continent`](/docs/fields#location_continent) | [`Enum (String)`](/docs/location-continents) | The continent of the person's current address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_country`](/docs/fields#location_country) | [`Enum (String)`](/docs/location-countries) | The country of the person's current address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_geo`](/docs/fields#location_geo) | `String` | The geo code of the city center of the person's current address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_last_updated`](/docs/fields#location_last_updated) | [`String (Date)`](/docs/data-types#dates) | The timestamp that a new data source contributed to the record for the person's current address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_locality`](/docs/fields#location_locality) | `String` | The locality of the person's current address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_metro`](/docs/fields#location_metro) | [`Enum (String)`](/docs/location-metros) | The metro of the person's current address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_name`](/docs/fields#location_name) | `String` | The location of the person's current address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_names`](/docs/fields#location_names) | `Array [String]` | All location names associated with the person | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_postal_code`](/docs/fields#location_postal_code) | `String` | The postal code of the person's current address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_region`](/docs/fields#location_region) | `String` | The region of the person's current address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`location_street_address`](/docs/fields#location_street_address) | `String` | The person's current street address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`middle_initial`](/docs/fields#middle_initial) | `String (1 character)` | The first letter of the person's middle name | T | [Base](/docs/person-data-field-bundles#base) | |
| [`middle_name`](/docs/fields#middle_name) | `String` | The person's middle name | T | [Base](/docs/person-data-field-bundles#base) | |
| [`mobile_phone`](/docs/fields#mobile_phone) | [`String (Phone)`](/docs/data-formatting#phone-numbers) | The personal mobile phone associated with this individual. Mobile phones can only be associated with 1 person in the PDL data. | T | [Base](/docs/person-data-field-bundles#base) | |
| [`name_aliases`](/docs/fields#name_aliases) | `Array [String]` | Any other names the person goes by | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`num_records`](/docs/fields#num_records) | `Integer (> 0)` | The number of unique raw records contributing to this specific PDL profile | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`num_sources`](/docs/fields#num_sources) | `Integer (> 0)` | The number of unique sources contributing to this specific PDL profile | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`operation_id`](/docs/fields#operation_id) | `String` | An identifier for an operation in a Data License delivery, used for troubleshooting. | [Base](/docs/person-data-field-bundles#base) | ||
| [`personal_emails`](/docs/fields#personal_emails) | `Array [String]` | All personal emails associated with the person | T | [Base](/docs/person-data-field-bundles#base) | |
| [`phone_numbers`](/docs/fields#phone_numbers) | [`Array [String (Phone)]`](/docs/data-formatting#phone-numbers) | All phone numbers associated with the person | T | [Base](/docs/person-data-field-bundles#base) | |
| [`phones`](/docs/fields#phones) | `Array [Object]` | The list of phone numbers associated with this record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`phones.first_seen`](/docs/fields#phones) | [`String (Date)`](/docs/data-types#dates) | The date that this number was first associated with this record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`phones.last_seen`](/docs/fields#phones) | [`String (Date)`](/docs/data-types#dates) | The date that this number was last associated with this record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`phones.num_sources`](/docs/fields#phones) | `Integer (> 0)` | The number of sources that have contributed to the association of this profile with this record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`phones.number`](/docs/fields#phones) | [`String (Phone)`](/docs/data-formatting#phone-numbers) | The phone number | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`profile_score`](/docs/fields#profile_score) | `String` | A PDL-generated signal indicating how likely a profile is to represent a real person | T | [Base](/docs/person-data-field-bundles#base) | |
| [`profile_score_factors`](/docs/fields#profile_score_factors) | `Object` | Supporting factors used to generate `profile_score` | T | [PDL Score Factors](/docs/person-data-field-bundles#pdl-score-factors) | |
| [`profile_score_factors.attribute_fill_rate`](/docs/fields#profile_score_factorsattribute_fill_rate) | `Float` | The share of selected resume attributes present on the profile | T | T | [PDL Score Factors](/docs/person-data-field-bundles#pdl-score-factors) |
| [`profile_score_factors.profile_age_months`](/docs/fields#profile_score_factorsprofile_age_months) | `Integer` | The age of the profile in months, based on PDL's first observation of the trusted LinkedIn profile | T | T | [PDL Score Factors](/docs/person-data-field-bundles#pdl-score-factors) |
| [`profile_score_factors.has_valid_url`](/docs/fields#profile_score_factorshas_valid_url) | `Float` | A signal indicating whether the profile has a valid LinkedIn URL | T | T | [PDL Score Factors](/docs/person-data-field-bundles#pdl-score-factors) |
| [`profile_score_factors.meets_connection_threshold`](/docs/fields#profile_score_factorsmeets_connection_threshold) | `Integer` | A signal indicating whether the profile meets PDL's LinkedIn connection threshold | T | T | [PDL Score Factors](/docs/person-data-field-bundles#pdl-score-factors) |
| [`possible_birth_dates`](/docs/fields#possible_birth_dates) | [`Array [String (Date)]`](/docs/data-types#dates) | Birthdays associated with this person that have a lower level of confidence | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) | |
| [`possible_emails`](/docs/fields#possible_emails) | `Array [Object]` | Email addresses associated with this person that have a lower level of confidence | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_emails.address`](/docs/fields#possible_emails) | `String` | The fully parsed email address | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_emails.first_seen`](/docs/fields#possible_emails) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was first associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_emails.last_seen`](/docs/fields#possible_emails) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was last associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_emails.num_sources`](/docs/fields#possible_emails) | `Integer (> 0)` | The number of sources that have contributed to the association of this entity with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_emails.type`](/docs/fields#possible_emails) | [`Enum (String)`](/docs/email-types) | The type of email | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_location_names`](/docs/fields#possible_location_names) | `Array [String]` | Locations associated with this person that have a lower level of confidence | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_phones`](/docs/fields#possible_phones) | `Array [Object]` | Phone numbers associated with this person that have a lower level of confidence | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_phones.first_seen`](/docs/fields#possible_phones) | [`String (Date)`](/docs/data-types#dates) | The date that this number was first associated with this record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_phones.last_seen`](/docs/fields#possible_phones) | [`String (Date)`](/docs/data-types#dates) | The date that this number was last associated with this record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_phones.num_sources`](/docs/fields#possible_phones) | `Integer (> 0)` | The number of sources that have contributed to the association of this profile with this record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_phones.number`](/docs/fields#possible_phones) | [`String (Phone)`](/docs/data-formatting#phone-numbers) | The phone number | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_profiles`](/docs/fields#possible_profiles) | `Array [Object]` | Social profiles associated with this person that have a lower level of confidence | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_profiles.first_seen`](/docs/fields#possible_profiles) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was first associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_profiles.id`](/docs/fields#possible_profiles) | `String` | The profile ID | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_profiles.last_seen`](/docs/fields#possible_profiles) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was last associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_profiles.network`](/docs/fields#possible_profiles) | [`Enum (String)`](/docs/profile-networks) | The social network the profile is on | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_profiles.num_sources`](/docs/fields#possible_profiles) | `Integer (> 0)` | The number of sources that have contributed to the association of this entity with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_profiles.url`](/docs/fields#possible_profiles) | `String` | The profile URL | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_profiles.username`](/docs/fields#possible_profiles) | `String` | The profile username | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_street_addresses`](/docs/fields#possible_street_addresses) | `Array [Object]` | Addresses associated with this person that have a lower level of confidence | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_street_addresses.address_line_2`](/docs/fields#possible_street_addresses) | `String` | The street address line 2 | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) | |
| [`possible_street_addresses.continent`](/docs/fields#possible_street_addresses) | [`Enum (String)`](/docs/location-continents) | The continent the address is in | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) | |
| [`possible_street_addresses.country`](/docs/fields#possible_street_addresses) | [`Enum (String)`](/docs/location-countries) | The country the address is in | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) | |
| [`possible_street_addresses.first_seen`](/docs/fields#possible_street_addresses) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was first associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_street_addresses.geo`](/docs/fields#possible_street_addresses) | `String` | The city-center geographic coordinates of the address | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) | |
| [`possible_street_addresses.last_seen`](/docs/fields#possible_street_addresses) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was last associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_street_addresses.locality`](/docs/fields#possible_street_addresses) | `String` | The locality the address is in | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) | |
| [`possible_street_addresses.metro`](/docs/fields#possible_street_addresses) | [`Enum (String)`](/docs/location-metros) | The metro area the address is in | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) | |
| [`possible_street_addresses.name`](/docs/fields#possible_street_addresses) | `String` | The location of the address | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_street_addresses.num_sources`](/docs/fields#possible_street_addresses) | `Integer (> 0)` | The number of sources that have contributed to the association of this entity with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`possible_street_addresses.postal_code`](/docs/fields#possible_street_addresses) | `String` | The postal code of the address | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) | |
| [`possible_street_addresses.region`](/docs/fields#possible_street_addresses) | `String` | The region of the address | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) | |
| [`possible_street_addresses.street_address`](/docs/fields#possible_street_addresses) | `String` | The street address | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) | |
| [`profiles`](/docs/fields#profiles) | `Array [Object]` | Social profiles associated with the person | T | [Base](/docs/person-data-field-bundles#base) | |
| [`profiles.first_seen`](/docs/fields#profiles) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was first associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`profiles.id`](/docs/fields#profiles) | `String` | The profile ID | T | [Base](/docs/person-data-field-bundles#base) | |
| [`profiles.last_seen`](/docs/fields#profiles) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was last associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`profiles.network`](/docs/fields#profiles) | [`Enum (String)`](/docs/profile-networks) | The social network the profile is on | T | [Base](/docs/person-data-field-bundles#base) | |
| [`profiles.num_sources`](/docs/fields#profiles) | `Integer (> 0)` | The number of sources that have contributed to the association of this entity with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`profiles.url`](/docs/fields#profiles) | `String` | The profile URL | T | [Base](/docs/person-data-field-bundles#base) | |
| [`profiles.username`](/docs/fields#profiles) | `String` | The profile username | T | [Base](/docs/person-data-field-bundles#base) | |
| [`recommended_personal_email`](/docs/fields#recommended_personal_email) | `String` | The best available email to reach a person | T | [Base](/docs/person-data-field-bundles#base) | |
| [`regions`](/docs/fields#regions) | `Array [String]` | All regions associated with the person | T | [Base](/docs/person-data-field-bundles#base) | |
| [`skills`](/docs/fields#skills) | `Array [String]` | The person's self-reported skills | T | [Base](/docs/person-data-field-bundles#base) | |
| [`street_addresses`](/docs/fields#street_addresses) | `Array [Object]` | All street addresses associated with the person | T | [Base](/docs/person-data-field-bundles#base) | |
| [`street_addresses.address_line_2`](/docs/fields#street_addresses) | `String` | The street address line 2 | T | [Base](/docs/person-data-field-bundles#base) | |
| [`street_addresses.continent`](/docs/fields#street_addresses) | [`Enum (String)`](/docs/location-continents) | The continent the address is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`street_addresses.country`](/docs/fields#street_addresses) | [`Enum (String)`](/docs/location-countries) | The country the address is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`street_addresses.first_seen`](/docs/fields#street_addresses) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was first associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`street_addresses.geo`](/docs/fields#street_addresses) | `String` | The city-center geographic coordinates of the address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`street_addresses.last_seen`](/docs/fields#street_addresses) | [`String (Date)`](/docs/data-types#dates) | The date that this entity was last associated with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`street_addresses.locality`](/docs/fields#street_addresses) | `String` | The locality the address is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`street_addresses.metro`](/docs/fields#street_addresses) | [`Enum (String)`](/docs/location-metros) | The metro area the address is in | T | [Base](/docs/person-data-field-bundles#base) | |
| [`street_addresses.name`](/docs/fields#street_addresses) | `String` | The location of the address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`street_addresses.num_sources`](/docs/fields#street_addresses) | `Integer (> 0)` | The number of sources that have contributed to the association of this entity with the Person record | T | T | [Person Risk Attributes](/docs/person-data-field-bundles#person-risk-attributes) |
| [`street_addresses.postal_code`](/docs/fields#street_addresses) | `String` | The postal code of the address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`street_addresses.region`](/docs/fields#street_addresses) | `String` | The region of the address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`street_addresses.street_address`](/docs/fields#street_addresses) | `String` | The street address | T | [Base](/docs/person-data-field-bundles#base) | |
| [`summary`](/docs/fields#summary) | `String` | User-inputted personal summary | T | T | [Premium Resume Fields](/docs/person-data-field-bundles#premium-resume-fields) |
| [`twitter_url`](/docs/fields#twitter_url) | `String` | The person's Twitter profile URL based on source agreement | T | [Base](/docs/person-data-field-bundles#base) | |
| [`twitter_username`](/docs/fields#twitter_username) | `String` | The person's Twitter profile username based on source agreement | T | [Base](/docs/person-data-field-bundles#base) | |
| [`work_email`](/docs/fields#work_email) | `String` | The person's current work email | T | [Base](/docs/person-data-field-bundles#base) |
| Parameter Name | Required | Description | Default | Example |
|---|---|---|---|---|
| [`field`](/docs/input-parameters-autocomplete-api#field) | Yes | The field that the API will perform autocompletion upon. | None | `title` |
| [`text`](/docs/input-parameters-autocomplete-api#text) | No | The text that the API will use as the seed for autocompletion. | `""` | `tesl` |
| [`size`](/docs/input-parameters-autocomplete-api#size) | No | The number of results that the API should return, which must be between `1` and `100`. | `10` | `100` |
| [`titlecase`](/docs/input-parameters-autocomplete-api#titlecase) | No | All text in API responses returns as lowercase by default. Setting titlecase to `true` will titlecase any records returned instead. | `false` | `true` |
| [`pretty`](/docs/input-parameters-autocomplete-api#pretty) | No | Whether the output should have human-readable indentation. | `false` | `true` |
| [`api_key`](/docs/input-parameters-autocomplete-api#api_key) | No\* | Your secret API key. While we do not require this as part of the request parameters, if you do not provide it here, then you must provide it using an alternative means, such as in the headers using the `x-api-key` field. For more information, see the [Authentication](/docs/authentication) page. | None |
| Parameter Name | Description | Example |
|---|---|---|
|
The PDL ID for a record in our Company Dataset. Note: If you enrich on ID and anything else, only ID is used and the other inputs for matching are ignored. |
|
|
The company's name. |
|
|
The company's social profile. |
|
|
The company's stock ticker, if publicly traded. |
|
|
The company's website. |
|
|
The complete or partial company location. You can input multiple location values. |
|
|
The company's locality. You can only input one locality. |
|
|
The company's region. You can only input one region. |
|
|
The company's country. You can only input one country. |
|
|
The company's street address. You can only input one street address. |
|
|
The company's postal code. You can only input one postal code. |
|
|
Your secret API key. Note: You can also provide this in the request header instead, as shown on the Authentication page. |
| Parameter Name | Description | Default | Example |
|---|---|---|---|
All text in API responses returns as lowercase by default. Setting titlecase to |
|
|
|
Whether the output should have human-readable indentation. |
|
|
|
If |
|
|
|
The minimum |
|
|
|
The fields a response must have to return a |
|
||
A comma-separated string of fields that you want the response to include. Begin the string with a |
|
| Parameter Name | Description | Example |
|---|---|---|
| [`ip`](/docs/input-parameters-ip-enrichment-api#ip) | The IP address to enrich in IPv4 or IPv6 format. | `72.212.42.169` |
| [`api_key`](/docs/input-parameters-ip-enrichment-api#api_key) |
Your secret API key. **Note**: You can also provide this in the request header instead, as shown on the [Authentication](/docs/authentication) page. |
| Parameter Name | Required | Description | Default | Example |
|---|---|---|---|---|
| [`job_title`](/docs/input-parameters-job-title-enrichment-api#job_title) | Yes | The job title that you are enriching. | None | `pastry chef` |
| [`api_key`](/docs/input-parameters-job-title-enrichment-api#api_key) | No\* | Your secret API key. While we do not require this as part of the request parameters, if you do not provide it here, then you must provide it using an alternative means, such as in the headers using the `x-api-key` field. For more information, see the [Authentication](/docs/authentication) page. | None | |
| [`pretty`](/docs/input-parameters-job-title-enrichment-api#pretty) | No | Whether the output should have human-readable indentation. | `false` | `true` |
| [`titlecase`](/docs/input-parameters-job-title-enrichment-api#titlecase) | No | All text in the API responses returns as lowercase by default. Setting `titlecase` to `true` will titlecase the text in `200` responses. | `false` | `true` |
| Parameter Name | Required | Description | Default | Example |
|---|---|---|---|---|
| [`origin_version`](/docs/input-parameters-person-changelog-api#origin_version) | Yes | The older version for comparison. Must be a valid version and cannot skip versions with `current_version`. | None | `28.1` |
| [`current_version`](/docs/input-parameters-person-changelog-api#current_version) | Yes | The newer version for comparison. Must be a valid version and consecutive to `origin_version`. | None | `28.2` |
| [`type`](/docs/input-parameters-person-changelog-api#type) | No\* | Specifies the type of changelog to return. Supported values are `added `, `deleted `, `updated`, `merged`, `opted_out` * *`type`is required when not submitting a list of ids* | None | `"added"` |
| [`ids`](/docs/input-parameters-person-changelog-api#ids) | No | List of person IDs to query changes for.\ Minimum length: 1\ Maximum length: 60,000 | None | `["qEnOZ5Oh0poWnQ1luFBfVw_0000"]` |
| [`fields_updated`](/docs/input-parameters-person-changelog-api#fields_updated) | No | Specifies fields updated between versions (only allowed with `type: "updated"`). Each field must match a top-level field in the [Person Schema](/docs/fields). | None | `["work_email"]` |
| [`scroll_token`](/docs/input-parameters-person-changelog-api#scroll_token) | No | Token for pagination when retrieving large result sets. | None | `\---NdonAvTwEk-ml9yzfFA_0000` |
| [`api_key`](/docs/input-parameters-person-changelog-api#api_key) | No\* | Your secret API key. While we do not require this as part of the request parameters, if you do not provide it here, then you must provide it using an alternative means, such as in the headers using the `x-api-key` field. For more information, see the [Authentication](/docs/authentication) page. | None |
| Field Name | Type | Description |
|---|---|---|
| [`status`](/docs/output-response-person-changelog-api#status) | Integer | The API response code (see a description of our error codes). |
| [`data`](/docs/output-response-person-changelog-api#data) | `Array[Object]` | An object containing the list of PDL record IDs matching the input query parameters (and any related metadata). Only returned if `status == 200` |
| [`data.type`](/docs/output-response-person-changelog-api#datatype) | `String` | The user-supplied [`type`](/docs/input-parameters-person-changelog-api#type) value provided in the input query. This value will be `null` if no value was specified in the input query. |
| [`data.origin_version`](/docs/output-response-person-changelog-api#origin_version) | `Float` | The user-supplied [`origin_version`](/docs/input-parameters-person-changelog-api#origin_version) value provided in the input query. This value will be `null` if no value was specified in the input query. |
| [`data.current_version`](/docs/output-response-person-changelog-api#current_version) | `Float` | The user-supplied [`current_version`](/docs/input-parameters-person-changelog-api#current_version) value provided in the input query. This value will be `null` if no value was specified in the input query. |
| [`data.scroll_token`](/docs/output-response-person-changelog-api#scroll_token) | `String` | The scroll token to use to fetch the next batch of results for the query. This value will be `null` if no additional records matching the input query exist. |
| [`data.added`](/docs/output-response-person-changelog-api#dataadded) | `Array[Object]` | The list of `added` records matching the input query. The maximum size of this array is limited to 1000 records. |
| [`data.deleted`](/docs/output-response-person-changelog-api#datadeleted) | `Array[Object]` | The list of `deleted` records matching the input query. The maximum size of this array is limited to 1000 records. |
| [`data.merged`](/docs/output-response-person-changelog-api#datamerged) | `Array[Object]` | The list of `merged` records matching the input query. The maximum size of this array is limited to 1000 records. |
| [`data.opted_out`](/docs/output-response-person-changelog-api#data-opted_out) | `Array[Object]` | The list of `opted_out` records matching the input query. The maximum size of this array is limited to 1000 records. |
| [`data.updated`](/docs/output-response-person-changelog-api#data-updated) | `Array[Object]` | The list of `updated` records matching the input query. The maximum size of this array is limited to 1000 records. |
| [`error`](/docs/output-response-person-changelog-api#error) | `Array[Object]` | An object containing an error message and additional details. Only returned if `status != 200` |
| [`error.type`](/docs/output-response-person-changelog-api#errortype) | `String` | The type of error event. |
| [`error.message`](/docs/output-response-person-changelog-api#errormessage) | `String` | The error message providing details on why the query was unsuccessful. |
| [`error.valid_versions`](/docs/output-response-person-changelog-api#errorvalid_versions) | `String` | The list of valid versions passable to either the [`origin_version`](/docs/input-parameters-person-changelog-api#origin_version) and/or [`current_version`](/docs/input-parameters-person-changelog-api#current_version) input parameters. |
| [`error.valid_types`](/docs/output-response-person-changelog-api#errorvalid_types) | `String` | The list of valid type values passable to the [`type`](/docs/input-parameters-person-changelog-api#type) input parameter. |
| [`error.valid_fields_updated`](/docs/output-response-person-changelog-api#errorvalid_fields_updated) | `String` | The list of valid field values passable to the [`fields_updated`](/docs/input-parameters-person-changelog-api#fields_updated) input parameter. |
| Parameter Name | Description | Example |
|---|---|---|
| [`pdl_id`](/docs/input-parameters-person-enrichment-api#pdl_id) |
The [PDL Persistent ID](/docs/persistent-ids) for a record in our Person Dataset.
**Note:** If you enrich on ID and anything else, only ID is used and the other inputs for matching are ignored. |
`qEnOZ5Oh0poWnQ1luFBfVw_0000` |
| [`name`](/docs/input-parameters-person-enrichment-api#name) | The person's full name, at least the first and last. | `Jennifer C. Jackson` |
| [`first_name`](/docs/input-parameters-person-enrichment-api#first_name) | The person's first name. | `Jennifer` |
| [`last_name`](/docs/input-parameters-person-enrichment-api#last_name) | The person's last name. | `Jackson` |
| [`middle_name`](/docs/input-parameters-person-enrichment-api#middle_name) | The person's middle name. | `Cassandra` |
| [`location`](/docs/input-parameters-person-enrichment-api#location) | The location in which a person lives. This can be anything from a street address to a country name. | `Medford, OR USA` |
| [`street_address`](/docs/input-parameters-person-enrichment-api#street_address) | The street address at which the person lives. | `1234 Main Street` |
| [`locality`](/docs/input-parameters-person-enrichment-api#locality) | The locality in which the person lives. | `Boise` |
| [`region`](/docs/input-parameters-person-enrichment-api#region) | The state or region in which the person lives. | `Idaho` |
| [`country`](/docs/input-parameters-person-enrichment-api#country) | The country in which the person lives. | `United States` |
| [`postal_code`](/docs/input-parameters-person-enrichment-api#postal_code) | The postal code in which the person lives. If there is no value for `country`, the postal code is assumed to be in the US. | `83701` |
| [`company`](/docs/input-parameters-person-enrichment-api#company) | The name, website or social URL of the company where the person has worked. | `Amazon Web Services` |
| [`school`](/docs/input-parameters-person-enrichment-api#school) | The name, website or social URL of the university or college that the person has attended. | `University of Iowa` |
| [`phone`](/docs/input-parameters-person-enrichment-api#phone) | A phone number the person has used. **Input must begin with`+[country code]` for a match to be returned.** | `+1 555-234-1234` |
| [`email`](/docs/input-parameters-person-enrichment-api#email) | The email that the person has used. | `renee.c.paulsen1959@yahoo.com` |
| [`email_hash`](/docs/input-parameters-person-enrichment-api#email_hash) | The SHA-256 or MD5 email hash. | `e206e6cd7fa5f9499fd6d2d943dcf7d9c1469bad351061483f5ce7181663b8d4 ` |
| [`profile`](/docs/input-parameters-person-enrichment-api#profile) | A social profile that the person has used (see [list of available social profiles](/docs/social-networks)). | `https://linkedin.com/in/seanthorne`. |
| [`lid`](/docs/input-parameters-person-enrichment-api#lid) | The person's LinkedIn ID. | `145991517` |
| [`birth_date`](/docs/input-parameters-person-enrichment-api#birth_date) | The person's birth date: either the year or a full birth date. | `1996-10-01` |
| [`api_key`](/docs/input-parameters-person-enrichment-api#api_key) |
Your secret API key. **Note**: You can also provide this in the request header instead, as shown on the [Authentication](/docs/authentication) page. |
| Parameter Name | Description | Example |
|---|---|---|
| [`titlecase`](/docs/input-parameters-person-enrichment-api#titlecase) | All text in the API responses returns as lowercase by default. Setting `titlecase` to `true` will titlecase the data in `200` responses. | `false` |
| [`pretty`](/docs/input-parameters-person-enrichment-api#pretty) | Whether the output should have [human-readable](http://jsonprettyprint.net/) indentation. | `true` |
| [`min_likelihood`](/docs/input-parameters-person-enrichment-api#min_likelihood) | The minimum `likelihood` score that a response must have to return a `200` status code. | `2` |
| [`include_if_matched`](/docs/input-parameters-person-enrichment-api#include_if_matched) | If set to `true`, the response will include a top-level field called [`matched`](/docs/output-response-person-enrichment-api#matched) (along with `data`, `status` and so forth), containing a value for each queried field parameter that was "matched" during our internal query. | `false` |
| [`required`](/docs/input-parameters-person-enrichment-api#required) | The fields and data points that a response must have to return a `200` status code. | `"education AND (emails OR phone_numbers)"` |
| [`data_include`](/docs/input-parameters-person-enrichment-api#data_include) | A comma-separated string of the fields that you want the response to include. Begin the string with a `-` if you want to *exclude* the specified fields. If you want to exclude all data from being returned, use `data_include=""`. | `"full_name,emails.address"` |
| Parameter Name | Required | Description | Default | Example |
|---|---|---|---|---|
| [`name`](/docs/input-parameters-person-identify-api#name) | No\* | The person's full name (at least the first and the last.) | Jennifer C. Jackson | |
| [`first_name`](/docs/input-parameters-person-identify-api#first_name) | No\* | The person's first name. | Jennifer | |
| [`last_name`](/docs/input-parameters-person-identify-api#last_name) | No\* | The person's last name. | Jackson | |
| [`middle_name`](/docs/input-parameters-person-identify-api#middle_name) | No | The person's middle name. | Cassandra | |
| [`location`](/docs/input-parameters-person-identify-api#location) | No\* | The location in which a person lives, which can be anything from a street address to a country name. | Medford, OR USA | |
| [`street_address`](/docs/input-parameters-person-identify-api#street_address) | No\* | The street address at which the person lives. | 1234 Main Street | |
| [`locality`](/docs/input-parameters-person-identify-api#locality) | No\* | The locality in which the person lives. | Boise | |
| [`region`](/docs/input-parameters-person-identify-api#region) | No\* | The state or region in which the person lives. | Idaho | |
| [`country`](/docs/input-parameters-person-identify-api#country) | No | The country in which the person lives. | United States | |
| [`postal_code`](/docs/input-parameters-person-identify-api#postal_code) | No\* | The postal code in which the person lives. If there is no value for country, we assume that the postal code is in the US. | 83701 | |
| [`company`](/docs/input-parameters-person-identify-api#company) | No\* | The name, website or social URL of a company where the person has worked. | Amazon Web Services | |
| [`school`](/docs/input-parameters-person-identify-api#school) | No\* | The name, website or social URL of a university or college that the person has attended. | university of iowa | |
| [`phone`](/docs/input-parameters-person-identify-api#phone) | No\* | A phone number the person has used. **Input must begin with`+[country code]` for a match to be returned.** | +1 555-234-1234 | |
| [`email`](/docs/input-parameters-person-identify-api#email) | No\* | The email that the person has used. | [sean.thorne@talentiq.co](mailto:sean.thorne@talentiq.co) | |
| [`email_hash`](/docs/input-parameters-person-identify-api#email_hash) | No\* | The sha256 or md5 email hash. | e206e6cd7fa5f9499fd6d2d943dcf7d9c1469bad351061483f5ce7181663b8d4 | |
| [`profile`](/docs/input-parameters-person-identify-api#profile) | No\* | The social profile that the person has used (see the [list of available social profiles](/docs/social-networks)). | `https://linkedin.com/in/seanthorne` | |
| [`lid`](/docs/input-parameters-person-identify-api#lid) | No\* | The LinkedIn numerical ID | 145991517 | |
| [`birth_date`](/docs/input-parameters-person-identify-api#birth_date) | No | The person's birth date: either a year or a full birth date. | 35339 | |
| [`titlecase`](/docs/input-parameters-person-identify-api#titlecase) | No | The API returns all text in the data object of responses as lowercase by default. Setting `titlecase` to `true` will titlecase the person data in `200` responses. | `false` | `true` |
| [`pretty`](/docs/input-parameters-person-identify-api#pretty) | No | Whether the output should have human-readable indentation. | `false` | `true` |
| [`api_key`](/docs/input-parameters-person-identify-api#api_key) | No\* |
Your secret API key. While we do not require this as part of the request parameters, if you do not provide it here, then you must provide it using an alternative means, such as in the headers using the `x-api-key` field. For more information, see the [Authentication](/docs/authentication) page. |
None | |
| [`include_if_matched`](/docs/input-parameters-person-identify-api#include_if_matched) | No | If set to `true`, the output will contain the [`matches.matched_on`](/docs/output-response-person-identify-api#matchesmatched_on) field which will list the fields in each profile that matched the input query. | `false` | `true` |
| Parameter Name | Description | Default | Example |
|---|---|---|---|
| [`query`](/docs/input-parameters-person-search-api#query) | An [Elasticsearch (v7.7) query](https://www.elastic.co/guide/en/elasticsearch/reference/7.7/query-dsl.html). See our underlying [Elasticsearch mapping](#full-field-mapping) for reference. | `{"query": {"term": {"job_company_name": "people data labs"}}}` | |
| [`sql`](/docs/input-parameters-person-search-api#sql) | An SQL query of the format: `SELECT * FROM person WHERE XXX`, where XXX is a standard SQL boolean query involving our [person fields](/docs/fields). We will ignore any use of column selections or the LIMIT keyword. | `SELECT * FROM person WHERE job_company_name='people data labs'` | |
| [`size`](/docs/input-parameters-person-search-api#size) | The batch size or the maximum number of matched records to return for this query if they exist, which must be between `1` and `100`. | `1` | `100` |
| [`from`](/docs/input-parameters-person-search-api#from) | The `from` field is not recommended for use and will not be supported long term. Use the `scroll_token` field instead\*\*An offset value for paginating between batches, which can be a number between`0` and `9999`. You can execute pagination for a maximum of 10,000 records per query. **NOTE: YOU CANNOT USE `FROM` WITH `SCROLL_TOKEN` IN THE SAME REQUEST**. | `0` | `0`, `100`, `200` ... |
| [`scroll_token`](/docs/input-parameters-person-search-api#scroll_token) | An offset key for paginating between batches. Unlike the legacy `from` parameter, you can use this parameter for any number of records. Each Person Search API response returns a `scroll_token`, which you can use to fetch the next `size` records. | `None` | `104$14.278746` |
| [`dataset`](/docs/input-parameters-person-search-api#dataset) | Specifies which [dataset](/docs/datasets) the API should search against. You can input multiple datasets by separating them with a comma. Valid names are `resume`, `email`, `phone`, `mobile_phone`, `street_address`, `consumer_social`, `developer` and `all`. You can also exclude datasets by using `-` as the first character. | `resume` | `all` |
| [`titlecase`](/docs/input-parameters-person-search-api#titlecase) | All text in the data of API responses returns as lowercase by default. Setting `titlecase` to `true` will titlecase any records returned. | `false` | `true` |
| [`pretty`](/docs/input-parameters-person-search-api#pretty) | Whether the output should have [human-readable](http://jsonprettyprint.net/) indentation. | `false` | `true` |
| [`api_key`](/docs/input-parameters-person-search-api#api_key) |
Your secret API key. **Note**: you can also provide this in the request header instead, as shown on the [Authentication](/docs/authentication) page. |
| Parameter Name | Required | Description | Default | Example |
|---|---|---|---|---|
| [`skill`](/docs/input-parameters-skill-enrichment-api#skill) | Yes | The skill that you are enriching. | `pyspark` | |
| [`api_key`](/docs/input-parameters-skill-enrichment-api#api_key) | No\* | Your secret API key. While we do not require this as part of the request parameters, if you do not provide it here, then you must provide it using an alternative means, such as in the headers using the `x-api-key` field. For more information, see the [Authentication](/docs/authentication) page. | ||
| [`pretty`](/docs/input-parameters-skill-enrichment-api#pretty) | No | Whether the output should have human-readable indentation. | `false` | `true` |
| [`titlecase`](/docs/input-parameters-skill-enrichment-api#titlecase) | No | All text in the API responses returns as lowercase by default. Setting `titlecase` to `true` will titlecase the text in `200` responses. | `false` | `true` |
| Example | [https://www.domain.com/webhook/person/job\_change](https://www.domain.com/webhook/person/job_change) |
| Example | "Authorization": "Bearer pk\_1312323123131231" |
| Filter Name | Updates Based On |
|---|---|
| `education` | [`education`](/docs/fields#education) |
| `job_change` | [`job_company_id`](/docs/fields#job_company_id)\ [`job_title`](/docs/fields#job_title) |
| `location` | [`location_name`](/docs/fields#location_name)\ [`location_locality`](/docs/fields#location_locality)\ [`location_metro`](/docs/fields#location_metro)\ [`location_region`](/docs/fields#location_region)\ [`location_country`](/docs/fields#location_country)\ [`location_continent`](/docs/fields#location_continent)\ [`location_street_address`](/docs/fields#location_street_address)\ [`location_address_line_2`](/docs/fields#location_address_line_2)\ [`location_postal_code`](/docs/fields#location_postal_code)\ [`location_geo`](/docs/fields#location_geo) |
| `mobile_phone_number` | [`mobile_phone`](/docs/fields#mobile_phone) |
| `personal_emails` | [`personal_emails`](/docs/fields#personal_emails)\ [`recommended_personal_email`](/docs/fields#recommended_personal_email) |
| `phone_number` | [`mobile_phone`](/docs/fields#mobile_phone)\ [`phone_numbers`](/docs/fields#phone_numbers) |
| `social_profile` | [`linkedin_url`](/docs/fields#linkedin_url)\ [`linkedin_username`](/docs/fields#linkedin_username)\ [`linkedin_id`](/docs/fields#linkedin_id)\ [`facebook_url`](/docs/fields#facebook_url)\ [`facebook_username`](/docs/fields#facebook_username)\ [`facebook_id`](/docs/fields#facebook_id)\ [`twitter_url`](/docs/fields#twitter_url)\ [`twitter_username`](/docs/fields#twitter_username)\ [`github_url`](/docs/fields#github_url)\ [`github_username`](/docs/fields#github_username) |
| `work_email` | [`work_email`](/docs/fields#work_email) |