Fetch contact details
Retrieve detailed personal and employment information for a known contact. Return identity, a profile-image URL, title, company, email, phone, job classification, education, social profile, and optional employment-history data.
What you can retrieve
Contact Details is best when you already have a contact ID from Contact Search, record matching, or a bulk workflow and need a richer profile.
Understand the person
Retrieve the Demandbase person ID, name, age, profile-image URL, address, and mobile number when available.
Understand the current role
Return the contact ID, company, title, start date, role description, and active status.
Retrieve email and phone details
Access available email addresses, validation status, direct numbers, and corporate numbers.
Understand role and seniority
Use job levels, job functions, titles, and contact quality score to qualify the record.
Review education and social data
Return degrees, majors, universities, and available social-profile URLs.
Include other employments
Add related employment records with the optional include=other_employments parameter.
Common requests
Fetch the default contact profile
Include other employments
Select contact fields
Select person fields
Quickstart
Replace CONTACT_ID with a contact ID returned by Contact Search or another B2B API workflow.
Send the request
Read the response
Request anatomy
Identify the contact
Place the integer contact ID directly in the request path.
contactId | Required contact identifier |
Control the response
Add employment history or request specific contact and person fields.
include | Related data to include |
contactFields | Comma-separated contact fields |
peopleFields | Comma-separated person fields |
Authenticate and choose a format
Send a valid bearer token and request JSON or XML.
Authorization | Bearer access token |
Accept | application/json or application/xml |
Response anatomy
The response separates persistent person attributes from the selected employment record. When requested, other employment records appear in employmentHistoryList.
Persistent person profile
Contains identity, location, education, social, image, and mobile attributes.
dbPersonId | Persistent person identifier |
firstName | First name |
lastName | Last name |
imageUrl | Profile-image URL |
educationList | Education history |
socialHandles | Social-profile URLs |
address | Person location details |
Selected employment record
Contains company, role, classification, contact-channel, quality, salary, and timing details.
contactId | Contact/employment identifier |
companyId | Demandbase company ID |
titles | Known job titles |
jobLevels | Seniority classifications |
jobFunctions | Functional classifications |
emails | Email and validation data |
phoneNumbers | Direct and corporate numbers |
Other employment records
Returned when include=other_employments is present and related records are available.
contactId | Related contact ID |
companyId | Related company ID |
companyName | Related company name |
active | Employment status |
titles | Known job titles |
jobLevels | Seniority classifications |
Important rules
Use an integer contact ID
The contactId path value is required and must be an integer.
Use the supported include value
The only supported include value is other_employments.
Separate fields with commas
Pass requested values as comma-separated names in contactFields or peopleFields.
Expect fields to vary by contact
Optional attributes appear only when available. imageUrl contains a URL rather than image bytes.
Parameters and valid fields
| Parameter | Location | Use it to | Example |
|---|---|---|---|
contactId | Path | Identify the contact record to fetch. | CONTACT_ID |
include | Query | Include other employment records. | other_employments |
contactFields | Query | Select comma-separated contact fields. | titles,email,phone |
peopleFields | Query | Select comma-separated person fields. | firstName,lastName,imageUrl |
Use the request values below with the exact capitalization shown. Each documented value populates a property in the public response. Some request values differ from the returned JSON property name.
Valid contact field values
These values select fields returned under employmentDetails.
| Request value | Returned as |
|---|---|
contactId | employmentDetails.contactId |
active | employmentDetails.active |
titles | employmentDetails.titles |
jobFunctionsV2 | employmentDetails.jobFunctions |
jobLevelsV2 | employmentDetails.jobLevels |
confidenceScore | employmentDetails.contactQualityScore |
email | employmentDetails.emails |
phone | employmentDetails.phoneNumbers |
salary | employmentDetails.salary and salaryCurrency |
startDate | employmentDetails.startDate |
dpKeys | employmentDetails.lastValidatedDate |
Valid person field values
These values select fields returned under dbPersonDetails or the documented employment description.
| Request value | Returned as |
|---|---|
peopleId | dbPersonDetails.dbPersonId |
firstName | dbPersonDetails.firstName |
middleName | dbPersonDetails.middleName |
lastName | dbPersonDetails.lastName |
imageUrl | dbPersonDetails.imageUrl |
education | dbPersonDetails.educationList |
urlInfo | dbPersonDetails.socialHandles |
age | dbPersonDetails.age |
mobileNo | dbPersonDetails.mobileNumber |
country | dbPersonDetails.address.country and countryCode |
state | dbPersonDetails.address.state and stateCode |
city | dbPersonDetails.address.city |
latitude | dbPersonDetails.address.latitude |
longitude | dbPersonDetails.address.longitude |
area | dbPersonDetails.address.area |
zip | dbPersonDetails.address.zip |
description | employmentDetails.description |
Valid does not guarantee populated
A valid field can still be absent when the selected contact has no value for it. Unsupported names return HTTP 400 with the invalid contact or people field names.
Common errors
| Status | Error | How to fix it |
|---|---|---|
400-104 |
contactId must be an integer. |
Use the numeric contact ID returned by Contact Search or another B2B API workflow. |
400-106 |
Invalid field name. | Remove unsupported values from contactFields or peopleFields. |
401 |
Authentication failed. | Generate a valid token and send it in the Authorization: Bearer YOUR_ACCESS_TOKEN header. |
404-100 |
Invalid ID, record not found. | Confirm the contact ID exists and that your API Key Set can access the record. |
Next steps
Search for additional contacts, fetch the associated company profile, or retrieve detailed records in bulk.
Search contacts → · Company profile → · Bulk retrieval →