Lowball for the terminal and for Claude
Rent negotiation numbers for any Zillow rental: what similar places nearby ask, how long it has really been listed
(Zillow's counter restarts on a relist), whether it has been cut, what an empty month costs the landlord, an offer,
a likely settling point, and a message to send. Also prices a lease renewal increase.
Free, no account. Estimates, not a guarantee. Not affiliated with Zillow. The browser extension and the website are
at lowball.rent.
From the command line
Options for check: --lease 12|18|24 sets the term in the message, --autopay adds an autopay line.
In ChatGPT, claude.ai, or any chat bot that takes an MCP connector
Lowball runs a public MCP server at https://api.lowball.rent/mcp. No account, no key.
- ChatGPT: Settings > Apps & Connectors > Advanced > Developer mode, then Create: name Lowball, URL
https://api.lowball.rent/mcp, authentication None.
- claude.ai: Settings > Connectors > Add custom connector, URL
https://api.lowball.rent/mcp.
- Anything else (Cursor, VS Code, Gemini, Copilot, Goose): add an HTTP MCP server with that URL.
Then paste a Zillow rental link and ask what to offer.
In Claude Code
As a plugin (adds the remote server and a skill that knows when to use it):
Or just the server, remote (nothing to install) or local:
Then paste a Zillow rental link and ask what to offer.
The tools
The remote server and the npm package expose the same three tools:
Where the numbers come from
Lowball is trained on San Diego County rental listings and tracks them nightly (cuts, relists, exits). There it gives
one number with a confidence level. Anywhere else it builds the estimate from like-for-like listings it has seen
within a few miles and says so with a wider range. Monthly figures are published at
lowball.rent/rent-report.
What is sent
Each call is one HTTPS request to api.lowball.rent carrying only the Zillow id or the numbers you typed. No name,
email or account. The remote server sees your chat client's IP address for rate limiting and keeps no record of it. Listing lookups are capped per day across all users; when the cap is hit, score_rental with the
numbers typed in still works. Privacy: lowball.rent/privacy.
Development
Zero dependencies, Node 18+. node cli/lowball.js runs the MCP server on stdio; node cli/lowball.js check <link>
runs the terminal check. Set LOWBALL_API to point at a local API.
MIT.