> ## Documentation Index
> Fetch the complete documentation index at: https://api.docs.dealmachine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Property

Retrieve a single property by its DealMachine property ID. Returns comprehensive property data including address, valuation, physical characteristics, tax, and mortgage information.

## Path Parameters

<ParamField path="id" type="string" required>
  DealMachine property ID (e.g., `prop_12345`).
</ParamField>

## Query Parameters

<ParamField query="enrich" type="boolean" default={true}>
  Controls whether enriched data is returned and credits are consumed. `true` (default) returns
  enriched property fields plus contacts selected by `contact_audience`. `false` enables preview
  mode and returns only base fields (address, coordinates, images, bedrooms, bathrooms, and sqft)
  without consuming credits.
</ParamField>

<ParamField query="contact_audience" type="string" default="owners">
  Which contacts to include with the property. Defaults to `"owners"`.

  Options: `owners`, `owners_and_family`, `renters`, `residents`, `all`, `none`

  When set (and not `"none"`), the response includes a `contacts` array with match type flags. Use `all` to return every associated contact regardless of relationship type. Returned contacts consume people credits. Set to `"none"` to skip contacts.
</ParamField>

<Tip>
  If you only need property data, set `contact_audience=none`. The response omits `contacts`, skips
  contact lookup, and consumes zero people credits. Use the default `owners` audience only when you
  need owner records.
</Tip>

<ParamField query="fields" type="string">
  Comma-separated property field IDs from [List Fields](/api-reference/fields/list-fields). Requires
  `enrich=true`. People fields such as `has_pets` belong on people lookups or people-anchored
  searches and are not property attributes.
</ParamField>

***

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.v2.dealmachine.com/v1/properties/prop_12345?contact_audience=none&fields=estimated_value,year_built" \
    -H "Authorization: Bearer dm_sk_live_xxx"
  ```

  ```typescript Node.js theme={null}
  const response = await fetch(
    'https://api.v2.dealmachine.com/v1/properties/prop_12345?contact_audience=owners&fields=estimated_value,year_built',
    {
      headers: {
        Authorization: `Bearer ${apiKey}`,
      },
    }
  );

  const { data } = await response.json();
  console.log(`${data.full_address} — $${data.estimated_value?.toLocaleString()}`);

  if (data.contacts) {
    for (const contact of data.contacts) {
      console.log(`  Owner: ${contact.full_name} — ${contact.phones?.[0]?.number}`);
    }
  }
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.v2.dealmachine.com/v1/properties/prop_12345",
      headers={"Authorization": f"Bearer {api_key}"},
      params={
          "contact_audience": "owners",
          "fields": "estimated_value,year_built",
      },
  )

  data = response.json()["data"]
  print(f"{data['full_address']} — ${data['estimated_value']:,}")
  for contact in data.get("contacts", []):
      print(f"  Owner: {contact['full_name']}")
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "data": {
      "dm_property_id": "prop_12345",
      "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,
      "num_stories": 2,
      "owner_occupied": true,
      "last_sale_date": "2018-06-15",
      "last_sale_amount": 380000,
      "total_assessed_value": 520000,
      "annual_property_tax_amount": 11440,
      "num_mortgages": 1,
      "total_original_loan_amount": 304000,
      "total_estimated_loan_balance": 161000,
      "apn": "0123456789",
      "fips": "48453",
      "contacts": [
        {
          "dm_person_id": "per_67890",
          "full_name": "John Smith",
          "first_name": "John",
          "last_name": "Smith",
          "phones": [{ "number": "5125551234", "type": "wireless", "do_not_call": false }],
          "emails": [{ "address": "john.smith@example.com" }],
          "is_likely_owner": true,
          "is_in_owner_family": false,
          "is_resident": true,
          "is_likely_renter": false
        }
      ]
    },
    "credits": {
      "used": 2,
      "properties": 1,
      "people": 1,
      "deduplicated": 0
    }
  }
  ```

  ```json 400 Invalid ID theme={null}
  {
    "error": {
      "code": "invalid_property_id",
      "message": "Invalid property ID format. Expected format: prop_12345",
      "request_id": "req_abc123"
    }
  }
  ```

  ```json 404 Not Found theme={null}
  {
    "error": {
      "code": "property_not_found",
      "message": "No property found with ID prop_99999",
      "request_id": "req_abc123"
    }
  }
  ```
</ResponseExample>

## Response Fields

| Field                             | Type    | Description                                                              |
| --------------------------------- | ------- | ------------------------------------------------------------------------ |
| `dm_property_id`                  | string  | DealMachine property ID                                                  |
| `full_address`                    | string  | Complete formatted address                                               |
| `address`, `city`, `state`, `zip` | string  | Parsed address components                                                |
| `latitude`, `longitude`           | number  | Property coordinates                                                     |
| `estimated_value`                 | number  | Estimated market value                                                   |
| `estimated_equity_amount`         | number  | Estimated equity in dollars                                              |
| `estimated_equity_percentage`     | number  | Estimated equity as percentage                                           |
| `year_built`                      | number  | Year the property was built                                              |
| `living_area_sqft`                | number  | Interior living area in square feet                                      |
| `lot_size_sqft`                   | number  | Total lot size in square feet                                            |
| `num_bedrooms`                    | number  | Number of bedrooms                                                       |
| `num_bathrooms`                   | number  | Number of bathrooms                                                      |
| `num_stories`                     | number  | Number of stories                                                        |
| `owner_occupied`                  | boolean | Whether the owner lives at the property                                  |
| `last_sale_date`                  | string  | Date of last sale                                                        |
| `last_sale_amount`                | number  | Price of last sale                                                       |
| `total_assessed_value`            | number  | Tax assessor's total assessed value                                      |
| `annual_property_tax_amount`      | number  | Annual property tax amount                                               |
| `num_mortgages`                   | number  | Number of active mortgages                                               |
| `total_original_loan_amount`      | number  | Total original loan amount across all mortgages                          |
| `total_estimated_loan_balance`    | number  | Total estimated remaining loan balance                                   |
| `apn`                             | string  | Assessor's Parcel Number                                                 |
| `fips`                            | string  | 5-digit FIPS county code                                                 |
| `contacts`                        | array   | Associated contacts. Only present when `contact_audience` is not `none`. |

## Credits

When `enrich=true` (the default), this endpoint consumes 1 [property data credit](/concepts/credits) for the property. When `contact_audience` is set to a value other than `"none"` (default: `"owners"`), included contacts consume people credits. Credits are deduplicated within your billing period, so looking up the same property or contact again is free.

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).
