---
title: "People Data Labs / Identify matching people"
description: "People Data Labs tool people-data-labs-person-identify on looot: input fields, $0.28 per result, output shape, and code to run it with curl, JavaScript or Python."
sidebar:
  hidden: true
---

{/* Generated by scripts/generate-api-reference.mjs from data/api-reference.json. Do not edit. */}

Returns a ranked list of possible person matches for loose identifying fields (name, company, location, email and others), each with a match score. Priced per call.

- **Tool id:** `people-data-labs-person-identify`
- **Provider:** [People Data Labs](/providers/people-data-labs)
- **Job:** [Enrich a person from a name and company](/reference/jobs/people-enrich) (`people.enrich`)
- **Price:** $0.28 per result. A call that fails at the provider costs $0.

## Inputs

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `birth_date` | string | no | The person's birth date: either the year or a full birth date in the format YYYY-MM-DD. Example: "1996-10-01" |
| `company` | string | no | A name, website, or social url of a company where the person has worked. Example: "Amazon" |
| `country` | string | no | A country in which the person lives. Example: "United States" |
| `data_include` | string | no | A comma-separated string of fields that you would like the response to include. Begin the string with a - if you would instead like to exclude the specified fields. If you would like to exclude all data from being returned, use data_include="". Example: "full_name,emails.address" |
| `email` | string | no | An email the person has used. |
| `email_hash` | string | no | A sha256 email hash. |
| `first_name` | string | no | The person's first name. |
| `include_if_matched` | boolean | no | If true, the response will include the field matches.matched_on that contains a list of every query input that matched this profile |
| `last_name` | string | no | The person's last name. |
| `lid` | string | no | The person's LinkedIn ID. Example: "145991517" |
| `locality` | string | no | A locality in which the person lives. Example: "Boise" |
| `location` | string | no | A location in which a person lives. Example: "Medford, OR USA" |
| `middle_name` | string | no | The person's middle name. |
| `name` | string | no | The person's full name, at least first and last. |
| `phone` | string | no | A phone number the person has used. |
| `postal_code` | string | no | The postal code where the person lives. If there is no value for country, the postal code is assumed to be US. Example: "83701" |
| `pretty` | boolean | no | Whether the output should have human-readable indentation |
| `profile` | string | no | A social profile the person has used. https://docs.peopledatalabs.com/docs/social-networks. |
| `region` | string | no | A state or region in which the person lives. Example: "Idaho" |
| `school` | string | no | A name, website, or social url of a university or college the person has attended. Example: "University of Iowa" |
| `street_address` | string | no | A street address in which the person lives. Example: "1234 Main Street" |
| `titlecase` | boolean | no | Setting titlecase to true will titlecase the person data in 200 responses. |

## Output

Shape of the run's `result`, the expected shape, not yet checked against real answers:

```txt
{ status, matches: { data: { id, sex, emails, skills: string[], regions, industr... ...
```

The shape is cut here. Signed in, `looot inspect people-data-labs-person-identify` prints all of it.

## Run it

Every call needs your API token in `LOOOT_TOKEN`; [Sign in](/get-started/sign-in#use-the-token-in-scripts-and-agents) shows how to get one. Each run also needs a new idempotency key, so a retry never pays twice. With `wait: 30` the answer comes back inline when the run ends within 30 seconds. Otherwise you get the running run back: poll `GET /v1/runs/<runId>`.

Example input with placeholder values:

<CodeGroup>

```bash curl
curl -X POST "https://api.looot.ai/v1/runs" \
  -H "Authorization: Bearer $LOOOT_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"endpointId":"people-data-labs-person-identify","input":{"lid":"145991517","name":"Jane Doe","email":"jane.doe@example.com","phone":"+15555550100","region":"Idaho","school":"University of Iowa","company":"Amazon","country":"United States","profile":"<profile>","locality":"Boise","location":"Medford, OR USA","last_name":"Doe","birth_date":"1996-10-01","email_hash":"jane.doe@example.com","first_name":"Jane","middle_name":"<middle_name>","postal_code":"83701","data_include":"full_name,emails.address","street_address":"1234 Main Street"},"wait":30}'
```

```js JavaScript
const response = await fetch("https://api.looot.ai/v1/runs", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.LOOOT_TOKEN}`,
    "Content-Type": "application/json",
    "Idempotency-Key": crypto.randomUUID(),
  },
  body: JSON.stringify({
    endpointId: "people-data-labs-person-identify",
    input: {
      lid: "145991517",
      name: "Jane Doe",
      email: "jane.doe@example.com",
      phone: "+15555550100",
      region: "Idaho",
      school: "University of Iowa",
      company: "Amazon",
      country: "United States",
      profile: "<profile>",
      locality: "Boise",
      location: "Medford, OR USA",
      last_name: "Doe",
      birth_date: "1996-10-01",
      email_hash: "jane.doe@example.com",
      first_name: "Jane",
      middle_name: "<middle_name>",
      postal_code: "83701",
      data_include: "full_name,emails.address",
      street_address: "1234 Main Street",
    },
    wait: 30,
  }),
});
const run = await response.json();
console.log(run.status, run.result);
```

```python Python
import os
import uuid

import requests

response = requests.post(
    "https://api.looot.ai/v1/runs",
    headers={
        "Authorization": f"Bearer {os.environ['LOOOT_TOKEN']}",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    json={
        "endpointId": "people-data-labs-person-identify",
        "input": {
            "lid": "145991517",
            "name": "Jane Doe",
            "email": "jane.doe@example.com",
            "phone": "+15555550100",
            "region": "Idaho",
            "school": "University of Iowa",
            "company": "Amazon",
            "country": "United States",
            "profile": "<profile>",
            "locality": "Boise",
            "location": "Medford, OR USA",
            "last_name": "Doe",
            "birth_date": "1996-10-01",
            "email_hash": "jane.doe@example.com",
            "first_name": "Jane",
            "middle_name": "<middle_name>",
            "postal_code": "83701",
            "data_include": "full_name,emails.address",
            "street_address": "1234 Main Street",
        },
        "wait": 30,
    },
    timeout=90,
)
run = response.json()
print(run["status"], run.get("result"))
```

</CodeGroup>

To let looot pick among every provider of this job instead, send `job:people.enrich` as `endpointId`; see [the job page](/reference/jobs/people-enrich).
