Contact Enrich
Enrich only the contact data for a person — business emails, personal emails, and phone numbers — using the Crustdata cached dataset. Provide either a profile URL or a business email. Exactly one identifier type must be provided per request. Supports batch enrichment of up to 25 identifiers at once.
This endpoint mirrors /person/enrich but is scoped to contact fields: the enrichable fields are contact.business_emails, contact.personal_emails, contact.phone_numbers, contact.phone_numbers_info, and contact.websites. contact.phone_numbers_info belongs to the phone tier: either phone field bills the tier once. contact.phone_numbers returns both phone lists. contact.phone_numbers_info, or one of its sub-fields, returns only phone_numbers_info, with all four keys in each record. Requesting any non-contact field returns a 400 error listing the contact fields your key can request. Current platform behavior: email records hold only email and status: crustdata_company_id and last_updated are not returned, even when requested. When fields is omitted, the three contact tiers (business emails, personal emails, and phone numbers) are enriched; contact.websites is returned only when requested explicitly. Each submitted identifier returns one result entry; an identifier with no contact match returns an empty matches array.
Set verified: true to return only business emails that pass a deliverability check at request time. Cached addresses marked deliverable or unknown are re-checked before they are served, and the response holds only deliverable and catch_all business emails. When no address survives, contact.business_emails is empty and contact.business_emails_message is no verified emails found. The flag only affects contact.business_emails and adds 0.5 credits per matched person who receives at least one verified business email.
Default rate-limit is 15 requests per minute. Send an email to gtm@crustdata.co to discuss higher limits if needed for your use case.
Authorizations
API key passed as a Bearer token in the Authorization header.
Headers
API version to use. This endpoint currently requires 2025-11-01.
2025-11-01 "2025-11-01"
Body
Person identifier (profile URL or business email) and optional contact-field selection.
- Option 1
- Option 2
Request body for /person/contact/enrich. Submit exactly one identifier type per request — professional_network_profile_urls or business_emails — and optionally restrict which contact tiers are enriched.
Array of professional-network profile URLs to enrich (max 25).
Array of business emails to look up (max 25).
Contact tiers to enrich. Only contact fields are accepted: contact.business_emails, contact.personal_emails, contact.phone_numbers, contact.phone_numbers_info, and contact.websites. contact.phone_numbers_info belongs to the phone tier, so either phone field bills the tier once. contact.phone_numbers returns both phone lists. contact.phone_numbers_info, or one of its sub-fields, returns only phone_numbers_info. When omitted, the three contact tiers (business emails, personal emails, phone numbers) are enriched; contact.websites must be requested explicitly. Requesting any non-contact field returns a 400 error.
Return only business emails that pass a deliverability check at request time. Cached addresses marked deliverable or unknown are re-checked before they are served, and only deliverable and catch_all entries are returned. When no address survives, contact.business_emails is empty and contact.business_emails_message is set. Only affects contact.business_emails. Adds 0.5 credits per matched person who receives at least one verified business email.
true
Response
Enriched person contact data. Returns a top-level array with one entry per submitted identifier; unmatched identifiers return an empty matches array.
The specific input value this entry corresponds to (a profile URL or a business email).
"https://www.linkedin.com/in/dvdhsu/"
Which identifier type the input was matched on.
professional_network_profile_url, business_email Outcome for this identifier. matched: at least one match. not_found: no profile in Crustdata yet; the identifier is queued for enrichment, so retry later or use live enrich. redacted: the person asked Crustdata to remove their data and the request was approved. A redacted entry always has empty matches, is never billed, and does not change on retry or with live enrich.
matched, not_found, redacted Matching contact records. Empty when no contact data was found for the identifier.

