Command Reference
Authentication
dm login
Authenticate with your DealMachine account using the device authorization flow.
dm 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 or production (default: production) |
dm logout
Remove stored credentials.
dm whoami
Show current authentication status.
| Option | Description |
|---|
--verify | Verify credentials against the API |
Account
dm account
Show account information from the API.
Account
----------------------------------------
Organization: My Company
Org ID: 1
Created: Jan 1, 2024
Auth Type: api_key
dm usage
Show credit usage for the current billing period.
Credit Usage
----------------------------------------
Enrichment Credits Used: 150
Enrichment Credits Limit: 1,000
Enrichment Credits Remaining: 850
Period Start: 2024-01-01
Period End: 2024-01-31
Properties
dm properties search
Search for properties with filters.
# 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 count
Count properties matching filters (no credits consumed).
dm properties count -f search.json [--json]
dm properties count --body '{"filters":[...]}' [--json]
dm properties get <id>
Get a single property by ID.
dm properties get prop_12345 [--contact-audience <audience>] [--json]
| Option | Description |
|---|
--contact-audience <audience> | Include contacts: owners, owners_and_family, renters, residents, all |
--json | Output raw JSON response |
dm properties ids [ids...]
Get multiple properties by IDs.
# 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 |
--json | Output raw JSON response |
People
dm people search
Search for people/contacts with filters.
dm people search -f search.json [--json]
dm people search --body '{"filters":[...]}' [--json]
dm people count
Count people matching filters (no credits consumed).
dm people count -f search.json [--json]
dm people get <id>
Get a single person by ID.
dm people get per_12345 [--include-properties] [--json]
| Option | Description |
|---|
--include-properties | Include associated properties |
--json | Output raw JSON response |
dm people ids [ids...]
Get multiple people by IDs.
# 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 |
--json | Output raw JSON response |
Enrichment
dm enrich address [address]
Enrich a property by street address.
dm enrich address "123 Main St, Austin, TX 78704" [--json]
| Option | Description |
|---|
--contact-audience <audience> | Include contacts: owners, owners_and_family, renters, residents |
--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]
Enrich a property by latitude/longitude.
dm enrich latlng "30.2672,-97.7431" [--json]
| Option | Description |
|---|
--contact-audience <audience> | Include contacts: owners, owners_and_family, renters, residents |
--body <json> | Request body as JSON string |
-f, --file <path> | Read request body from a JSON file |
--json | Output raw JSON response |
Coordinates are passed as a single comma-separated string: lat,lng
dm enrich apn [apn]
Enrich a property by Assessor’s Parcel Number.
dm enrich apn "12345678" [--json]
| Option | Description |
|---|
--contact-audience <audience> | Include contacts: owners, owners_and_family, renters, residents |
--body <json> | Request body as JSON string |
-f, --file <path> | Read request body from a JSON file |
--json | Output raw JSON response |
For APNs that require a FIPS code, use --body to pass the full request: dm enrich apn --body '{"apns":[{"apn":"12345678","fips":"48453"}]}'
dm enrich email [email]
Enrich by email address.
dm enrich email "john@example.com" [--json]
| Option | Description |
|---|
--include-properties | Include associated properties |
--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]
Enrich by phone number.
dm enrich phone "5551234567" [--json]
| Option | Description |
|---|
--include-properties | Include associated properties |
--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]
Enrich by person name.
dm enrich name "David Oster" [--state MO] [--zip 63101] [--json]
| Option | Description |
|---|
--state <code> | Two-letter state code to narrow results |
--zip <code> | ZIP code to narrow results |
--include-properties | Include associated properties |
--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 |
Discovery
dm filters
List available search filters.
dm 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 fields
List available data fields.
dm 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 |
Activity
dm activity search
Search your API activity/history.
dm 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>
Get a specific activity record by ID.
dm activity get abc123 [--json]
Addresses
dm addresses validate [address]
Validate and standardize addresses via USPS.
# 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]
Configuration
dm config get [key]
Get a configuration value, or all values if no key specified.
dm config get
dm config get apiEnvironment
dm config set <key> <value>
Set a configuration value.
dm config set apiEnvironment local
dm config set apiEnvironment production
dm config path
Show the config file path.
Global Options
| Option | Description |
|---|
--version | Show CLI version |
--help | Show help for any command |
--json | Output raw JSON (available on most commands) |
dm --version
dm --help
dm enrich --help
dm properties search --help