People Data Labs

App · Contact Management · 12 actions

Look up people and companies in a dataset of billions of profiles. Turn an email, LinkedIn URL or website into a full profile, search for prospects by title, seniority, company size and location, see which company is behind an IP address, and tidy messy company, school and place names.

Actions

ActionWhat it does
Find a companyGet a company's profile (industry, size, headcount, founding year, headquarters, funding and social pages) from its website, LinkedIn page, name or stock ticker.
Find a personGet one person's full profile (current job, employer, location, work history, education and social profiles) from their email, a profile URL, a phone number, or their name with a company, school or location.
Find companies in bulkLook up to 100 companies in one step.
Find people in bulkLook up to 100 people in one step.
Find possible matches for a personWhen you know too little to be sure who someone is (just a name and a city, say), get up to 20 likely profiles, best match first, each with a match score.
Look up an IP addressFind the company behind an IP address, such as a website visitor's, and where the address is.
Search for companiesFind companies that match a description, such as private software companies of 51-200 people in Germany founded since 2015.
Search for peopleFind people who match a description, such as sales directors at 51-200 person software companies in Canada.
Standardize a company nameTurn a company name, website or LinkedIn page as someone typed it into People Data Labs' standard record: its proper name, website, industry, size and headquarters.
Standardize a locationTurn a place as someone typed it (an address, a city, a region) into People Data Labs' standard spelling, split into city, region and country, ready for a search filter.
Standardize a school nameTurn a school or university's name, website or LinkedIn page as someone typed it into People Data Labs' standard record.
Suggest search valuesSee how People Data Labs spells a job title, company, skill, school or place, with how many profiles have each, so a search filter matches.

Find a company

Get a company's profile (industry, size, headcount, founding year, headquarters, funding and social pages) from its website, LinkedIn page, name or stock ticker. Finding nothing is not an error: 'found' comes back false. Uses one credit when the company is found.

Inputs

Websitewebsitetext
The company's website. The most exact way to find it.
LinkedIn pageprofile_urltext
The company's LinkedIn page.
Namenametext
The company's name.
Stock tickertickertext
Its ticker, if public.
PDL IDpdl_idtext
People Data Labs' id for the company, from an earlier search.
Headquarterslocationtext
Where it is based, to tell apart companies with the same name.
Minimum match confidencemin_likelihoodnumber
How sure People Data Labs must be that it found the right match, from 1 to 10. Leave empty for its default of 2; 6 or more returns only strong matches.From 1 to 10.

Outputs

companyobject
The company's profile.
fields_not_in_planlist
Fields People Data Labs has that the account's plan does not include. They come back empty; upgrading the plan fills them in.
foundtrue/false
Whether the company was found.
likelihoodnumber
How sure the match is, from 1 to 10.
Example output
{
  "company": {
    "employee_count": 135,
    "founded": 2015,
    "id": "tnHcNHbCv8MKeLh92946LAkX6PKg",
    "industry": "Computer Software",
    "linkedin_url": "linkedin.com/company/peopledatalabs",
    "location": {
      "country": "United States",
      "locality": "San Francisco",
      "name": "San Francisco, California, United States",
      "region": "California"
    },
    "name": "People Data Labs",
    "size": "51-200",
    "tags": [
      "data",
      "b2b data"
    ],
    "type": "private",
    "website": "peopledatalabs.com"
  },
  "fields_not_in_plan": [],
  "found": true,
  "likelihood": 10
}

Find a person

Get one person's full profile (current job, employer, location, work history, education and social profiles) from their email, a profile URL, a phone number, or their name with a company, school or location. Finding nobody is not an error: 'found' comes back false. Uses one credit when someone is found.

Inputs

