Skip to main content
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

IdentifyEnrich
Endpoint/person/identify/person/enrich
Response wrapper{ "results": [...] }Top-level array [...]
Best forMatching, deduplication, routingFull profile retrieval
Use whenYou 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

ParameterTypeRequiredDescription
professional_network_profile_urlsstring[]One of theseLinkedIn profile URLs to identify. Max 25.
business_emailsstring[]One of theseBusiness emails to identify.
fieldsstring[]NoFields to include in person_data.
min_similarity_scorenumberNoMinimum similarity score for email matching (0–1).

Errors

StatusMeaning
400Invalid request — missing identifier or malformed input.
401Invalid or missing API key.
403Permission denied.
404No data found.
500Internal server error.

API reference summary

DetailValue
EndpointPOST /person/identify
AuthBearer token + x-api-version: 2025-11-01
Requestprofessional_network_profile_urls or business_emails. Optional: fields, min_similarity_score.
Response{ "results": [{ "matched_on", "match_type", "matches": [{ "confidence_score", "person_data" }] }] }
Errors400, 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.