Reference - Person Enrichment API

Reference information for the Person Enrichment API

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


The endpoint for the Person Enrichment API is

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.


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.


For more details, see Input Parameters - Person Enrichment API

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

Parameter NameDescriptionExample
pdl_idThe 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.
nameThe person's full name, at least the first and last.Jennifer C. Jackson
first_nameThe person's first name.Jennifer
last_nameThe person's last name.Jackson
middle_nameThe person's middle name.Cassandra
locationThe location in which a person lives. This can be anything from a street address to a country name.Medford, OR USA
street_addressThe street address at which the person lives.1234 Main Street
localityThe locality in which the person lives.Boise
regionThe state or region in which the person lives.Idaho
countryThe country in which the person lives.United States
postal_codeThe 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
companyThe name, website or social URL of the company where the person has worked.Amazon Web Services
schoolThe name, website or social URL of the university or college that the person has attended.University of Iowa
phoneThe phone number that the person has used, in any format.+1 555-234-1234
emailThe email that the person has used.[email protected]
email_hashThe SHA-256 or MD5 email hash.e206e6cd7fa5f9499fd6d2d943dcf7d9c1469bad351061483f5ce7181663b8d4
profileA social profile that the person has used (see list of available social profiles).
lidThe person's LinkedIn ID.145991517
birth_dateThe person's birth date: either the year or a full birth date.1996-10-01
api_keyYour 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 NameDescriptionExample
titlecaseAll text in the API responses returns as lowercase by default. Setting titlecase to true will titlecase the data in 200 responses.false
prettyWhether the output should have human-readable indentation.true
min_likelihoodThe minimum likelihood score that a response must have to return a 200 status code.2
include_if_matchedIf 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
requiredThe fields and data points that a response must have to return a 200 status code."education AND (emails OR phone_numbers)"
data_includeA 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="".

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


For more details, see Output Response - Person Enrichment API

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

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.


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