Emailemailtext
An email address the person uses, work or personal.
Profile URLprofile_urltext
Their LinkedIn profile, or another social profile such as GitHub or X.
Phone numberphonetext
A phone number they use, starting with + and the country code.
Full namenametext
Their first and last name. On its own a name is not enough; add a company, school or location.
Companycompanytext
A company they work or worked at: its name or website.
Locationlocationtext
Where they live: a city, region or country.
Schoolschooltext
A school or university they attended.
PDL IDpdl_idtext
People Data Labs' id for the person, from an earlier search.
Minimum match confidencemin_likelihoodnumber
How sure People Data Labs must be that it found the right match, from 1 to 10. Leave empty for its default of 2; 6 or more returns only strong matches.From 1 to 10.
Only if they haverequired_fieldslist
Only count a match that has these. A profile without them comes back as not found and uses no credit.One or more of: work_email (A work email), personal_emails (A personal email), phone_numbers (A phone number), linkedin_url (A LinkedIn profile).

Outputs

fields_not_in_planlist
Fields People Data Labs has that the account's plan does not include. They come back empty; upgrading the plan fills them in.
foundtrue/false
Whether a matching person was found.
likelihoodnumber
How sure the match is, from 1 to 10.
personobject
The person's profile.
Example output
{
  "fields_not_in_plan": [
    "work_email"
  ],
  "found": true,
  "likelihood": 9,
  "person": {
    "first_name": "Sean",
    "full_name": "Sean Thorne",
    "id": "qEnOZ5Oh0poWnQ1luFBfVw_0000",
    "job_company_industry": "computer software",
    "job_company_name": "People Data Labs",
    "job_company_size": "51-200",
    "job_company_website": "peopledatalabs.com",
    "job_title": "Co-Founder and Chief Executive Officer",
    "job_title_levels": [
      "cxo",
      "owner"
    ],
    "job_title_role": "operations",
    "last_name": "Thorne",
    "linkedin_url": "linkedin.com/in/seanthorne",
    "location_country": "United States",
    "location_name": "San Francisco, California, United States",
    "skills": [
      "Data Science",
      "Entrepreneurship"
    ],
    "work_email": null
  }
}

Find companies in bulk

Look up to 100 companies in one step. Give each as a website, a LinkedIn page or a name, or pass the rows of an earlier step. Results come back in the same order, each marked found or not. Uses one credit per company found.

Inputs

CompaniescompanieslistRequired
Up to 100 companies: one website, LinkedIn page or name per entry, or records from an earlier step.

Outputs

countnumber
How many were looked up.
fields_not_in_planlist
Fields People Data Labs has that the account's plan does not include. They come back empty; upgrading the plan fills them in.
found_countnumber
How many were found.
not_found_countnumber
How many were not.
resultslist
One result per entry, in the order given.
Example output
{
  "count": 1,
  "fields_not_in_plan": [],
  "found_count": 1,
  "not_found_count": 0,
  "results": [
    {
      "company": {
        "employee_count": 135,
        "founded": 2015,
        "id": "tnHcNHbCv8MKeLh92946LAkX6PKg",
        "industry": "Computer Software",
        "linkedin_url": "linkedin.com/company/peopledatalabs",
        "location": {
          "country": "United States",
          "locality": "San Francisco",
          "name": "San Francisco, California, United States",
          "region": "California"
        },
        "name": "People Data Labs",
        "size": "51-200",
        "tags": [
          "data",
          "b2b data"
        ],
        "type": "private",
        "website": "peopledatalabs.com"
      },
      "found": true,
      "input": "peopledatalabs.com",
      "likelihood": 10
    }
  ]
}

Find people in bulk

Look up to 100 people in one step. Give each as an email, a profile URL or a phone number, or pass the rows of an earlier step (with columns such as email, name and company). Results come back in the same order, each marked found or not. Uses one credit per person found.

Inputs

PeoplepeoplelistRequired
Up to 100 people: one email, profile URL or phone number per entry, or records from an earlier step.
Minimum match confidencemin_likelihoodnumber
How sure People Data Labs must be that it found the right match, from 1 to 10. Leave empty for its default of 2; 6 or more returns only strong matches.From 1 to 10.
Only if they haverequired_fieldslist
Only count a match that has these. A profile without them comes back as not found and uses no credit.One or more of: work_email (A work email), personal_emails (A personal email), phone_numbers (A phone number), linkedin_url (A LinkedIn profile).

