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

Fields

The individual data points available for properties and people in DealMachine. Each field has a type, a source, and capabilities that determine how it can be used.

Source Types

Fields are organized by source type:
Source TypeDescription
propertiesProperty-related fields (address, value, lot size, etc.)
peopleContact/owner-related fields (name, phone, email, etc.)

Field Types

Each field has a data type that determines how its values are stored and queried:
TypeDescriptionExamples
NUMBERNumeric valuesEstimated value, square footage, bedrooms
STRINGText valuesCity name, owner name, address
DATEDate valuesSale date, list date, year built
MULTI_SELECTPredefined option setsProperty type, zoning, MLS status
BOOLEANTrue/false valuesIs absentee owner, has pool, is vacant

Field Capabilities

Each field has a capability flag that indicates how it can be used:
CapabilityDescription
is_filterableCan be used as a search filter

Field Groups

Fields are organized into groups. Use the group_id to browse fields by category:
curl "https://api.v2.dealmachine.com/v1/fields?source_type=properties&group_id=equity_and_value_info" \ -H "Authorization: Bearer dm_sk_live_xxx"
See the Groups page for the complete list of all group IDs.

Discovering Fields

Use the List Fields endpoint to discover all available fields:
curl "https://api.v2.dealmachine.com/v1/fields?source_type=properties" \ -H "Authorization: Bearer dm_sk_live_xxx"
You can filter by source type, group, or search by name:
# Get only financial fields curl "https://api.v2.dealmachine.com/v1/fields?group_id=financial" \ -H "Authorization: Bearer dm_sk_live_xxx" # Search for equity-related fields curl "https://api.v2.dealmachine.com/v1/fields?search=equity" \ -H "Authorization: Bearer dm_sk_live_xxx"

Selecting Fields in Queries

Use the fields parameter to control which data points appear in supported search, lookup, export, and enrichment responses:
{ "fields": ["estimated_value", "equity_percent", "last_sale_date"] }
  • Pass an array of field_id strings from the discovery endpoint above.
  • Omit fields or pass an empty array to receive the default set of fields.
  • Some base fields (address, internal ID) are always included regardless of your selection. See Response Format.
  • Requesting fewer fields results in smaller payloads and faster responses.
  • In a people-anchored property search, requesting property fields beyond address/context adds property credits. Filters do not add output credits by themselves. See Credit-efficient queries before selecting fields for mixed property and people searches.
Only fields available for your chosen source_type can be requested. Use source_type=properties with Search Properties and source_type=people with Search People.

Coordinate field selectors

Coordinates use one selectable field ID that returns two separate values:
Source typeRequest field IDResponse fields or CSV columns
Propertiescoordinateslatitude, longitude
Peopleperson_coordinatesperson_latitude, person_longitude
Send the request field ID once in the fields array. JSON responses include the two response fields, and CSV exports include the two corresponding columns. The List Fields endpoint returns the combined selector instead of listing its two backing fields separately.
For example, has_pets is an API-available people field and people filter. Request it from a people lookup, people search, person enrichment, or a search with a people result anchor. It is not a property attribute and is not returned by GET /v1/properties/{id}.
The following public Endpoints accept fields:
WorkflowEndpointsFormat
Search and exportProperty and people search/exportJSON array
Single-record lookupGET /v1/properties/{id}, GET /v1/people/{id}Comma-separated query string
Batch person lookupPOST /v1/people/idsJSON array
Property enrichmentAddress, reverse-geocode, latitude/longitude, and APNJSON array
Person enrichmentEmail, phone, and nameJSON array
GET /v1/addresses/autocomplete is intentionally discovery-only and does not accept fields or perform enrichment. Select a suggestion first, then send its address or normalized location to the appropriate search or enrichment Endpoint with the fields you need.
For the full search workflow, see Searching.

Fields vs Filters

  • Fields describe what data is available (columns in your results)
  • Filters describe how you can query that data (search criteria)
Fields with is_filterable: true have a corresponding filter. Use the List Filters endpoint to see filter-specific metadata like allowed operators and options.