Use this when you have a LinkedIn URL or business email and need to resolve it to a known person record — for CRM deduplication, lead routing, or pre-enrichment matching.
The Person Identify API takes a LinkedIn URL or business email and returns matched person profiles ranked by confidence score. It uses the same request format as Enrich but is designed for entity resolution rather than deep profiling.
POST https://api.crustdata.com/person/identify
Replace YOUR_API_KEY in each example with your actual API key. All requests require the x-api-version: 2025-11-01 header.
Identify by LinkedIn URL
curl --request POST \
--url https://api.crustdata.com/person/identify \
--header 'authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--header 'x-api-version: 2025-11-01' \
--data '{
"professional_network_profile_urls": [
"https://www.linkedin.com/in/abhilashchowdhary"
]
}'
Response trimmed for clarity.
Identify by business email
curl --request POST \
--url https://api.crustdata.com/person/identify \
--header 'authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--header 'x-api-version: 2025-11-01' \
--data '{
"business_emails": ["abhilash@crustdata.com"]
}'
Email-based identification may return multiple candidates with varying confidence scores. Check confidence_score to pick the best match.
No-match behavior
When no person matches the identifier, matches is empty:
{
"results": [
{
"matched_on": "nonexistent@example.com",
"match_type": "business_email",
"matches": []
}
]
}
Action: Try a different identifier type (LinkedIn URL instead of email). Do not retry.
Identify vs Enrich
| Identify | Enrich |
|---|
| Endpoint | /person/identify | /person/enrich |
| Response wrapper | { "results": [...] } | Top-level array [...] |
| Best for | Matching, deduplication, routing | Full profile retrieval |
| Use when | You need to resolve “who is this person?” | You need detailed person data |
Common pattern: Use Identify to resolve ambiguous inputs, then pass the LinkedIn URL from the best match into Enrich for the full profile.
Request parameters
| Parameter | Type | Required | Description |
|---|
professional_network_profile_urls | string[] | One of these | LinkedIn profile URLs to identify. Max 25. |
business_emails | string[] | One of these | Business emails to identify. |
fields | string[] | No | Fields to include in person_data. |
min_similarity_score | number | No | Minimum similarity score for email matching (0–1). |
Errors
| Status | Meaning |
|---|
400 | Invalid request — missing identifier or malformed input. |
401 | Invalid or missing API key. |
403 | Permission denied. |
404 | No data found. |
500 | Internal server error. |
API reference summary
| Detail | Value |
|---|
| Endpoint | POST /person/identify |
| Auth | Bearer token + x-api-version: 2025-11-01 |
| Request | professional_network_profile_urls or business_emails. Optional: fields, min_similarity_score. |
| Response | { "results": [{ "matched_on", "match_type", "matches": [{ "confidence_score", "person_data" }] }] } |
| Errors | 400, 401, 403, 404, 500 |
What to do next
- Get the full profile — pass the LinkedIn URL from Identify into Enrich.
- Search for similar people — use Person Search to find people at the same company.
- See more examples — browse Person Examples.