Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

Get People by IDs

Retrieve multiple people by their DealMachine person IDs in a single request. Use this when you already have dm_person_id values from a previous search or enrichment and want to fetch current data.
Each request accepts up to 250 IDs. The response preserves your input order and includes a found flag for each item.

Body Parameters

body idsstring[]required
Array of DealMachine person IDs to retrieve (max 250).
Example: ["per_12345", "per_67890"]
body enrichbooleandefault:
Controls whether enriched data is returned and credits are consumed.
Set true (default) to return person fields including phones, emails, and demographics. Credits are consumed per entity. Set false for preview mode with base fields only. Preview mode omits phones, emails, and demographic data and consumes no credits.
body include_propertiesboolean
When true, each found person includes a properties array with all associated properties.
body property_limitintegerdefault: 20
Maximum associated properties to return per person when include_properties=true. Maximum: 100.
body fieldsstring[]
Field IDs from List Fields. People fields return on each person. Property fields return under property.

Response Fields

Found Result

When found is true, the result contains person data with contact information.
FieldTypeDescription
dm_person_idstringDealMachine person ID
foundbooleantrue
full_namestringFull display name
first_name, last_namestringName components
middle_initialstringMiddle initial
agenumberEstimated age
estimated_household_incomenumberEstimated household income
genderstringGender (e.g., "Male", "Female")
marital_statusstringMarital status (e.g., "Married", "Single")
educationstringEducation level
occupationstringOccupation
languagestringPrimary language
phonesarrayPhone numbers with number, normalized type, and do_not_call
emailsarrayEmail addresses, each with address
propertyobjectProperty context and requested property fields when fields includes property data.
propertiesarrayAssociated properties. Only present when include_properties is true. Limited by property_limit.

Not Found Result

FieldTypeDescription
dm_person_idstringThe ID you submitted
foundbooleanfalse
errorobjectPresent when the ID format is invalid

Totals

FieldTypeDescription
submittedintegerNumber of IDs submitted
foundintegerNumber of people found
not_foundintegerNumber of IDs not found

Credits

When enrich=true (the default), this endpoint consumes 1 people credit per found person. When include_properties is true, included properties consume property credits. Chargeable property fields requested through fields add property credits. Not-found results are free. Credits are deduplicated within your billing period.
When enrich=false, no credits are consumed. Only base fields are returned (name, match flags). No phones, emails, or demographic data is included.

Notes

  • Response order matches your input order.
  • Invalid ID formats (e.g., missing per_ prefix) return an error object instead of a not-found result.
  • Items are looked up independently. One failed lookup does not affect others.
  • For a single person, use GET /v1/people/:id instead.
Request example
curl -X POST "https://api.v2.dealmachine.com/v1/people/ids" \ -H "Authorization: Bearer dm_sk_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "ids": ["per_12345", "per_67890"], "include_properties": true, "property_limit": 20, "fields": ["estimated_household_income", "estimated_value"] }'
Response example
{ "data": [ { "dm_person_id": "per_12345", "found": true, "full_name": "John Smith", "first_name": "John", "last_name": "Smith", "person_age": 45, "phones": [{ "number": "5125551234", "type": "wireless", "do_not_call": false }], "emails": [{ "address": "john@example.com" }], "properties": [ { "dm_property_id": "prop_67890", "address": "1200 Barton Springs Rd", "city": "Austin", "state": "TX", "zip": "78704", "estimated_value": 575000, "is_likely_owner": true } ] }, { "dm_person_id": "per_99999", "found": false } ], "totals": { "submitted": 2, "found": 1, "not_found": 1 }, "credits": { "used": 2, "properties": 1, "people": 1, "deduplicated": 0 } }