Outputs

countnumber
How many were looked up.
fields_not_in_planlist
Fields People Data Labs has that the account's plan does not include. They come back empty; upgrading the plan fills them in.
found_countnumber
How many were found.
not_found_countnumber
How many were not.
resultslist
One result per entry, in the order given.
Example output
{
  "count": 1,
  "fields_not_in_plan": [
    "work_email"
  ],
  "found_count": 1,
  "not_found_count": 0,
  "results": [
    {
      "found": true,
      "input": "linkedin.com/in/seanthorne",
      "likelihood": 10,
      "person": {
        "first_name": "Sean",
        "full_name": "Sean Thorne",
        "id": "qEnOZ5Oh0poWnQ1luFBfVw_0000",
        "job_company_industry": "computer software",
        "job_company_name": "People Data Labs",
        "job_company_size": "51-200",
        "job_company_website": "peopledatalabs.com",
        "job_title": "Co-Founder and Chief Executive Officer",
        "job_title_levels": [
          "cxo",
          "owner"
        ],
        "job_title_role": "operations",
        "last_name": "Thorne",
        "linkedin_url": "linkedin.com/in/seanthorne",
        "location_country": "United States",
        "location_name": "San Francisco, California, United States",
        "skills": [
          "Data Science",
          "Entrepreneurship"
        ],
        "work_email": null
      }
    }
  ]
}

Find possible matches for a person

When you know too little to be sure who someone is (just a name and a city, say), get up to 20 likely profiles, best match first, each with a match score. Uses one credit per step, even when nobody matches.

Inputs

Full namenametext
Their first and last name. On its own a name is not enough; add a company, school or location.
Companycompanytext
A company they work or worked at: its name or website.
Locationlocationtext
Where they live: a city, region or country.
Schoolschooltext
A school or university they attended.
Emailemailtext
An email address the person uses, work or personal.
Profile URLprofile_urltext
Their LinkedIn profile, or another social profile such as GitHub or X.
Phone numberphonetext
A phone number they use, starting with + and the country code.

Outputs

countnumber
How many possible matches came back.
fields_not_in_planlist
Fields People Data Labs has that the account's plan does not include. They come back empty; upgrading the plan fills them in.
foundtrue/false
Whether anyone matched.
matcheslist
Possible matches, best first.
Example output
{
  "count": 1,
  "fields_not_in_plan": [
    "work_email"
  ],
  "found": true,
  "matches": [
    {
      "match_score": 94,
      "matched_on": [
        "company",
        "name"
      ],
      "person": {
        "first_name": "Sean",
        "full_name": "Sean Thorne",
        "id": "qEnOZ5Oh0poWnQ1luFBfVw_0000",
        "job_company_industry": "computer software",
        "job_company_name": "People Data Labs",
        "job_company_size": "51-200",
        "job_company_website": "peopledatalabs.com",
        "job_title": "Co-Founder and Chief Executive Officer",
        "job_title_levels": [
          "cxo",
          "owner"
        ],
        "job_title_role": "operations",
        "last_name": "Thorne",
        "linkedin_url": "linkedin.com/in/seanthorne",
        "location_country": "United States",
        "location_name": "San Francisco, California, United States",
        "skills": [
          "Data Science",
          "Entrepreneurship"
        ],
        "work_email": null
      }
    }
  ]
}

Look up an IP address

Find the company behind an IP address, such as a website visitor's, and where the address is. Also says whether it is a VPN, proxy or mobile network. 'found' is true when a company matched; the location comes back either way. Uses one credit when a company matches.

Inputs

