April 2022 Release Notes (v18)

Person v18.0 was released on 3/29/2022 and Data License deliveries will begin on 4/4/2022.

Welcome to our April 2022 release notes! One quarter into the new year and we have a ton of exciting updates to share!

Here are some of the key highlights:

Excited yet? Read on to learn more, or jump to a specific section using the table of contents below.

Table of Contents

📣 Key Announcements

✨ New Products

🚀 Data Updates

🛠 Improvements and Bug Fixes


📣 Key Announcements

Deprecations

❗️

DEPRECATION NOTICE -- Rate Limiting and Credit Usage Headers

In the next quarterly release (v19 - July 2022), PDL will be deprecating the current functionality of the header response fields. Instead, the headers will be updated (as shown below) in order to improve the alignment between the values returned by header fields and the values reflected in the API dashboard.

The updated header schema will be as follows:

{
  "x-ratelimit-reset": 2022-02-23T20:19:55Z, 
  "x-ratelimit-remaining": {
    'minute': 1200,
    'day': 12000,
    'month': 120000
  } # Flask
  "x-ratelimit-limit": {
    'minute': 1201,
    'day': 12001,
    'month': 120001
  }
  "x-lifetime-used": 984152,
  "x-totallimit-remaining": 1342,
  “x-call-credits-spent”: 1,
  "x-totallimit-purchased-remaining": 342,
  "x-totallimit-overages-remaining": 1000,
}
Header FieldDescriptionExample
x-ratelimit-resetThe UTC timestamp at which the rate limit will reset2022-02-23T20:19:55Z,
x-ratelimit-remainingA collection of fields describing the number of credits remaining over a subsequent time period based on the rate limit
x-ratelimit-remaining.minuteThe number of credits available to be used in the next minute1200
x-ratelimit-remaining.dayThe number of credits available to be used in the next day12000
x-ratelimit-remaining.monthThe number of credits available to be used in the next month120000
x-ratelimit-limitA collection of fields describing the maximum number of credits that can be used in a given time period
x-ratelimit-limit.minuteThe maximum number of credits that can be used in a minute1201
x-ratelimit-limit.dayThe maximum number of credits that can be used in a day12001
x-ratelimit-limit.monthThe maximum number of credits that can be used in a month120001
x-lifetime-usedThe total number of credits that have been used over an account’s lifetime984152
x-totallimit-remainingThe total number of credits available to consume (purchased + overages)1342
x-call-credits-spentNumber of credits billed for this call.1
x-totallimit-purchased-remainingThe number of purchased credits remaining342
x-totallimit-overages-remainingThe number of overage credits remaining1000

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 section below for more details as well as information on how to access these new data fields.

O*NET Occupation Codes (Person Schema)

Field NameField TypeField DescriptionExample
job_onet_codeStringThe 6-digit O*NET code for a person’s current job title, following the 2018 SOC guidelines.”11-1011.00”
job_onet_major_groupStringThe O*NET Major Group associated with a person’s current job title.”Management Occupations”
job_onet_minor_groupStringThe O*NET Minor Group associated with a person’s current job title.“Top Executives”
job_onet_broad_occupationStringThe O*NET Broad Occupation category associated with a person’s current job title.“Chief Executives”
job_onet_specific_occupationStringThe O*NET Detailed Occupation category associated with a person’s current job title.“Chief Executives”
job_onet_titleStringAn O*NET Alternative Title associated with a person’s current job title.“Chief Technology Officer”

NAICS / SIC Industry Classification Codes (Company Schema)

Field NameField TypeField DescriptionExample
naicsObjectAn object containing the NAICS industry information associated with a company
naics.naics_codeStringThe NAICS code associated with a company’s industry classification“111110”
naics.sectorStringThe NAICS sector associated with a company’s industry classification“agriculture, forestry, fishing and hunting”
naics.sub_sectorStringThe NAICS subsector associated with a company’s industry classification“crop production”
naics.industry_groupStringThe NAICS industry group associated with a company’s industry classification“oilseed and grain farming”
naics.naics_industryStringThe NAICS industry associated with a company’s industry classification“soybean farming”
naics.national_industryStringThe NAICS national industry associated with a company’s industry classification“soybean farming”
sicObjectAn object containing the SIC industry information associated with a company
sic.sic_codeStringThe SIC industry code associated with a company’s industry classification“5731”
sic.major_groupStringThe SIC major group associated with a company’s industry classification“agricultural production - crops”
sic.industry_groupStringThe SIC industry group associated with a company’s industry classification“cash grains”
sic.industry_sectorStringThe 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 standard) have been added to our Person Schema as a new premium field bundle.
  2. NAICS/SIC Industry Classification Codes have been added to our Company Schema 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.

To learn more about our new O*NET fields or to request access please reach out to your Customer Success team.

NAICS / SIC

To support more granular industry classification for companies in our Company Data, we have introduced NAICS and SIC 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, 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.

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 has been updated to only charge credits when the API returns a record that has an update since the last time a user retrieved it via any API endpoint. 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 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 or directly cloned from its public github repository. 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! 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 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) 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, 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 free 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. See below for details:

DatasetGeographyFieldRecords Updated
ResumeGlobalexperience228,256,002
ResumeGloballocation209,846,161
ResumeUnited Statesexperience76,269,414
ResumeUnited Stateslocation84,521,983

Coverage

Resume Dataset

LinkageCoverage in v17Coverage in v18Increase (%)
total_records684,434,661700,613,8822.36%
birth_year8,478,12710,254,96220.96%
job_company_ticker18,109,50420,325,04912.23%
street_addresses25,582,32428,318,77510.70%
job_company_website202,077,270221,853,2969.79%

API Dataset

LinkageCoverage in v17Coverage in v18Increase (%)
total_records3,026,851,6283,110,029,1872.75%
personal_emails586,232,294661,722,01112.88%
street_addresses679,766,613763,341,77712.29%
job_company_ticker20,278,34022,696,44511.92%

Email Dataset

LinkageCoverage in v17Coverage in v18Increase (%)
total_records687,784,131774,399,25612.59%
street_addresses248,611,221348,804,21740.30%
personal_emails479,704,633565,117,41117.81%
mobile_phone28,569,82333,367,43516.79%
birth_date66,094,40076,527,25115.78%
gender534,231,011606,542,89913.54%
full_name687,784,131774,399,25612.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 and Company Search APIs, allowing users to send large queries within their API requests. See examples requests here: person search example, company search example
  • 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.