Skip to main content
POST
/
v1
/
properties
/
ids
curl -X POST "https://api.v2.dealmachine.com/v1/properties/ids" \
  -H "Authorization: Bearer dm_sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "ids": ["prop_12345", "prop_67890"],
    "contact_audience": "owners"
  }'
{
  "data": [
    {
      "dm_property_id": "prop_12345",
      "found": true,
      "full_address": "1200 Barton Springs Rd, Austin, TX 78704",
      "address": "1200 Barton Springs Rd",
      "city": "Austin",
      "state": "TX",
      "zip": "78704",
      "latitude": 30.2598,
      "longitude": -97.7544,
      "estimated_value": 575000,
      "estimated_equity_amount": 414000,
      "estimated_equity_percentage": 72,
      "year_built": 1985,
      "living_area_sqft": 2200,
      "lot_size_sqft": 8500,
      "num_bedrooms": 4,
      "num_bathrooms": 2,
      "owner_occupied": true,
      "contacts": [
        {
          "dm_person_id": "per_67890",
          "full_name": "John Smith",
          "first_name": "John",
          "last_name": "Smith",
          "phones": [
            { "number": "5125551234" }
          ]
        }
      ]
    },
    {
      "dm_property_id": "prop_99999",
      "found": false
    }
  ],
  "totals": {
    "submitted": 2,
    "found": 1,
    "not_found": 1
  },
  "credits": {
    "used": 2,
    "properties": 1,
    "people": 1,
    "deduplicated": 0
  }
}
Retrieve multiple properties by their DealMachine property IDs in a single request. Use this when you already have dm_property_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 property IDs to retrieve (max 250).Example: ["prop_12345", "prop_67890"]
enrich
boolean
default:true
Controls whether enriched data is returned and credits are consumed.
  • true (default) — Returns all property fields plus contact data. Credits are consumed per entity.
  • falsePreview mode. Returns only base fields (address, coordinates, images, bedrooms, bathrooms, sqft). No credits are consumed.
contact_audience
string
default:"owners"
Which contacts to include with found properties. Defaults to "owners".Options: owners, owners_and_family, renters, residents, all, noneWhen set (and not "none"), each found result includes a contacts array with match type flags. Use all to return every associated contact. Set to "none" to skip contacts and avoid contact credits.

curl -X POST "https://api.v2.dealmachine.com/v1/properties/ids" \
  -H "Authorization: Bearer dm_sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "ids": ["prop_12345", "prop_67890"],
    "contact_audience": "owners"
  }'
{
  "data": [
    {
      "dm_property_id": "prop_12345",
      "found": true,
      "full_address": "1200 Barton Springs Rd, Austin, TX 78704",
      "address": "1200 Barton Springs Rd",
      "city": "Austin",
      "state": "TX",
      "zip": "78704",
      "latitude": 30.2598,
      "longitude": -97.7544,
      "estimated_value": 575000,
      "estimated_equity_amount": 414000,
      "estimated_equity_percentage": 72,
      "year_built": 1985,
      "living_area_sqft": 2200,
      "lot_size_sqft": 8500,
      "num_bedrooms": 4,
      "num_bathrooms": 2,
      "owner_occupied": true,
      "contacts": [
        {
          "dm_person_id": "per_67890",
          "full_name": "John Smith",
          "first_name": "John",
          "last_name": "Smith",
          "phones": [
            { "number": "5125551234" }
          ]
        }
      ]
    },
    {
      "dm_property_id": "prop_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 comprehensive property data.
FieldTypeDescription
dm_property_idstringDealMachine property ID
foundbooleantrue
full_addressstringComplete formatted address
address, city, state, zipstringParsed address components
latitude, longitudenumberProperty coordinates
estimated_valuenumberEstimated market value
estimated_equity_amountnumberEstimated equity in dollars
estimated_equity_percentagenumberEstimated equity as percentage
year_builtnumberYear built
living_area_sqftnumberLiving area in sq ft
lot_size_sqftnumberLot size in sq ft
num_bedrooms, num_bathroomsnumberBedroom/bathroom count
owner_occupiedbooleanWhether owner lives at property
last_sale_datestringDate of last sale
last_sale_amountnumberLast sale price
apnstringAssessor’s Parcel Number
fipsstring5-digit FIPS county code
contactsarrayContacts. Only present when contact_audience is set.

Not Found Result

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

Totals

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

Credits

When enrich=true (the default), this endpoint consumes 1 credit per found property. When contact_audience is set to a value other than "none" (default: "owners"), each included contact 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 (address, coordinates, images, bedrooms, bathrooms, sqft), and contacts include only names and match flags (no phones or emails).

Notes

  • Response order matches your input order.
  • Invalid ID formats (e.g., missing prop_ 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 property, use GET /v1/properties/:id instead.