Skip to main content
Reference material for Person Enrich: request parameters, response fields, valid fields values, person_data section catalog, and errors. For walk-through examples, see Person Enrich and Examples.

Request parameter reference

ParameterTypeRequiredDefaultDescription
professional_network_profile_urlsstring[]One of professional_network_profile_urls or business_emailsProfile URLs to enrich. Max 25.
business_emailsstring[]One of professional_network_profile_urls or business_emailsBusiness emails for reverse lookup. Max 25.
fieldsstring[]Nobasic_profile, social_handlesSpecific field paths or section groups to return. When omitted, only basic_profile and social_handles are returned.
min_similarity_scorenumber (0–1)NoNoneMinimum confidence threshold for email reverse lookup matches.

Response fields reference

Each item in the response array contains:
FieldTypeDescription
matched_onstringThe input identifier (profile URL or email)
match_typestringprofessional_network_profile_url or business_email
matchesarrayArray of candidate matches (may be empty for no-match)
matches[].confidence_scorenumber0 to 1. How confident the match is. 1.0 = exact match.
matches[].person_dataobjectFull enriched profile. See person_data sections below.

Using the fields parameter

By default, the API returns only the basic_profile and social_handles sections. Use the fields parameter to request the additional sections or dot-paths you need.
curl --request POST \
  --url https://api.crustdata.com/person/enrich \
  --header 'authorization: Bearer YOUR_API_KEY' \
  --header 'content-type: application/json' \
  --header 'x-api-version: 2025-11-01' \
  --data '{
    "professional_network_profile_urls": [
      "https://www.linkedin.com/in/dvdhsu/"
    ],
    "fields": [
      "basic_profile.summary",
      "contact",
      "dev_platform_profiles"
    ]
  }'
Field pathWhat it returns
basic_profile.summaryThe person’s summary or about text
contactContact section with email records, phone numbers, and websites when available
contact.business_emailsBusiness email records when available
contact.personal_emailsPersonal email records when available
contact.phone_numbersPhone numbers when available
contact.websitesPersonal or company-linked websites
dev_platform_profilesDeveloper platform profiles when available
social_handles.dev_platform_identifier.profile_urlCanonical developer platform profile URL when available
experience.employment_details.current.nameThe person’s current company name
Use contact when you want contact-ready records and dev_platform_profiles when you want developer platform context in the same enrich response.

person_data sections

The person_data object contains the following sections. Pass any of these names to fields to include that section, or use dot-paths like basic_profile.summary to request a specific sub-field.
SectionKey fieldsDescription
crustdata_person_idintegerTop-level Crustdata identifier for the enriched profile
updated_atdate-time string (nullable)Top-level timestamp of the most recent profile refresh
basic_profilename, first_name, last_name, headline, current_title, normalized_title (JTN, beta), professional_network_name, summary, location, languages, last_updated, profile_picture_permalinkCore identity and role
professional_networkprofile_picture_permalink, connections, followers, open_to_cards, pronoun, location.raw, location.city, location.state, location.country, location.continentProfile metadata when available
social_handlesprofessional_network_identifier.profile_url, dev_platform_identifier.profile_url, twitter_identifier.slugAvailable social identifiers
experienceemployment_details.current[], employment_details.past[]Full employment history
educationschools[]Education background
certificationsname, issuing_organization, issue_date, expiration_dateCertifications. Requires field-level permission on your API key.
honorstitle, issuer, issued_date, descriptionHonors and awards. Requires field-level permission on your API key.
skillsprofessional_network_skills[]Professional skills
contactbusiness_emails[], personal_emails[], phone_numbers[], websites[]Contact data such as websites, phones, or email records
dev_platform_profilesdeveloper platform profile objectsDeveloper platform data when available

Fresh data and realtime enrichment

/person/enrich serves data from the cached dataset. When you need fresh profile data retrieved in real time, use the dedicated Person Live Enrich endpoint (POST /person/professional_network/enrich/live), which is designed for real-time retrieval from the web.
If cached enrich is not enough, use Person Live Enrich — it is designed for fresh profile retrieval from the web.

Errors

StatusMeaning
400Invalid request — missing or wrong identifier type, or malformed body.
401Invalid or missing API key.
403Permission denied or insufficient credits.
500Internal server error.
400 — Bad request
{
    "error": {
        "type": "invalid_request",
        "message": "Exactly one identifier type must be provided.",
        "metadata": []
    }
}
401 — Invalid API key
{
    "error": {
        "type": "unauthorized",
        "message": "Invalid API key in request.",
        "metadata": []
    }
}

API reference summary

DetailValue
EndpointPOST /person/enrich
AuthBearer token + x-api-version: 2025-11-01
RequestOne of professional_network_profile_urls or business_emails (max 25). Optional: fields, min_similarity_score.
ResponseTop-level array: [{ matched_on, match_type, matches: [{ confidence_score, person_data }] }]
No match200 with empty matches: [] for unmatched identifiers.
Errors400 (bad request), 401 (bad auth), 403 (permission/credits), 500 (server error)
See the full API reference for the complete OpenAPI schema.