IP addressiptextRequired
An IPv4 or IPv6 address.
Minimum confidencemin_confidencetext
Only return a company PDL is at least this sure about. Leave empty to accept any match.One of: very high, high (High or better), moderate (Moderate or better), low (Low or better), very low (Any).

Outputs

companyobject
foundtrue/false
Whether a company matched the address.
ipobject
personobject
Example output
{
  "company": {
    "confidence": "high",
    "name": "Cox Communications",
    "size": "10001+",
    "website": "cox.com"
  },
  "found": true,
  "ip": {
    "address": "72.212.42.169",
    "location": {
      "country": "United States",
      "name": "Phoenix, Arizona, United States",
      "timezone": "America/Phoenix"
    },
    "metadata": {
      "mobile": false,
      "version": 4,
      "vpn": false
    }
  },
  "person": null
}

Search for companies

Find companies that match a description, such as private software companies of 51-200 people in Germany founded since 2015. Every filter you set must match. Each company returned uses one credit, so set 'Most results' to what you need.

Inputs

Industryindustrytext
Only companies in this industry.One of: accounting, airlines/aviation, alternative dispute resolution, alternative medicine, animation, apparel & fashion, architecture & planning, arts and crafts, automotive, aviation & aerospace, and 137 more.
Company sizecompany_sizeslist
How many people work there. Leave empty for any size.One or more of: 1-10, 11-50, 51-200, 201-500, 501-1000 (501-1,000), 1001-5000 (1,001-5,000), 5001-10000 (5,001-10,000), 10001+ (10,001+).
Company typecompany_typeslist
Leave empty for any type.One or more of: private, public, public_subsidiary (Subsidiary of a public company), nonprofit, educational, government.
Countrycountrytext
The country its headquarters is in.One of: afghanistan, åland islands, albania, algeria, american samoa, andorra, angola, anguilla, antigua and barbuda, argentina, and 239 more.
State or regionregiontext
Where its headquarters is, written out in full, e.g. 'California'.
Citycitytext
The city its headquarters is in.
Founded in or afterfounded_afternumber
The earliest founding year, e.g. 2015.From 1600 to 2100.
Founded in or beforefounded_beforenumber
The latest founding year.From 1600 to 2100.
Keywordskeywordslist
Topics the company is known for, e.g. 'saas' or 'fintech'. Any company tagged with at least one of them matches.
SQL filter (advanced)sqltext
For anything the filters above cannot express: a condition on People Data Labs' company fields, like employee_count > 500 AND founded >= 2010. It replaces the filters above, so leave them empty when you use it.
Most resultsmax_resultsnumber
How many to return, up to 100. Each one uses a credit.From 1 to 100. Default: 10.
Next page tokenpage_tokentext
To get the next page of the same search, pass the 'next_page_token' the previous search returned. Leave empty for the first page.

Outputs

companieslist
The companies found.
countnumber
How many came back.
fields_not_in_planlist
Fields People Data Labs has that the account's plan does not include. They come back empty; upgrading the plan fills them in.
next_page_tokentext
Pass to 'Next page token' to get the next page. Empty on the last page.
totalnumber
How many match in all, across every page.
Example output
{
  "companies": [
    {
      "employee_count": 135,
      "founded": 2015,
      "id": "tnHcNHbCv8MKeLh92946LAkX6PKg",
      "industry": "Computer Software",
      "linkedin_url": "linkedin.com/company/peopledatalabs",
      "location": {
        "country": "United States",
        "locality": "San Francisco",
        "name": "San Francisco, California, United States",
        "region": "California"
      },
      "name": "People Data Labs",
      "size": "51-200",
      "tags": [
        "data",
        "b2b data"
      ],
      "type": "private",
      "website": "peopledatalabs.com"
    }
  ],
  "count": 1,
  "fields_not_in_plan": [],
  "next_page_token": "104$14.278746",
  "total": 318
}

Search for people

Find people who match a description, such as sales directors at 51-200 person software companies in Canada. Combine any filters; every filter you set must match. Each person returned uses one credit, so set 'Most results' to what you need.

