Metadata-Version: 2.4
Name: apillow-mcp
Version: 0.1.7
Summary: MCP server for Apillow — Zillow property data API. Search properties, get Zestimates, price history, and more directly from AI agents. Not affiliated with Zillow Group.
Author-email: Apillow <adam@bobbyseamoss.com>
License-Expression: MIT
Project-URL: Homepage, https://apillow.co
Project-URL: Documentation, https://apillow.co/docs.html#mcp-install
Project-URL: Guide, https://apillow.co/blog/zillow-mcp-server
Keywords: mcp,zillow,real-estate,property-data,api
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: mcp<2,>=1.0
Requires-Dist: httpx>=0.27

# Apillow MCP Server

Zillow property data for AI agents. Search properties, get Zestimates, price history, comps, and more — directly from Claude, Cursor, or any MCP-compatible AI tool.

APIllow is not affiliated with or endorsed by Zillow Group.

<!-- mcp-name: co.apillow/zillow -->

## Quick Start

```bash
pip install apillow-mcp
```

### Get an API key

No key yet? Ask your agent to sign you up (it calls `signup(email)`), or sign up at https://apillow.co. Verify your email address, and the welcome mail contains your key. Paste the key into the config below and restart your client.

### Claude Desktop

Open Claude -> Settings -> Developer -> Edit Config, or edit the file directly:

- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
    "mcpServers": {
        "apillow": {
            "command": "apillow-mcp",
            "env": {
                "APILLOW_API_KEY": "your_key_here"
            }
        }
    }
}
```

Restart Claude Desktop after saving.

### Claude Code

```bash
claude mcp add --env APILLOW_API_KEY=your_key --transport stdio apillow -- apillow-mcp
```

Add `--scope user` to make it available in every project.

### Cursor

Add the same `mcpServers` block to `~/.cursor/mcp.json`.

## Tools

### Property Data

| Tool | Description |
|---|---|
| `search_properties` | Search by city or area (e.g. "Austin TX") |
| `search_by_zip` | Search by ZIP codes (e.g. [90210]) |
| `get_property` | Look up by Zillow Property ID |
| `get_property_by_url` | Get data from a Zillow listing URL |
| `get_property_by_address` | Look up one street address |
| `get_properties_by_addresses` | Look up several street addresses at once |
| `check_addresses` | Check which addresses have an active Zillow listing; returns has_listing + listing URL |

### Account

| Tool | Description |
|---|---|
| `signup` | Create free account (50 properties/month); your API key arrives by email once you verify |
| `check_usage` | See current usage, quota, and plan details |
| `upgrade_plan` | Get a Stripe payment link to upgrade your plan |

### What each result contains

- Identity and basics: `zpid`, `address`, `url`, `status`, `property_type`, `bedrooms`, `bathrooms`, `sqft`, `lot_size`, `year_built`, `days_on_zillow`, `hoa_fee`, `latitude`, `longitude`
- Money: `price`, `zestimate`, `rent_zestimate`, `last_sold_price`, `last_sold_date`, `tax_assessed_value`
- `price_history` and `tax_history` (full lists, plus `price_history_count` / `tax_history_count`)
- `comps`: comparable homes (up to 5, each with zpid, address, price, bedrooms, bathrooms, living_area, home_status, url, latitude, longitude)
- `image_urls`: first 10 photos (`image_count` is the total)
- `description` (first 1,500 characters), `listing_agent`, `listing_broker`, `listing_owner`, `nearby_schools`
- `check_addresses` returns only `zpid`, `address`, `has_listing`, `listing_url` and `status`, in the order you passed the addresses.

Zestimate is only populated for off-market and sold homes; it is null for active listings. Plans count properties returned, not API calls.

## Example Conversation

> **You:** Find me 3-bedroom homes under $500K in Austin TX

> **Agent:** *calls search_properties("Austin TX", type="sale", max_items=10)*
> I found 8 listings. Here are the top options under $500K...

> **You:** When did that first property last sell, and for how much?

> **Agent:** *calls get_property(zpid=12345678)*
> It last sold in 2019 for $312,000; the price history shows two earlier sales...

## Pricing

- **Free**: 50 properties/month (sign up through the agent)
- **Pro**: $9.99/mo — 3,333 properties
- **Ultra**: $29.99/mo — 10,000 properties
- **Mega**: $99.99/mo — 50,000 properties

## Links

- Website: https://apillow.co
- API Docs: https://apillow.co/docs.html
- Guide: https://apillow.co/blog/zillow-mcp-server
- RapidAPI: https://rapidapi.com/info-UzmhEs339/api/zillow-property-data1

## Changelog

- 0.1.7: hosted deployments can set the API key per request (`api_key_override`); the stdio server is unchanged.
- 0.1.6: the API key is sent only in the `x-api-key` header, never in a URL query string.
