Enrich a person by email, LinkedIn or name + company
pdl.people.enrichEnrich a person from email, LinkedIn or name + company — job history, skills, contact
- Price
- $0.28/successAt provider cost
- Success rate
- 100%Last 30 days · 2,789 calls
- Latency p50
- 168 msp95 323 ms
- Last verified
- Jul 31, 2026Verified working
GEThttps://toolswitch.dev/v1/tools/pdl.people.enrich?email=sean%40peopledatalabs.comPreview- Uses platform quota
- Synchronous response
- Reads public data
Parameters
PDL's minimum-input rule, verbatim: 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)). A bare name is never enough on its own
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| Query parameters | ||||
lid | string | Optional | LinkedIn numeric profile id | |
name | string | Optional | full name; use with company or location to disambiguate | |
email | string | Optional | strongest single identifier | sean@peopledatalabs.com |
phone | string | Optional | E.164 preferred | |
pretty | boolean | Optional | ||
school | string | Optional | ||
company | string | Optional | employer name or domain | peopledatalabs |
country | string | Optional | ||
profile | string | Optional | social profile URL — LinkedIn, GitHub, Twitter, Facebook | linkedin.com/in/seanthorne |
location | string | Optional | free-text location of the person | |
required | string | Optional | fields the response must contain or it is treated as a miss, e.g. 'emails AND profiles' | |
last_name | string | Optional | ||
titlecase | boolean | Optional | ||
email_hash | string | Optional | MD5 or SHA-256 of the email, when you cannot send it in the clear | |
first_name | string | Optional | ||
min_likelihood | integer | Optional | 1-10 match-confidence floor; PDL returns 404 below it. 6+ is the usual production setting | 6 |
- Query parameters
lidstringOptionalLinkedIn numeric profile id
namestringOptionalfull name; use with company or location to disambiguate
emailstringOptionalstrongest single identifier
Example:
sean@peopledatalabs.comphonestringOptionalE.164 preferred
prettybooleanOptionalschoolstringOptionalcompanystringOptionalemployer name or domain
Example:
peopledatalabscountrystringOptionalprofilestringOptionalsocial profile URL — LinkedIn, GitHub, Twitter, Facebook
Example:
linkedin.com/in/seanthornelocationstringOptionalfree-text location of the person
requiredstringOptionalfields the response must contain or it is treated as a miss, e.g. 'emails AND profiles'
last_namestringOptionaltitlecasebooleanOptionalemail_hashstringOptionalMD5 or SHA-256 of the email, when you cannot send it in the clear
first_namestringOptionalmin_likelihoodintegerOptional1-10 match-confidence floor; PDL returns 404 below it. 6+ is the usual production setting
Example:
6
Code samples
Replace $TOOLSWITCH_KEY with the key you created in the console.
curl -X GET 'https://toolswitch.dev/v1/tools/pdl.people.enrich?email=sean%40peopledatalabs.com' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY"import os
import requests
response = requests.request(
"GET",
"https://toolswitch.dev/v1/tools/pdl.people.enrich?email=sean%40peopledatalabs.com",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/pdl.people.enrich?email=sean%40peopledatalabs.com", {
method: "GET",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
},
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());This gateway API is in preview; its URL and authentication may change. The example parameters are sample data. Calls are billed at $0.28/success, including the service fee.