Inputs

Job titlesjob_titleslist
Titles to look for. Each matches any title containing its words, so 'software engineer' also finds 'senior software engineer'. Up to 20.
Job functionsjob_functionslist
The kind of work they do, whatever their exact title.One or more of: advisory, analyst, creative, support (Customer support), education, engineering, finance, fulfillment, health (Healthcare), hospitality, and 13 more.
Senioritysenioritylist
How senior they are in their current job.One or more of: cxo (C-suite), owner, partner, vp (Vice president), director, manager, senior, entry (Entry level), training (In training), unpaid.
Companiescompanieslist
Where they work now: company names or websites, e.g. 'stripe.com'. A website is the more exact match.
Company sizecompany_sizeslist
How many people work at their current employer. Leave empty for any size.One or more of: 1-10, 11-50, 51-200, 201-500, 501-1000 (501-1,000), 1001-5000 (1,001-5,000), 5001-10000 (5,001-10,000), 10001+ (10,001+).
Industryindustrytext
The industry their current employer is in.One of: accounting, airlines/aviation, alternative dispute resolution, alternative medicine, animation, apparel & fashion, architecture & planning, arts and crafts, automotive, aviation & aerospace, and 137 more.
Countrycountrytext
The country they live in.One of: afghanistan, åland islands, albania, algeria, american samoa, andorra, angola, anguilla, antigua and barbuda, argentina, and 239 more.
State or regionregiontext
The state or region they live in, written out in full, e.g. 'California'.
Citycitytext
The city they live in, e.g. 'Austin'.
Skillsskillslist
Skills they list, e.g. 'python' or 'salesforce'. Anyone with at least one of them matches.
Started current job on or afterstarted_current_job_afterdate
Only people who started their current job on or after this date. Good for finding new hires and job changers.
Only people withmust_havelist
Leave out anyone without these.One or more of: work_email (A work email), personal_emails (A personal email), phone_numbers (A phone number), linkedin_url (A LinkedIn profile).
SQL filter (advanced)sqltext
For anything the filters above cannot express: a condition on People Data Labs' person fields, like job_title_role='sales' AND location_country='canada'. It replaces the filters above, so leave them empty when you use it.
Most resultsmax_resultsnumber
How many to return, up to 100. Each one uses a credit.From 1 to 100. Default: 10.
Next page tokenpage_tokentext
To get the next page of the same search, pass the 'next_page_token' the previous search returned. Leave empty for the first page.

Outputs

countnumber
How many came back.
fields_not_in_planlist
Fields People Data Labs has that the account's plan does not include. They come back empty; upgrading the plan fills them in.
next_page_tokentext
Pass to 'Next page token' to get the next page. Empty on the last page.
peoplelist
The people found.
totalnumber
How many match in all, across every page.
Example output
{
  "count": 1,
  "fields_not_in_plan": [
    "work_email"
  ],
  "next_page_token": "104$14.278746",
  "people": [
    {
      "first_name": "Sean",
      "full_name": "Sean Thorne",
      "id": "qEnOZ5Oh0poWnQ1luFBfVw_0000",
      "job_company_industry": "computer software",
      "job_company_name": "People Data Labs",
      "job_company_size": "51-200",
      "job_company_website": "peopledatalabs.com",
      "job_title": "Co-Founder and Chief Executive Officer",
      "job_title_levels": [
        "cxo",
        "owner"
      ],
      "job_title_role": "operations",
      "last_name": "Thorne",
      "linkedin_url": "linkedin.com/in/seanthorne",
      "location_country": "United States",
      "location_name": "San Francisco, California, United States",
      "skills": [
        "Data Science",
        "Entrepreneurship"
      ],
      "work_email": null
    }
  ],
  "total": 842
}

Standardize a company name

Turn a company name, website or LinkedIn page as someone typed it into People Data Labs' standard record: its proper name, website, industry, size and headquarters. Free: uses no credits.

