Skip to main content
The DealMachine API lets you search for properties and people using a powerful combination of filters, field selection, pagination, and sorting. This page walks through the complete workflow.

The Search Workflow

Searching follows three steps:
1

Discover

Use the discovery endpoints to find available filters and fields: - List Filters — see what you can search by - List Fields — see what data you can return
2

Build

Construct your search request: - Pick filters and set their operators and values - Choose which fields to include in the response - Set pagination and sorting preferences
3

Search

Send your request to the appropriate search endpoint: - Search PropertiesPOST /v1/properties/search - Search PeoplePOST /v1/people/search

Search Endpoints

Both endpoints use POST because the filter arrays and request bodies are too complex for query parameters.

Request Structure

Every search request has the same structure:

Search Logic

Locations use OR logic — a record is included if it falls within any of the provided locations. Filters use AND logic — every filter must match for a record to be included.
This finds properties that are:
  • In Harris County, TX OR ZIP 78704 (locations — OR)
  • AND valued between 200k200k–600k (filter — AND)
  • AND owned by an absentee owner (filter — AND)
There is no OR grouping or nesting for filters. To achieve OR-like behavior for a single filter field, use operators like contains_any or any_of. For geographic OR logic, use multiple locations.

List And Export Protocol Filters

Search, count, and export endpoints also accept the Query Builder protocol fields for list membership and previous-export exclusion. The API fills organization_id and organization_partition_key from your API key, so most requests only need list IDs or true for export exclusion:
For people endpoints, use people_list_ids; for property endpoints, use property_list_ids. You may also pass the full exclude_previously_exported object when you need date, source, export type, credit type, or credits_used criteria.

Field Selection

Use the fields array to control which data points appear in the response:
  • Pass an array of field_id strings from the List Fields endpoint.
  • Omit fields or pass an empty array to get the default set of fields.
  • Some base fields (address, internal ID) are always included regardless. See Response Format.
Filters select records; fields select returned data. You can filter owners by property criteria without adding property credits when you use anchor: "people" and return only property address/context fields. See Credit-efficient queries.

Complete Example

Here’s a full end-to-end example: find high-equity absentee-owned single-family homes across Harris County and Dallas County in Texas, sorted by value.

Example Response

Locations

Define where to search — states, counties, ZIP codes, radius, and polygons.

Filter Values

Complete reference for every operator and its expected value shape.

Pagination & Sorting

Control page size, navigate results, and sort by multiple fields.

Response Format

Understand the data + pagination response envelope.

Filters

Learn about filter types, operators, and categories.

Fields

Explore available data fields and their capabilities.

Credits

Understand how search requests consume credits.