Skip to main content
POST
https://api.crustdata.com
/
person
/
contact
/
enrich
curl --request POST \ --url https://api.crustdata.com/person/contact/enrich \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'x-api-version: <x-api-version>' \ --data ' { "professional_network_profile_urls": [ "https://www.linkedin.com/in/dvdhsu/" ] } '
[ { "matched_on": "https://www.linkedin.com/in/dvdhsu/", "match_type": "professional_network_profile_url", "matches": [ { "confidence_score": 1, "person_data": { "crustdata_person_id": 14540, "contact": { "business_emails": [ { "email": "david@example.com", "status": "deliverable" }, { "email": "d.hsu@example.com", "status": "unknown" } ], "personal_emails": [ { "email": "david.personal@example.com", "status": "deliverable" } ], "phone_numbers": [ "+15555550123" ] } } } ] } ]

Authorizations

Authorization
string
header
required

API key passed as a Bearer token in the Authorization header.

Headers

x-api-version
enum<string>
default:2025-11-01
required

API version to use. This endpoint currently requires 2025-11-01.

Available options:
2025-11-01
Example:

"2025-11-01"

Body

application/json

Person identifier (profile URL or business email) and optional contact-field selection.

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.

professional_network_profile_urls
string[]
required

Array of professional-network profile URLs to enrich (max 25).

Example:
["https://www.linkedin.com/in/dvdhsu/"]
business_emails
string<email>[]

Array of business emails to look up (max 25).

Example:
["david@example.com"]
fields
string[]

Contact tiers to enrich. Only contact fields are accepted: contact.business_emails, contact.personal_emails, and contact.phone_numbers. When omitted, all three tiers are enriched. Requesting any non-contact field returns a 400 error.

Example:
[
  "contact.business_emails",
  "contact.phone_numbers"
]

Response

Enriched person contact data. Returns a top-level array with one entry per submitted identifier; unmatched identifiers return an empty matches array.

matched_on
string

The specific input value this entry corresponds to (a profile URL or a business email).

Example:

"https://www.linkedin.com/in/dvdhsu/"

match_type
enum<string>

Which identifier type the input was matched on.

Available options:
professional_network_profile_url,
business_email
matches
object[]

Matching contact records. Empty when no contact data was found for the identifier.

Example:
[
  {
    "matched_on": "https://www.linkedin.com/in/dvdhsu/",
    "match_type": "professional_network_profile_url",
    "matches": [
      {
        "confidence_score": 1,
        "person_data": {
          "crustdata_person_id": 14540,
          "contact": {
            "business_emails": [
              {
                "email": "david@example.com",
                "status": "deliverable"
              }
            ],
            "personal_emails": [],
            "phone_numbers": []
          }
        }
      }
    ]
  }
]