Inputs

Namenametext
The name as written.
Websitewebsitetext
The company's website.
LinkedIn pageprofile_urltext
The company's LinkedIn page.

Outputs

foundtrue/false
Whether PDL recognised the company.
foundednumber
The year it was founded.
fuzzy_matchtrue/false
Whether the match was approximate rather than exact.
idtext
PDL's id for the company.
industrytext
Its industry.
linkedin_urltext
Its LinkedIn page.
locationobject
Headquarters.
nametext
Its standard name (lowercase, as PDL stores it).
sizetext
Its size band.
tickertext
Its stock ticker, if public.
typetext
private, public, nonprofit, ...
websitetext
Its website.
Example output
{
  "found": true,
  "founded": 2015,
  "fuzzy_match": false,
  "id": "tnHcNHbCv8MKeLh92946LAkX6PKg",
  "industry": "computer software",
  "linkedin_url": "linkedin.com/company/peopledatalabs",
  "location": {
    "name": "san francisco, california, united states"
  },
  "name": "people data labs",
  "size": "51-200",
  "ticker": null,
  "type": "private",
  "website": "peopledatalabs.com"
}

Standardize a location

Turn a place as someone typed it (an address, a city, a region) into People Data Labs' standard spelling, split into city, region and country, ready for a search filter. Free: uses no credits.

Inputs

LocationlocationtextRequired
The place as written.

Outputs

continenttext
The continent.
countrytext
The country.
foundtrue/false
Whether PDL recognised the place.
geotext
Latitude and longitude, as 'lat,long'.
localitytext
The city.
nametext
The full place, e.g. 'portland, oregon, united states'.
regiontext
The state or region.
subregiontext
The county or district.
typetext
What kind of place: locality, region, country, ...
Example output
{
  "continent": "north america",
  "country": "united states",
  "found": true,
  "geo": "37.77,-122.41",
  "locality": "san francisco",
  "name": "san francisco, california, united states",
  "region": "california",
  "subregion": "san francisco county",
  "type": "locality"
}

Standardize a school name

Turn a school or university's name, website or LinkedIn page as someone typed it into People Data Labs' standard record. Free: uses no credits.

Inputs

Namenametext
The name as written.
Websitewebsitetext
Its website.
LinkedIn pageprofile_urltext
Its LinkedIn page.

Outputs

domaintext
Its web domain.
foundtrue/false
Whether PDL recognised the school.
idtext
PDL's id for the school.
linkedin_urltext
Its LinkedIn page.
locationobject
Where it is.
nametext
Its standard name (lowercase, as PDL stores it).
typetext
What kind of school.
websitetext
Its website.
Example output
{
  "domain": "uoregon.edu",
  "found": true,
  "id": "64LkgD6RpD9Ab5sB7rRqvg_0",
  "linkedin_url": "linkedin.com/school/university-of-oregon",
  "location": {
    "name": "eugene, oregon, united states"
  },
  "name": "university of oregon",
  "type": "post-secondary institution",
  "website": "uoregon.edu"
}

Suggest search values

See how People Data Labs spells a job title, company, skill, school or place, with how many profiles have each, so a search filter matches. Free: uses no credits.

Inputs

SuggestfieldtextRequired
What to suggest values for.One of: title (Job titles), company (Companies), website (Company websites), industry (Industries), skill (Skills), school (Schools), major (Fields of study), role (Job functions), sub_role (Job specialties), class (Job categories), and 4 more.
Starting withtexttext
The start of the value. Leave empty for the most common ones.
Most suggestionsmax_resultsnumber
Up to 100.From 1 to 100. Default: 10.

Outputs

countnumber
How many suggestions came back.
suggestionslist
Suggestions, most common first.
Example output
{
  "count": 2,
  "suggestions": [
    {
      "count": 412345,
      "name": "data engineer"
    },
    {
      "count": 20321,
      "name": "data engineering manager"
    }
  ]
}

On this page