Skip to main content
Use this when you need contact data (business emails, personal emails, phone numbers) for a small number of people and want it back in the same request — for example, alongside full profile fields, or to reverse-look-up a person by their business email.
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).
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. Limits: up to 25 identifiers per request.
Contact endpoint rate limits are grouped with the live endpoints, not with in-database, so they do not move with the limits on search and enrich. See Rate limits.

Pricing

Billed per requested contact type, per matched person — there is no base credit, and only the types you request are fetched and billed. Omitting fields requests all three (5, the maximum without verified). contact.websites is not one of the billed contact types, so requesting it currently uses 0 credits. Identifiers with no match are free. So is an identifier the person asked us to remove: it comes back with match_status: "redacted" and an empty matches. See Pricing for all endpoints. Set verified: true and each matched person who receives at least one verified business email costs 0.5 more. Business emails alone then cost 1.5 per matched person, and all three types cost 5.5. You pay nothing for the add-on on a person whose verified list comes back empty.

Enrich contact data

Request the contact 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.
Request only the sub-fields you need (for example contact.business_emails) to keep credit costs down. You can also combine contact with profile fields like basic_profile in the same request — see Person Enrich.

Contact fields

Email status

Every business and personal email comes back with a status that tells you how deliverable the address is. Use it to decide which emails to send to.

Verified business emails only

Set verified: true to get back only business emails that pass a deliverability check at request time. Crustdata re-checks cached addresses marked deliverable or unknown before serving them and drops any address that fails. The response then holds only deliverable and catch_all business emails. Personal emails and phone numbers do not change.
When no address survives the check, business_emails is an empty array and business_emails_message reads no verified emails found. The person still counts as matched, but you pay nothing for business emails. The second response above is illustrative.
verified only changes contact.business_emails. It has no effect unless you request business emails, and it adds 0.5 credits per matched person who receives at least one verified business email. The check runs at request time, so expect a slower response than an unverified call.

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 like basic_profile or experience).
Returns only the contact.business_emails array — no other contact fields or profile data. Billed 1 credit per matched person.
Returns only the contact.personal_emails array. Billed 2 credits per matched person.
Returns only the contact.phone_numbers array. Billed 2 credits per matched person.
Pass business_emails instead of profile URLs — the endpoint resolves each email to its person and returns their contact data in the same request. No separate identification call is needed.
Use exactly one identifier type per request — business_emails and professional_network_profile_urls cannot be mixed in the same call. If you only need to know who owns an email (identity, not contact data), use Identify (Reverse Email Lookup).

Request parameters

Errors


API reference summary

For the full field catalog and identifier behavior, see the Person Enrich reference. For credit pricing, see Pricing.

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, and education data.
  • Find people first — use Person Search to build your list of profile URLs.