dm login1dm login [--no-browser] [--key <api-key>] [--env <environment>]
| Option | Description |
--no-browser | Don't automatically open the browser |
--key <api-key> | Login directly with an API key (skips browser flow) |
--env <environment> | API environment: local, staging, or production (default: production) |
dm logout1dm logout
dm whoami1dm whoami [--verify]
| Option | Description |
--verify | Verify credentials against the API |
dm account1dm account [--json]
123456Account ---------------------------------------- Organization: My Company Org ID: 1 Created: Jan 1, 2024 Auth Type: api_key
dm usage1dm usage [--json]
1234567Credit Usage ---------------------------------------- Data Credits Used: 150 Data Credits Limit: 1,000 Data Credits Remaining: 850 Period Start: 2024-01-01 Period End: 2024-01-31
dm agents1dm agents [--json]
dm but has not loaded the DealMachine Playbook.dm agents guide1dm agents guide [--json]
dm agents playbook12dm agents playbook [--json] dm agents skill
dm properties search12345678# From a JSON file dm properties search -f search.json [--json] # Inline JSON body dm properties search --body '{"filters":[...]}' [--json] # From stdin echo '{"filters":[...]}' | dm properties search [--json]
| Option | Description |
-f, --file <path> | Read request body from a JSON file |
--body <json> | Inline JSON request body |
--json | Output raw JSON response |
dm properties count12dm properties count -f search.json [--json] dm properties count --body '{"filters":[...]}' [--json]
dm properties get <id>1dm properties get prop_12345 [--contact-audience <audience>] [--fields <csv>] [--json]
| Option | Description |
--contact-audience <audience> | Include contacts: owners, owners_and_family, renters, residents, all, none |
--fields <csv> | Comma-separated property field IDs from dm fields |
--json | Output raw JSON response |
--contact-audience none when you only need property data. This omits contacts and avoids
people credits.dm properties ids [ids...]12345# IDs as arguments dm properties ids prop_12345 prop_67890 [--json] # Or from JSON body dm properties ids --body '{"ids":["prop_12345","prop_67890"]}' [--json]
| Option | Description |
--body <json> | Request body as JSON string |
-f, --file <path> | Read request body from a JSON file |
--contact-audience <audience> | Include contacts: owners, owners_and_family, renters, residents, all, none |
--json | Output raw JSON response |
dm people search12dm people search -f search.json [--json] dm people search --body '{"filters":[...]}' [--json]
dm people count1dm people count -f search.json [--json]
dm people get <id>1dm people get per_12345 [--include-properties] [--property-limit 20] [--fields <csv>] [--json]
| Option | Description |
--include-properties | Include associated properties |
--property-limit <n> | Maximum associated properties to return, max 100 |
--fields <csv> | Comma-separated people or property field IDs |
--json | Output raw JSON response |
dm people ids [ids...]12345# IDs as arguments dm people ids per_12345 per_67890 [--json] # Or from JSON body dm people ids --body '{"ids":["per_12345","per_67890"]}' [--json]
| Option | Description |
--body <json> | Request body as JSON string |
-f, --file <path> | Read request body from a JSON file |
--include-properties | Include associated properties |
--property-limit <n> | Maximum associated properties per person, max 100 |
--fields <csv> | Comma-separated people or property field IDs |
--json | Output raw JSON response |
dm enrich address [address]1dm enrich address "123 Main St, Austin, TX 78704" [--json]
| Option | Description |
--contact-audience <audience> | Include contacts: owners, owners_and_family, renters, residents, none |
--fields <csv> | Comma-separated property or people field IDs |
--body <json> | Request body as JSON string |
-f, --file <path> | Read request body from a JSON file |
--json | Output raw JSON response |
dm enrich latlng [coords]1dm enrich latlng "30.2672,-97.7431" [--json]
| Option | Description |
--contact-audience <audience> | Include contacts: owners, owners_and_family, renters, residents, none |
--fields <csv> | Comma-separated property or people field IDs |
--body <json> | Request body as JSON string |
-f, --file <path> | Read request body from a JSON file |
--json | Output raw JSON response |
lat,lngdm enrich apn [apn]1dm enrich apn "12345678" [--json]
| Option | Description |
--contact-audience <audience> | Include contacts: owners, owners_and_family, renters, residents, none |
--fields <csv> | Comma-separated property or people field IDs |
--body <json> | Request body as JSON string |
-f, --file <path> | Read request body from a JSON file |
--json | Output raw JSON response |
--body to pass the full request: dm enrich apn --body '{"apns":[{"apn":"12345678","fips":"48453"}]}'dm enrich email [email]1dm enrich email "john@example.com" [--json]
| Option | Description |
--include-properties | Include associated properties |
--fields <csv> | Comma-separated people or property field IDs |
--body <json> | Request body as JSON string |
-f, --file <path> | Read request body from a JSON file |
--json | Output raw JSON response |
dm enrich phone [phone]1dm enrich phone "5551234567" [--json]
| Option | Description |
--include-properties | Include associated properties |
--fields <csv> | Comma-separated people or property field IDs |
--body <json> | Request body as JSON string |
-f, --file <path> | Read request body from a JSON file |
--json | Output raw JSON response |
dm enrich name [name]12dm enrich name "David Oster" [--state MO] [--zip 63101] [--json] dm enrich name "David Oster" --state MO --estimate-cost
| Option | Description |
--state <code> | Two-letter state code to narrow results |
--zip <code> | ZIP code to narrow results |
--include-properties | Include associated properties |
--fields <csv> | Comma-separated people or property field IDs |
--estimate-cost | Preview people and property counts and credits for free |
--page <n> | Page number |
--per-page <n> | Results per page |
--body <json> | Request body as JSON string |
-f, --file <path> | Read request body from a JSON file |
--json | Output raw JSON response |
property_count for each matched person at no extra
cost. Phone types in JSON output use wireless, landline, voip, or unknown.
For name enrichment, combine --estimate-cost with --include-properties to include associated
property totals and page-aware property credits in the free estimate.dm filters1dm filters [--source-type <type>] [--json]
| Option | Description |
--source-type <type> | Filter by source type (properties or people) |
--group-id <id> | Filter by group ID |
--search <term> | Search filters by name |
--page <n> | Page number |
--per-page <n> | Results per page |
--json | Output raw JSON response |
dm fields1dm fields [--source-type <type>] [--json]
| Option | Description |
--source-type <type> | Filter by source type |
--group-id <id> | Filter by group ID |
--search <term> | Search fields by name |
--page <n> | Page number |
--per-page <n> | Results per page |
--json | Output raw JSON response |
dm locations1234dm locations search -q "Harris" [--type county] [--state TX] [--json] dm locations search -q "saint louis" --type city --state MO --json dm locations search -q "MO" --type state --json dm locations get loc_city_48106 [--json]
| Option | Description |
-q, --query | Search by name, code, state abbreviation, or state name |
--type | Filter by state, county, city, or zip_code |
--state | Filter by two-letter state abbreviation |
--page | Page number |
--per-page | Results per page, max 100 |
--json | Output raw JSON response |
dm locations autocomplete remains available as a deprecated alias for dm addresses autocomplete.dm activity search123dm activity search [--json] dm activity search -t search_properties enrich_address [--json] dm activity search -q "123 Main St" [--json]
| Option | Description |
-t, --types <types...> | Filter by activity types (e.g., search_properties, enrich_address) |
-q, --query <text> | Free-text search across activity |
--page <n> | Page number |
--per-page <n> | Results per page |
--body <json> | Request body as JSON string |
-f, --file <path> | Read request body from a JSON file |
--json | Output raw JSON response |
dm activity get <id>1dm activity get abc123 [--json]
dm addresses autocomplete <query>12dm addresses autocomplete "1200 Barton Springs" --state TX dm addresses autocomplete "saint louis 63101" --scope location --limit 5 --json
| Option | Description |
--scope <scope> | all, address, or location, default all |
--state <code> | Prefer a two-letter state abbreviation |
--limit <n> | Maximum suggestions, default 5 and max 10 |
--latitude <number> | Latitude for nearby ranking, requires longitude |
--longitude <number> | Longitude for nearby ranking, requires latitude |
--json | Output raw JSON response |
dm addresses validate [address]123456# Single address dm addresses validate "123 Main St, Austin, TX" [--json] # Multiple addresses via JSON dm addresses validate --body '{"addresses":["123 Main St, Austin, TX","456 Oak Ave, Dallas, TX"]}' [--json] dm addresses validate -f addresses.json [--json]
dm config get [key]12dm config get dm config get apiEnvironment
dm config set <key> <value>123dm config set apiEnvironment local dm config set apiEnvironment staging dm config set apiEnvironment production
dm config path1dm config path
| Option | Description |
--version | Show CLI version |
--help | Show help for any command |
--json | Output raw JSON (available on most commands) |
--quiet | Suppress spinners for agents and scripts |
1234dm --version dm --help dm enrich --help dm properties search --help