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
Parameter | Type | Description | Example | Required | Default Value |
---|---|---|---|---|---|
identifiers | array of objects | A set of identifiers used to locate an individual. At least one required. | See Identifier Structure below. | Yes | N/A |
queries | array of objects | Detailed snippets of information about the person. | See Query Structure below. | No | N/A |
fields | array of strings | Fields to return from the person object model. | [ "name", "department" ] | No | [ "id" ] |
minimumConfidenceScore | number | Minimum acceptable confidence score (0-1). Results below this score are not returned. | 0.5 | No | 0 |
Identifier Structure
Identifiers are key inputs for locating individuals. You must provide at least one of the following:
Field | Type | Description | Example |
---|---|---|---|
personNameQuery | string | Full or partial name, including nicknames or initials. | "John H. Doe" |
personPhoneQuery | string | Phone number in any format. If no country code is specified, the US (+1) is assumed. | "+1234567890" , "234567890" |
personEmailQuery | string | Email address, current or historical. | "[email protected]" |
Query Structure
Optional query fields refine the search and improve accuracy:
Field | Type | Description | Example |
---|---|---|---|
personLinkedInQuery | string | LinkedIn profile URL or handle. | "https://linkedin.com/in/johndoe" |
personCrunchbaseQuery | string | Crunchbase profile URL or handle. | "https://crunchbase.com/person/john-doe" |
personTwitterQuery | string | Twitter profile URL or handle. | "@johndoe" |
personLocationQuery | string | Free-text description of location, e.g., city, state, country. | "Fremont, California" |
companyNameQuery | string | Name of the company where the person works or worked. | "Google" |
companyIndustryQuery | string | Industry 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
}
}