Skip to main content

Identify Person

Overview

The Identify Person endpoint is designed to identify individuals from partial or uncertain information. Whether you have outdated emails, names, or phone numbers, this endpoint can match them to a person within the profileAPI database. It provides a confidence score for each match, indicating the reliability of the match.


Endpoint Details

  • URL: https://api.profileapi.com/2024-03-01/persons/identify
  • HTTP Method: POST

Request Parameters

ParameterTypeDescriptionExampleRequiredDefault Value
identifiersarray of objectsA set of identifiers used to locate an individual. At least one required.See Identifier Structure below.YesN/A
queriesarray of objectsDetailed snippets of information about the person.See Query Structure below.NoN/A
fieldsarray of stringsFields to return from the person object model.[ "name", "department" ]No[ "id" ]
minimumConfidenceScorenumberMinimum acceptable confidence score (0-1). Results below this score are not returned.0.5No0

Identifier Structure

Identifiers are key inputs for locating individuals. You must provide at least one of the following:

FieldTypeDescriptionExample
personNameQuerystringFull or partial name, including nicknames or initials."John H. Doe"
personPhoneQuerystringPhone number in any format. If no country code is specified, the US (+1) is assumed."+1234567890", "234567890"
personEmailQuerystringEmail address, current or historical."[email protected]"

Query Structure

Optional query fields refine the search and improve accuracy:

FieldTypeDescriptionExample
personLinkedInQuerystringLinkedIn profile URL or handle."https://linkedin.com/in/johndoe"
personCrunchbaseQuerystringCrunchbase profile URL or handle."https://crunchbase.com/person/john-doe"
personTwitterQuerystringTwitter profile URL or handle."@johndoe"
personLocationQuerystringFree-text description of location, e.g., city, state, country."Fremont, California"
companyNameQuerystringName of the company where the person works or worked."Google"
companyIndustryQuerystringIndustry of the company where the person works or worked."Technology"

Example Request

JSON Request

{
"identifiers": [
{
"personNameQuery": "John Doe"
}
],
"queries": [
{
"personTitleQuery": "Software Engineer"
},
{
"personEducationInstitutionNameQuery": "Arizona State University"
}
],
"minimumConfidenceScore": 0.5
}

Example Usage

cURL

curl -X POST "https://api.profileapi.com/2024-03-01/persons/identify" \
-H "Content-Type: application/json" \
-d '{
"identifiers": [{"personNameQuery": "John Doe"}],
"queries": [{"personTitleQuery": "Software Engineer"}],
"minimumConfidenceScore": 0.5
}'

Node.js (Axios)

const axios = require('axios');

const data = {
identifiers: [{ personNameQuery: "John Doe" }],
queries: [{ personTitleQuery: "Software Engineer" }],
minimumConfidenceScore: 0.5
};

axios.post('https://api.profileapi.com/2024-03-01/persons/identify', data)
.then(response => console.log(response.data))
.catch(error => console.error(error));

Python (Requests)

import requests

data = {
"identifiers": [{"personNameQuery": "John Doe"}],
"queries": [{"personTitleQuery": "Software Engineer"}],
"minimumConfidenceScore": 0.5
}

response = requests.post("https://api.profileapi.com/2024-03-01/persons/identify", json=data)

if response.status_code == 200:
print(response.json())
else:
print("Error:", response.status_code)

Response Structure

JSON Response

{
"data": {
"id": "9e6a55b258ef11edb8780242ac120002",
"linkedInUrl": "https://linkedin.com/in/johndoe",
"confidence": 0.95
}
}