Reference - Person Enrichment API

The Person Enrichment API provides a one-to-one person match, retrieving up-to-date information on a unique individual.

Endpoint

The endpoint for the Person Enrichment API is https://api.peopledatalabs.com/v5/person/enrich.

Person Enrichment API Access and Billing

You can access the Person Enrichment API through our self-signup dashboard

When the API finds a matching person, it returns this person along with an HTTP response code of 200. When it doesn't find a matching person, it returns an HTTP response code of 404. We charge per match.

Requests

See Authentication and Requests sections to see all possible ways to input a request. We recommend using a JSON object to capture input parameters and will do so in the examples.

Rate Limiting

Our default limit for free customers is 100 per minute. Our default limit for paying customers is 1,000 per minute.

Note: To allow for more enrichments without putting too much strain on our system, you can use the Bulk Person Enrichment API to increase the number of enrichments per request, effectively increasing your rate limit by up to a hundred times.

Input Parameters

When querying the API in URL, you can add data points to a queried person as key/value pairs at the end of a v5 request string.

You can use the following parameters to specify information on a requested person. Adding more data points to a request increases the probability of a 200 response and will further increase the accuracy of the response's Likelihood Score.

All query parameters listed below are optional.

📘

You can also click on the individual parameter names in the table below to view more information on them.

Parameter Name

Description

Example

pdl_id

The PDL Persistent ID 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

The person's full name, at least the first and last.

Jennifer C. Jackson

first_name

The person's first name.

Jennifer

last_name

The person's last name.

Jackson

middle_name

The person's middle name.

Cassandra

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

The street address at which the person lives.

1234 Main Street

locality

The locality in which the person lives.

Boise

region

The state or region in which the person lives.

Idaho

country

The country in which the person lives.

United States

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

The name, website or social URL of the company where the person has worked.

Amazon Web Services

school

The name, website or social URL of the university or college that the person has attended.

University of Iowa

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

The email that the person has used.

[email protected]

email_hash

The SHA-256 or MD5 email hash.

e206e6cd7fa5f9499fd6d2d943dcf7d9c1469bad351061483f5ce7181663b8d4

profile

A social profile that the person has used (see list of available social profiles).

https://linkedin.com/in/seanthorne.

lid

The person's LinkedIn ID.

145991517

birth_date

The person's birth date: either the year or a full birth date.

1996-10-01

api_key

Your secret API key.

Note: You can also provide this in the request header instead, as shown on the Authentication page.

Additional Input Parameters

You are not required to use the following additional input parameters. They generally transform or control various aspects of the enrichment process (returning matches or formatting results.)

Parameter Name

Description

Example

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

Whether the output should have human-readable indentation.

true

min_likelihood

The minimum likelihood score that a response must have to return a 200 status code.

2

include_if_matched

If set to true, the response will include a top-level field called 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

The fields and data points that a response must have to return a 200 status code.

"education AND (emails OR phone_numbers)"

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"

Minimum Inputs

The minimum combination of data points that a request must contain in order to return a 200 response are:

profile OR email OR phone OR email_hash OR lid OR ( 
    (
        (first_name AND last_name) OR name) AND 
        (locality OR region OR company OR school OR location OR postal_code)
    )

Output Response

When you execute an API request, we preprocess the queried data points and build them into a query, which we then execute against our API dataset. If the query yields one or more matching persons from the dataset, we return in the API response the person who is most likely the person requested, along with a 200 HTTP response code. If we do not find a match, we return a 404 HTTP response code.

Response Fields

📘

You can also click the field names in the table below to view more information on them.

FieldDescriptionType
dataA matched profile record that contains fields from our Person Schema. Any fields in the profile record that do not contain any data will have a null value.Object
statusThe response code. See a description of our error codes.Integer
likelihoodThe degree of confidence. The field is an integer between 1 and 10 and represents how confident we are that the person we returned is the same as the person you requested. You can control the minimum likelihood score a response must have in order to return a 200 by using the min_likelihood parameter in the API request.Integer

Response Data Structure

Here is an example response from the Person Enrichment API:

{
    "status": 200,
    "likelihood": 10,
    "data":  {
            "id": "qEnOZ5Oh0poWnQ1luFBfVw_0000",
            "full_name": "sean thorne",
            ...
     }
}

See Example Person Record for a full example of the fields included in the data object.

Errors

If the request encounters an error, it will instead return an Error Response in the format described in Errors.