Choose this for a quick response. Contact data comes back in the same
request for up to 25 identifiers. For a higher fill rate on bulk lists,
use Batch Contact Enrich — an async job
(typically a 2–3 minute wait) with no per-profile base fee.
Replace
YOUR_API_KEY in each example with your actual API key. All
requests require the x-api-version: 2025-11-01 header.Availability: requires contact-enrich access (enterprise or
higher-tier plans); self-serve keys receive a
403.
Pricing: additive — a base profile credit plus a credit for
each contact field you request. See Pricing for
per-field costs.
Limits: up to 25 identifiers per request.Enrich contact data
Request thecontact field (or specific sub-fields) for one or more profile URLs.
Email records are
{ email, status } objects, where status is one of
deliverable, catch_all, invalid, or unknown (see Email
status). The personal email and phone values above are
illustrative.Contact fields
| Field | Returns |
|---|---|
contact | All contact records: emails, phone numbers, websites |
contact.business_emails | Business email records |
contact.personal_emails | Personal email records |
contact.phone_numbers | Phone numbers |
contact.websites | Personal or company-linked websites |
Email status
Every business and personal email comes back with astatus that tells you how
deliverable the address is. Use it to decide which emails to send to.
| Status | Meaning |
|---|---|
deliverable | The mailbox was confirmed to exist and accept mail at this exact address. Lowest bounce risk. |
catch_all | The domain accepts mail for any address, so this specific mailbox can’t be confirmed. It may work, but delivery isn’t guaranteed. |
invalid | The mailbox was confirmed not to exist or is otherwise undeliverable. Sending will bounce. |
unknown | Deliverability couldn’t be determined (for example a timeout or an inconclusive check). Returned when no status info is available. |
Get a specific contact type
Request a single sub-field to return only that contact type — useful for keeping credit costs down. This endpoint always returns contact only (no profile fields likebasic_profile or experience).
Business emails only
Business emails only
contact.business_emails array — no other contact fields or profile data.Personal emails only
Personal emails only
contact.personal_emails array.Phone numbers only
Phone numbers only
contact.phone_numbers array.Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
professional_network_profile_urls | string[] | One of these two identifiers | Profile URLs to enrich. Max 25. |
business_emails | string[] | One of these two identifiers | Business emails for reverse lookup. Max 25. |
fields | string[] | No | Which fields to return. Use contact (or its sub-fields). |
Errors
| Status | Meaning |
|---|---|
400 | Invalid request — malformed identifier or missing one. |
401 | Invalid or missing API key. |
403 | Permission denied or insufficient credits. |
500 | Internal server error. Retry with exponential backoff. |
API reference summary
| Detail | Value |
|---|---|
| Endpoint | POST /person/contact/enrich |
| Auth | Bearer token + x-api-version: 2025-11-01 |
| Request | One of professional_network_profile_urls or business_emails (max 25). fields: contact. |
| Response | Array: [{ "matched_on", "match_type", "matches": [{ "confidence_score", "person_data" }] }]. |
| Errors | 400, 401, 403, 500 |
What to do next
- Enrich in bulk — Batch Contact Enrich handles large lists asynchronously with no per-profile base fee.
- Get full profiles — Person Enrich returns profile, employment, education, and contact data together.
- Find people first — use Person Search to build your list of profile URLs.

