Skip to main content

Command Reference

Authentication

dm login

Authenticate with your DealMachine account using the device authorization flow.
dm login [--no-browser] [--key <api-key>] [--env <environment>]
OptionDescription
--no-browserDon’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 logout

dm whoami

Show current authentication status.
dm whoami [--verify]
OptionDescription
--verifyVerify credentials against the API

Account

dm account

Show account information from the API.
dm account [--json]
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.
dm usage [--json]
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

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]
OptionDescription
-f, --file <path>Read request body from a JSON file
--body <json>Inline JSON request body
--jsonOutput 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]
OptionDescription
--contact-audience <audience>Include contacts: owners, owners_and_family, renters, residents, all
--jsonOutput 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]
OptionDescription
--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
--jsonOutput raw JSON response

People

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]
OptionDescription
--include-propertiesInclude associated properties
--jsonOutput 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]
OptionDescription
--body <json>Request body as JSON string
-f, --file <path>Read request body from a JSON file
--include-propertiesInclude associated properties
--jsonOutput raw JSON response

Enrichment

dm enrich address [address]

Enrich a property by street address.
dm enrich address "123 Main St, Austin, TX 78704" [--json]
OptionDescription
--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
--jsonOutput raw JSON response

dm enrich latlng [coords]

Enrich a property by latitude/longitude.
dm enrich latlng "30.2672,-97.7431" [--json]
OptionDescription
--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
--jsonOutput 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]
OptionDescription
--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
--jsonOutput 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]
OptionDescription
--include-propertiesInclude associated properties
--body <json>Request body as JSON string
-f, --file <path>Read request body from a JSON file
--jsonOutput raw JSON response

dm enrich phone [phone]

Enrich by phone number.
dm enrich phone "5551234567" [--json]
OptionDescription
--include-propertiesInclude associated properties
--body <json>Request body as JSON string
-f, --file <path>Read request body from a JSON file
--jsonOutput raw JSON response

dm enrich name [name]

Enrich by person name.
dm enrich name "David Oster" [--state MO] [--zip 63101] [--json]
OptionDescription
--state <code>Two-letter state code to narrow results
--zip <code>ZIP code to narrow results
--include-propertiesInclude 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
--jsonOutput raw JSON response

Discovery

dm filters

List available search filters.
dm filters [--source-type <type>] [--json]
OptionDescription
--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
--jsonOutput raw JSON response

dm fields

List available data fields.
dm fields [--source-type <type>] [--json]
OptionDescription
--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
--jsonOutput raw JSON response

Activity

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]
OptionDescription
-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
--jsonOutput 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.
dm config path

Global Options

OptionDescription
--versionShow CLI version
--helpShow help for any command
--jsonOutput raw JSON (available on most commands)
dm --version
dm --help
dm enrich --help
dm properties search --help