Reference material for Person Enrich : request
parameters, response fields, valid fields values, person_data section
catalog, advanced refresh flags, and errors.
For walk-through examples, see Person Enrich and
Identifiers .
Request parameter reference
Parameter Type Required Default Description professional_network_profile_urlsstring[] One of professional_network_profile_urls or business_emails — Profile URLs to enrich. Max 25. business_emailsstring[] One of professional_network_profile_urls or business_emails — Business emails for reverse lookup. Max 25. fieldsstring[] No All fields Specific field paths or section groups to return. min_similarity_scorenumber (0–1) No None Minimum confidence threshold for email reverse lookup matches. force_fetchboolean No falseAdvanced flag accepted by the API to request a fresh fetch path when supported. enrich_realtimeboolean No falseAdvanced flag accepted by the API to request realtime enrich behavior when supported.
Response fields reference
Each item in the response array contains:
Field Type Description matched_onstring The input identifier (profile URL or email) match_typestring professional_network_profile_url or business_emailmatchesarray Array of candidate matches (may be empty for no-match) matches[].confidence_scorenumber 0 to 1. How confident the match is. 1.0 = exact match. matches[].person_dataobject Full enriched profile. See person_data sections below.
Using the fields parameter
By default, the API returns all available data. Use the fields parameter
to request just the sections or dot-paths you need.
Request — specific fields
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 path What 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.company_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.
Section Key fields Description basic_profilename, headline, current_title, summary, location, languages, last_updatedCore identity and role professional_networkprofile_picture_permalink, connections, followers, open_to_cardsProfile metadata when available social_handlesavailable social identifiers such as twitter_identifier.slug Available social identifiers experienceemployment_details.current[], employment_details.past[]Full employment history educationschools[]Education background 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 objects Developer platform data when available
Advanced refresh flags
The API currently accepts two advanced refresh flags on /person/enrich:
Flag Type What it does force_fetchboolean Request a fresh fetch path when supported. enrich_realtimeboolean Request realtime enrich behavior when supported.
Current platform behavior: both flags are accepted on
/person/enrich and return the standard enrich response envelope.
Their exact effect can vary by cache state and account access, so
confirm the behavior you need before relying on either flag in
production.
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/abhilashchowdhary/"
],
"force_fetch": true
} '
If cached enrich is not enough, use
Person Live Enrich — it is
designed for fresh profile retrieval from the web.
Errors
Status Meaning 400Invalid request — missing or wrong identifier type, or malformed body. 401Invalid or missing API key. 403Permission denied or insufficient credits. 500Internal server error.
{
" error " : {
" type " : " invalid_request " ,
" message " : " Exactly one identifier type must be provided. " ,
" metadata " : []
}
}
{
" message " : " Invalid API key in request "
}
API reference summary
Detail Value Endpoint POST /person/enrichAuth Bearer token + x-api-version: 2025-11-01 Request One of professional_network_profile_urls or business_emails (max 25). Optional: fields, min_similarity_score, force_fetch, enrich_realtime. Response Top-level array: [{ matched_on, match_type, matches: [{ confidence_score, person_data }] }] No match 200 with empty matches: [] for unmatched identifiers.Errors 400 (bad request), 401 (bad auth), 403 (permission/credits), 500 (server error)
See the full API reference for
the complete OpenAPI schema.