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

Claude Code Integration

Use DealMachine directly from Claude Code to search properties, find contacts, and build lists using natural language. The DealMachine CLI acts as a Claude Code skill that translates your requests into API calls.

Setup

1. Install the CLI

npm install -g dealmachine

2. Authenticate

dm login

3. Install the DealMachine Playbook

Install the bundled Playbook as a personal Claude Code skill:
dm agents install claude-code
Use --project to install it only in the current repository. Start a new Claude Code session after installation so Claude discovers the skill.

4. Use with Claude Code

If Claude has not loaded the DealMachine Playbook, have it run this as its first DealMachine command and follow the returned guidance:
dm agents playbook
Once authenticated, you can reference DealMachine data in your Claude Code conversations:
You: Use the DealMachine API to find properties in Austin, TX with high equity that are owned by out-of-state owners. Claude: I'll use the DealMachine CLI to search for those properties. Let me first check what filters are available...

What the Agent Can Do

Describe the properties you're looking for and the agent will:
  1. Query the API for available filter fields
  2. Match your description to the correct filters
  3. Execute the search and return results
"Find single family homes in Dallas County worth over $300k with at least 60% equity, owned for 10+ years"

Contact Lookup

Find property owners and their contact information:
"Get the owners of these 5 properties and their phone numbers"

Person Lookup by Name

Look up a specific person with name enrichment. Add a state, ZIP code, county, or city place ID when you know it:
"Find David Oster in Texas"
Claude should use:
dm enrich name "David Oster" --state TX --estimate-cost
The estimate returns a match count and credit estimate without consuming credits. After the user approves the paid lookup, Claude reruns the command with --yes:
dm enrich name "David Oster" --state TX --json --yes
Non-interactive property search, people search, and name enrichment commands return the free estimate automatically unless --yes is present. This protects scripted and agent runs from an accidental credit charge.
For a city, Claude should resolve the name to a place ID before the lookup:
dm locations search -q "Austin" --type city --state TX --json dm enrich name "David Oster" --city 7333 --estimate-cost
A specific name belongs to dm enrich name or POST /v1/enrichment/name. dm people search and POST /v1/people/search build audiences from filters and locations, and they do not accept a person's name as a filter.
User intentCorrect workflow
Find one person by namedm enrich name, dealmachine_enrich_name, or POST /v1/enrichment/name
Find one person by email or phoneThe matching email or phone enrichment command, MCP Tool, or endpoint
Find people matching demographic or property criteriadm people search, dealmachine_people_search, or POST /v1/people/search
Fetch a known DealMachine person IDdm people get, dealmachine_people_get, or GET /v1/people/:id

Filter Discovery

The agent can help you understand what's available:
"What filters can I use to search for distressed properties?" "Show me all the demographic filters available"

List Management

Build and manage targeted lists:
"Create a list called 'High Equity Austin' with these results" "Add the pre-foreclosure properties to my existing list"

How Natural Language Filtering Works

The DealMachine API exposes filter and field metadata that AI agents use to translate natural language into structured queries:
Your request: "Absentee owners in Austin with 40%+ equity owned 10+ years" Agent generates: { "location": { "cities": ["Austin"] }, "absenteeOwner": true, "equityPercent": { "min": 40 }, "yearsOwned": { "min": 10 } } API returns: 1,247 matching properties
The agent knows:
  • Available filters - from GET /v1/filters
  • Available fields - from GET /v1/fields
  • Field types - number ranges, booleans, multi-select options
  • Valid options - property types, MLS statuses, location formats
  • Your context - organization, credits remaining, saved filters

Best Practices

Approve free commands once

Run dm agents permissions to print the recommended Claude Code permission allowlist. It includes only authentication checks, metadata discovery, usage checks, location lookup, and free count commands. Paid and mutating DealMachine commands are intentionally absent, so Claude Code still asks before running them. The installed Playbook contains the same narrow allowed-tools list.
Start broad, then refine
Begin with a general search and let the agent help you narrow down:
"Find investment properties in Houston" -> "Now filter to just the ones with pre-foreclosure status" -> "Show me only the ones owned by individuals, not corporations"
Ask about available filters
If you're not sure what's possible, ask:
"What demographic filters are available?" "Can I filter by lien amount?" "What MLS statuses can I search for?"
Check credits before large exports
"How many credits do I have left?" "How many results would this search return before I export?"
Use saved filters
Reference your saved filters by name:
"Run my 'High Equity Austin' filter" "Update my saved filter to also include multi-family"

Related Agent Options

For direct AI-client integration, use the DealMachine MCP Server. The CLI is best when a coding agent can run shell commands. The MCP server is best when an AI client can connect to remote MCP Tools directly.