Skip to main content
POST
/
v1
/
people
/
ids
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
  }'
{
  "data": [
    {
      "dm_person_id": "per_12345",
      "found": true,
      "full_name": "John Smith",
      "first_name": "John",
      "last_name": "Smith",
      "person_age": 45,
      "phones": [
        { "number": "5125551234" }
      ],
      "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
  }
}
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

ids
string[]
required
Array of DealMachine person IDs to retrieve (max 250).Example: ["per_12345", "per_67890"]
enrich
boolean
default:true
Controls whether enriched data is returned and credits are consumed.
  • true (default) — Returns all person fields including phones, emails, and demographics. Credits are consumed per entity.
  • falsePreview mode. Returns only base fields (name, match flags). No phones, emails, or demographic data. No credits are consumed.
include_properties
boolean
default:false
When true, each found person includes a properties array with all associated properties.

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
  }'
{
  "data": [
    {
      "dm_person_id": "per_12345",
      "found": true,
      "full_name": "John Smith",
      "first_name": "John",
      "last_name": "Smith",
      "person_age": 45,
      "phones": [
        { "number": "5125551234" }
      ],
      "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
  }
}

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, each with number
emailsarrayEmail addresses, each with address
propertiesarrayAssociated properties. Only present when include_properties is true.

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 credit per found person. When include_properties is true, each included property costs 1 additional credit. 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.