@hasdata/zillow-mcp 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +15 -10
  2. package/index.mjs +1 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -9,7 +9,7 @@ It reads public listing pages on Zillow.com that a signed-out visitor can see.
9
9
  **1,000 free credits every month, no card required**, which is 200 Zillow calls at the base rate.
10
10
 
11
11
  ```
12
- https://mcp.hasdata.com/api/mcp?apis=zillow
12
+ https://mcp.hasdata.com/mcp?apis=zillow
13
13
  ```
14
14
 
15
15
  [![Glama score](https://glama.ai/mcp/servers/HasData/zillow-mcp/badges/score.svg)](https://glama.ai/mcp/servers/HasData/zillow-mcp)
@@ -38,7 +38,7 @@ https://mcp.hasdata.com/api/mcp?apis=zillow
38
38
 
39
39
  ## What you need
40
40
 
41
- An MCP client and a HasData API key from the [dashboard](https://app.hasdata.com/sign-up?utm_source=github&utm_medium=syndication&utm_campaign=zillow-mcp), free to create with no card, and the trial covers about 200 calls at the 5-credit rate. This is a remote server, so the simplest path is a URL and an `x-api-key` header, with no container to run. A client that only speaks stdio reaches it through a thin launcher, published as `@hasdata/zillow-mcp` on npm and `hasdata-zillow-mcp` on PyPI, shown below.
41
+ An MCP client and a HasData API key from the [dashboard](https://app.hasdata.com/sign-up?utm_source=github&utm_medium=syndication&utm_campaign=zillow-mcp), free to create with no card, and the free tier covers about 200 calls a month at the 5-credit rate. This is a remote server, so the simplest path is a URL and an `x-api-key` header, with no container to run. A client that only speaks stdio reaches it through a thin launcher, published as `@hasdata/zillow-mcp` on npm and `hasdata-zillow-mcp` on PyPI, shown below.
42
42
 
43
43
  ## Quick start
44
44
 
@@ -46,7 +46,7 @@ The server URL is the same for every client. We run it hands-on in Claude Code a
46
46
 
47
47
  | Field | Value |
48
48
  | :--- | :--- |
49
- | URL | `https://mcp.hasdata.com/api/mcp?apis=zillow` |
49
+ | URL | `https://mcp.hasdata.com/mcp?apis=zillow` |
50
50
  | Transport | HTTP, streamable |
51
51
  | Auth header | `x-api-key: HASDATA_API_KEY` |
52
52
 
@@ -56,7 +56,7 @@ Clients with OAuth support can add the same URL as a connector and sign in witho
56
56
  <summary><b>Claude Code</b></summary>
57
57
 
58
58
  ```bash
59
- claude mcp add --transport http zillow "https://mcp.hasdata.com/api/mcp?apis=zillow" \
59
+ claude mcp add --transport http zillow "https://mcp.hasdata.com/mcp?apis=zillow" \
60
60
  --header "x-api-key: HASDATA_API_KEY"
61
61
  ```
62
62
 
@@ -65,7 +65,7 @@ claude mcp add --transport http zillow "https://mcp.hasdata.com/api/mcp?apis=zil
65
65
  <details>
66
66
  <summary><b>Claude Desktop</b></summary>
67
67
 
68
- Settings, then Connectors, then Add custom connector, then paste `https://mcp.hasdata.com/api/mcp?apis=zillow` and sign in.
68
+ Settings, then Connectors, then Add custom connector, then paste `https://mcp.hasdata.com/mcp?apis=zillow` and sign in.
69
69
 
70
70
  For the config-file route, Claude Desktop loads only local (stdio) servers, so it reaches a remote server through a stdio launcher. The `@hasdata/zillow-mcp` package is that launcher, and it reads the key from the environment. Add this to `claude_desktop_config.json`:
71
71
 
@@ -106,7 +106,7 @@ For Python instead of Node, swap the launcher for the PyPI package, which `uvx`
106
106
  {
107
107
  "mcpServers": {
108
108
  "zillow": {
109
- "url": "https://mcp.hasdata.com/api/mcp?apis=zillow",
109
+ "url": "https://mcp.hasdata.com/mcp?apis=zillow",
110
110
  "headers": { "x-api-key": "HASDATA_API_KEY" }
111
111
  }
112
112
  }
@@ -124,7 +124,7 @@ For Python instead of Node, swap the launcher for the PyPI package, which `uvx`
124
124
  {
125
125
  "mcpServers": {
126
126
  "zillow": {
127
- "serverUrl": "https://mcp.hasdata.com/api/mcp?apis=zillow",
127
+ "serverUrl": "https://mcp.hasdata.com/mcp?apis=zillow",
128
128
  "headers": { "x-api-key": "HASDATA_API_KEY" }
129
129
  }
130
130
  }
@@ -143,7 +143,7 @@ For Python instead of Node, swap the launcher for the PyPI package, which `uvx`
143
143
  "servers": {
144
144
  "zillow": {
145
145
  "type": "http",
146
- "url": "https://mcp.hasdata.com/api/mcp?apis=zillow",
146
+ "url": "https://mcp.hasdata.com/mcp?apis=zillow",
147
147
  "headers": { "x-api-key": "HASDATA_API_KEY" }
148
148
  }
149
149
  }
@@ -176,6 +176,11 @@ A search result is enough to rank and shortlist. Price history, tax history, the
176
176
 
177
177
  ## Tools
178
178
 
179
+ | Tool | What it returns |
180
+ | --- | --- |
181
+ | `hasdata_zillow_listing_getRealEstateListings` | Each listing with address, Zillow URL/zpid, price, Zestimate, beds/baths, sqft, home type, status, days on Zillow, coordinates, thumbnail, and listing agent. 5 credits a call |
182
+ | `hasdata_zillow_property_getPropertyDetails` | Address, list price, Zestimate and Rent Zestimate, price and tax history, beds/baths, living area, lot size, year built, home type, HOA, days on Zillow, listing…. 5 credits a call |
183
+
179
184
  Two tools, read-only. Samples below are trimmed from real calls, and the numbers move as the market moves. Read them as shapes. Each tool name links to its endpoint reference, which carries the full field list.
180
185
 
181
186
  The samples are the payload, not the whole response. A `tools/call` result carries one text block, and that text is itself JSON holding `url`, `status`, `text` and `json`, with the scraped data under `json`. From a raw JSON-RPC response the path is `result.content[0].text`, parsed, then `.json`. A chat client unwraps that for you and code talking to the endpoint directly does not.
@@ -274,9 +279,9 @@ Each Zillow tool costs **5 credits per successful call**. Turning on `extractAge
274
279
 
275
280
  The free tier is **1,000 credits every month with no card**, which is 200 Zillow calls at the base rate. It renews with the billing cycle, so a low-volume agent runs on the free tier indefinitely.
276
281
 
277
- Paid plans start at **$49 a month** for 200,000 credits, which is 40,000 calls. The unit price falls with volume, from **$1.23 per 1,000 calls** on the entry plan to **$0.50** on Business, **$0.42** on Growth and **$0.37** on the largest [high-volume plans](https://hasdata.com/prices?utm_source=github&utm_medium=syndication&utm_campaign=zillow-mcp).
282
+ Paid plans start at **$59 a month** for 200,000 credits, which is 40,000 calls. The unit price falls with volume, from **$1.48 per 1,000 calls** on the entry plan to **$0.60** on Basic and **$0.41** across the Growth tiers. Current figures live on the [pricing page](https://hasdata.com/prices?utm_source=github&utm_medium=syndication&utm_campaign=zillow-mcp).
278
283
 
279
- Your plan also sets concurrency. The free tier allows 1 request at a time, Startup 15, Business 30, Growth 50, and the high-volume plans run from 200 to 1,500. Handle the overflow case defensively in anything unattended.
284
+ Your plan also sets concurrency. The free tier allows 1 request at a time, Startup 5, Basic 15, and the Growth tiers run from 50 to 500. Handle the overflow case defensively in anything unattended.
280
285
 
281
286
  A request that comes back non-200 is not billed. A successful call that finds nothing is still a call.
282
287
 
package/index.mjs CHANGED
@@ -6,7 +6,7 @@ import { spawn } from 'node:child_process';
6
6
  import { createRequire } from 'node:module';
7
7
  import { dirname, join } from 'node:path';
8
8
 
9
- const URL = 'https://mcp.hasdata.com/api/mcp?apis=zillow';
9
+ const URL = 'https://mcp.hasdata.com/mcp?apis=zillow';
10
10
  const key = process.env.HASDATA_API_KEY;
11
11
  if (!key) {
12
12
  process.stderr.write('HASDATA_API_KEY is not set. Create a free key at https://app.hasdata.com and set HASDATA_API_KEY.\n');
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hasdata/zillow-mcp",
3
3
  "mcpName": "com.hasdata/zillow",
4
- "version": "1.0.5",
4
+ "version": "1.0.7",
5
5
  "description": "MCP server for Zillow through HasData's hosted API: search for-sale, for-rent and sold listings, and read a single property in full. 1,000 free credits every month.",
6
6
  "type": "module",
7
7
  "bin": {