Introduction
The Enrich Profile endpoint returns a person’s professional profile from any combination of identifying details. Every input is optional and independent; you only need to provide at least one, and the more fields you include, the more accurate the match.
This endpoint costs 2 credits, charged only when a person is found. Add +1 credit when fullProfile: true and a match is found. A not-found response (404) is always free, even with fullProfile: no credits are consumed.
Authorization
apikey
string
required
Authorization: Bearer YOUR_API_KEY header.Request body
All fields are optional and independent. Provide at least one of email, firstName, lastName, companyDomain, or companyName. Any combination works, and the more identifying fields you provide, the more accurate the match.
email
string
[email protected]).firstName
string
lastName
string
companyDomain
string
acme.com or https://acme.com).companyName
string
Acme Corp).fullProfile
boolean
false. When true and a match is found, returns the full profile (same fields as the corresponding fetch endpoint) for 1 extra credit.Best practices
Every field you add narrows the search. That is a trade-off, not a free win.
Fewer fields mean a higher match rate, but lower confidence. Sending only firstName: "Pierre" and lastName: "Dupont" will almost always return someone, because there are hundreds of Pierre Dupont. Nothing in that response guarantees it is your Pierre Dupont. In any case, whenever more than one person matches your request, the extra candidates are returned in the response as alternate persons.
More fields mean a lower match rate, but higher confidence. Add companyDomain: "acme.com" and the request only matches if a Pierre Dupont is actually known at Acme. You will get more 404s, and the matches you do get are the right person.
Which side to lean on depends on what a wrong match costs you. For outbound or CRM writes, prefer precision: a wrong profile is worse than no profile. For coverage-oriented work where a human reviews the output, a looser query is fine.
Response structure
The person is returned nested under data.person.
Full profile
Set fullProfile to true to return the same person shape as /v2/fetch/persons when a match is found. The primary data.person then includes full-profile fields such as summary, photoUrl, experience, education, skills, languages, certifications, and more. data.alternativePersons always stays in the light enrich shape.
{
"email": "[email protected]",
"fullProfile": true
}
The complete full-profile field reference is documented on the Person Profile endpoint.
If the full profile cannot be assembled for the matched person, the response falls back to the light shape and only the base 2 credits are charged: the extra credit applies only when the full profile is actually delivered. To know which shape you received, check quotas.creditsConsumed (3 for full, 2 for light) or the presence of a full-profile field such as experience.
success
boolean
true if the request was processed successfullyerror
null
null on success