Skip to main content
People Enrich takes what you already know about a person, such as a work email, a profile URL, or a name and employer, and returns the best available candidate with an identity-match score from 0 to 100. It is a beta API available on all plans, including Free. To find people you don’t know yet, use People Search.

Enrich a person

Use a work email as the identity clue. See the Quickstart for authentication and SDK setup.

Choose identity clues

Clues are additive: supply reliable additional context to improve matching.

Enrich by work email

Send a work email and any reliable company context to POST /people/enrich.
Email inputs can be up to 320 characters. Free and disposable email providers return 422. Preserve the original input and handle rejection without a retry loop. For signup enrichment, show suggestions after checking the match score, and keep the user’s corrections. Use Brand by email if you only need company information.

Enrich by profile URL

Provide one or more person-profile URLs in social_urls. Additional company or location clues can help resolve ambiguous profiles.
Send 1–20 valid URLs. Use person-profile pages, not company pages. Keep the profile URL as an external identifier when merging contacts, and review the returned score before treating two records as the same person. To enrich a People Search result, send the URL from its profiles list as social_urls.

Enrich by name

Names alone are ambiguous. Send both first and last name with at least one company, education, or location clue.
Names accept 1–100 characters per part. Company clues can include a name or domain. Education accepts 1–10 entries with institution details, degree, field of study, or graduation year; valid years range from 1900 to 2200. For attendee lists, send only the context supplied by the source. Do not invent a company or location to satisfy validation. Check the match score and retain an unresolved state for ambiguous people.

Read the result

match.status: "candidate" includes a score and person. Weak candidates can be returned, so choose a score threshold for your workflow and preserve uncertain matches for review. match.status: "not_found" has score: null and person: null. person.current_role_status is present, none, or unknown. When it is unknown, a missing role is unverified, not evidence that the person has no job. Profiles can include experience, education, skills, social links, and timestamps.

Availability and errors

Insufficient clues return 400; free or disposable email inputs return 422. Handle 408 and transient server errors separately from not_found. ZDR omits hosted avatar URLs; see zero data retention. The reference describes all fields, and the lead enrichment recipe shows how to use the profile.