Person Enrichment API endpoint: match records by email, phone, name, social URL, or other identifiers and append 60+ profile data points.
400 Bad Request.
| Field | Example |
|---|---|
email | jane.doe@example.com |
phone | +15551234567 |
social_url | https://linkedin.com/in/janedoe |
linkedin_id | 123456789 |
legion_id | fdd85569-f0f0-53a9-bc60-089507193c28 |
email_hash | SHA-256, SHA-1, or MD5 hash of normalized email |
first_name, last_name, or full_name) plus at least one contextual field:
| Context | Fields | Example |
|---|---|---|
| Location | city, state, country, postal_code, address | "first_name": "Jane", "last_name": "Doe", "city": "San Francisco", "state": "CA" |
| Company | company | "first_name": "Jane", "last_name": "Doe", "company": "Acme Corp" |
| School | school | "first_name": "Jane", "last_name": "Doe", "school": "Stanford University" |
| Job title | job_title | "first_name": "Jane", "last_name": "Doe", "job_title": "VP of Engineering" |
| Birth date | birth_date | "first_name": "Jane", "last_name": "Doe", "birth_date": "1985" |
company and school fields accept names, website URLs, or social URLs:
Request model for person enrichment. Requires a primary identifier (email, phone, social_url, linkedin_id, legion_id, email_hash) OR name + context (location, company, school, job_title, birth_date).
Email address (will be normalized)
SHA-256 (64 chars), SHA-1 (40 chars), or MD5 (32 chars) hash of normalized email address (for privacy)
Phone number (will be normalized to E.164)
LinkedIn numeric ID
Social profile URL (LinkedIn, Twitter/X, GitHub, Facebook - will be normalized and detected)
Legion ID (exact match)
Full name (will be normalized)
First name (will be normalized)
Last name (will be normalized)
Full address string (will be parsed to extract city, state, postal_code, and country)
City name
State name or code
Country name or code
Postal/ZIP code
Job title
Company name, website, or social URL
School name, website, or social URL
Birth date for matching or narrowing name-based results (YYYY-MM-DD, YYYY-MM, or YYYY). Can be used as name + birth_date lookup or as a qualifier on other name-based combos.
If true, return multiple matches sorted by confidence
Maximum number of results to return when multiple_results=true (default: 2, max: 10)
1 <= x <= 10Minimum match confidence level to include in results: 'high', 'moderate', or 'low'. Matches below this threshold will be filtered out.
If true, format text fields in title case (names, job titles, company names, locations, skills, headlines). Raw fields, IDs, URLs, codes, and confidence fields are excluded.
Comma-separated list of fields that must be present in response (e.g., 'email,phone'). Matches missing required fields will be filtered out.
Comma-separated list of fields to include in response. If omitted, all fields are returned.
Comma-separated list of fields to exclude from response. Applied after include_fields filter.
If true, pretty-print JSON response with indentation.