Skip to main content
ClaudeWave

MCP server for Redfin: search for-sale, for-rent and sold listings with the full filter set, and read one property page in full. No MLS licence. 1,000 free credits every month.

MCP ServersOfficial Registry0 stars0 forksJavaScriptMITUpdated today
ClaudeWave Trust Score
95/100
Verified
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Topics declared
  • Documented (README)
Last scanned: 9/10/2026
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/HasData/redfin-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "redfin-mcp": {
      "command": "node",
      "args": ["/path/to/redfin-mcp/dist/index.js"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/HasData/redfin-mcp and follow its README for install instructions.
Use cases

MCP Servers overview

# Redfin MCP Server

<!-- mcp-name: com.hasdata/redfin -->

A hosted Model Context Protocol (MCP) server that gives Claude, Cursor, Windsurf and any other MCP client two read-only Redfin tools. Search for-sale, for-rent and sold listings with the filter set Redfin shows a visitor, and read one property page in full, both as structured JSON, with no MLS licence and nothing to host.

It reads public Redfin pages that a signed-out visitor can see.

**1,000 free credits every month, no card required**, which is 200 Redfin calls at the 5-credit rate.

```
https://mcp.hasdata.com/api/mcp?apis=redfin
```

[![Glama score](https://glama.ai/mcp/servers/HasData/redfin-mcp/badges/score.svg)](https://glama.ai/mcp/servers/HasData/redfin-mcp)
[![tool contract](https://github.com/HasData/redfin-mcp/actions/workflows/contract.yml/badge.svg)](https://github.com/HasData/redfin-mcp/actions/workflows/contract.yml)
[![MCP](https://img.shields.io/badge/MCP-remote%20%7C%20streamable%20HTTP-6366f1?style=flat-square)](https://mcp.hasdata.com/api/mcp?apis=redfin)
[![Tools](https://img.shields.io/badge/tools-2-10b981?style=flat-square)](#tools)
[![npm](https://img.shields.io/npm/v/@hasdata/redfin-mcp?style=flat-square&logo=npm&label=npm&color=cb3837)](https://www.npmjs.com/package/@hasdata/redfin-mcp)
[![PyPI](https://img.shields.io/pypi/v/hasdata-redfin-mcp?style=flat-square&logo=pypi&logoColor=white&label=PyPI&color=3775a9)](https://pypi.org/project/hasdata-redfin-mcp/)
[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE)

## Contents

- [What you need](#what-you-need)
- [Quick start](#quick-start)
- [Example prompts](#example-prompts)
- [Tools](#tools)
- [Errors and failure paths](#errors-and-failure-paths)
- [Pricing, free tier and limits](#pricing-free-tier-and-limits)
- [Tool selection](#tool-selection)
- [How it compares](#how-it-compares)
- [FAQ](#faq)
- [HasData links](#hasdata-links)
- [Development](#development)
- [Contributing](#contributing)
- [License](#license)

## What you need

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=redfin-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/redfin-mcp` on npm and `hasdata-redfin-mcp` on PyPI, shown below.

## Quick start

The server URL is the same for every client. We run it hands-on in Claude Code and Claude Desktop. The other blocks follow each client's own documented format for a remote server.

| Field | Value |
| :--- | :--- |
| URL | `https://mcp.hasdata.com/api/mcp?apis=redfin` |
| Transport | HTTP, streamable |
| Auth header | `x-api-key: HASDATA_API_KEY` |

Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.

<details>
<summary><b>Claude Code</b></summary>

```bash
claude mcp add --transport http redfin "https://mcp.hasdata.com/api/mcp?apis=redfin" \
  --header "x-api-key: HASDATA_API_KEY"
```

</details>

<details>
<summary><b>Claude Desktop</b></summary>

Settings, then Connectors, then Add custom connector, then paste `https://mcp.hasdata.com/api/mcp?apis=redfin` and sign in.

For the config-file route, Claude Desktop loads only local (stdio) servers, so it reaches a remote server through a stdio launcher. The `@hasdata/redfin-mcp` package is that launcher, and it reads the key from the environment. Add this to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "redfin": {
      "command": "npx",
      "args": ["-y", "@hasdata/redfin-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}
```

For Python instead of Node, swap the launcher for the PyPI package, which `uvx` runs without a manual install:

```json
{
  "mcpServers": {
    "redfin": {
      "command": "uvx",
      "args": ["hasdata-redfin-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}
```

</details>

<details>
<summary><b>Cursor</b></summary>

`~/.cursor/mcp.json` for every project, or `.cursor/mcp.json` for one:

```json
{
  "mcpServers": {
    "redfin": {
      "url": "https://mcp.hasdata.com/api/mcp?apis=redfin",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
```

</details>

<details>
<summary><b>Windsurf</b></summary>

`~/.codeium/windsurf/mcp_config.json`. Windsurf calls the field `serverUrl`, not `url`:

```json
{
  "mcpServers": {
    "redfin": {
      "serverUrl": "https://mcp.hasdata.com/api/mcp?apis=redfin",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
```

</details>

<details>
<summary><b>VS Code</b></summary>

`.vscode/mcp.json` in the workspace:

```json
{
  "servers": {
    "redfin": {
      "type": "http",
      "url": "https://mcp.hasdata.com/api/mcp?apis=redfin",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
```

</details>

## Example prompts

Each of these lands on one tool, or on two in sequence when the second needs the URL the first returns.

- Find three-bedroom houses for sale in 78741 under $500,000 and sort them by price per square foot.
- What sold in Austin in the last three months, and how does that compare with what is listed now?
- Pull the full property page for this Redfin URL and summarise the condition from the description.
- Which rentals in Austin allow dogs and include in-unit laundry?
- Show me for-sale homes in the Austin Independent School District where the assigned elementary school rates 8 or better.
- Find fixer-uppers built before 1970 in this zipcode that have been on Redfin more than 30 days.

A prompt that names a market goes to the search tool. A prompt that hands you a Redfin URL goes straight to the property tool. Searching for a full street address is a third case, covered below, because it answers with one property rather than a list.

## Tools

Two tools, 5 credits per successful call.

### Get Redfin real estate listings

[`hasdata_redfin_listing_getRealEstateListings`](https://docs.hasdata.com/apis/redfin/listing?utm_source=github&utm_medium=syndication&utm_campaign=redfin-mcp)

A page of listings for a location, or one property when the location is a single address.

Two parameters are required, and the rest of the schema mirrors Redfin's own filter panel.

| Parameter | Type | Required | Notes |
| :--- | :--- | :--- | :--- |
| `keyword` | string | yes | A zipcode, city, neighborhood, school, school district, apartment building name, or a full street address |
| `type` | string | yes | `forSale`, `forRent` or `sold` |
| `sort` | string | | `recommended`, `newest`, `oldest`, `priceLowToHigh`, `priceHighToLow`, `bedrooms`, `bathrooms`, `lotSize`, `squareFeetPrice` and more |
| `page` | number | | Result page, starting at 1 |

The filters are named after the nested structure Redfin uses internally, flattened with underscores, so they have to be passed exactly as the schema spells them. `price_min_` and `price_max_` are the price band, `beds_min_` and `beds_max_` the bedroom count, `monthlyPayment_interestRate_` a mortgage assumption. A doubled underscore marks an array.

The ones worth knowing:

| Parameter | Type | Notes |
| :--- | :--- | :--- |
| `price_min_` / `price_max_` | number | Price band |
| `beds_min_` / `beds_max_` | number | Bedroom count |
| `baths` | string | Minimum baths, `one` through `four`, plus `oneAndHalf` and `twoAndHalf` |
| `homeTypes__` | array | `house`, `townhouse`, `townhome`, `condo`, `land`, `multiFamily`, `mobile`, `coOp`, `apartment`, `other`. Which values apply depends on `type` |
| `statusOptions__` | array | `active`, `comingSoon`, `contingentPending` |
| `listingType_category___` | array | `byAgent`, `byOwnerFsbo`, `newConstruction`, `foreclosures` |
| `timeOnRedfin` | string | `newListing` through `moreThan45Days` |
| `soldWithinOption` | string | Sold window, from `lastOneWeek` to `lastFiveYear`. See the warning below |
| `yearBuilt_min_` / `yearBuilt_max_` | string | A year from a fixed ladder, `1940` through `2026` |
| `forSaleSquareFeet_min_` / `_max_` | string | Floor area from a fixed ladder, `750` through `10000` |
| `lotSize_min_` / `lotSize_max_` | string | `2000 sqft` through `100 acres`, as written |
| `cost_hoa_` | number | Maximum monthly HOA fee |
| `cost_priceReduced_` | string | `inTheLastDay` through `moreThan120Days` |
| `homeFeatures_options___` | array | `waterfront`, `hasAView`, `fireplace`, `fixerUpper`, `guestHouse`, `elevator`, `greenHome`, `accessibleHome` and more |
| `homeFeatures_poolType_` | string | `privatePool`, `communityPool`, `privateOrCommunityPool`, `noPrivatePool` |
| `homeFeatures_keywordSearch_` | string | Free text against the listing description |
| `schools_greatSchoolRating_` | number | Minimum GreatSchools rating, 1 to 10 |
| `transportScores_walkScore_` | number | Minimum walk score, 1 to 100 |
| `rentalAmenities__` | array | `inUnitWasherDryer`, `parkingAllowed`, `utilitiesIncluded`, `furnished`, `pool` and more |
| `pets__` | array | `dogsAllowed`, `catsAllowed` |
| `moveInDate` | string | `MM/DD/YYYY` |

A market search returns `searchInformation` with `totalResults`, a `properties` array of 40, and `pagination` with `currentPage`, `nextPage` and an `otherPages` map. A for-sale or sold property carries `id`, `mlsId`, `url`, `homeType`, `status`, `price`, `beds`, `baths`, `area`, `yearBuilt`, `daysOnSite`, `addressRaw`, a parsed `address`, `latitude`, `longitude`, `description`, `atAGlanceFacts` and `photos`.

```json
{
  "id": 31625298,
  "mlsId": "2190201772333567097",
  "url": "https://www.redfin.com/TX/Austin/1721-Deerfield-Dr-78741/home/31625298",
  "homeType": "House",
  "status": "FOR_SALE",
  "price": 675000,
  "beds": 3,
  "baths": 2,
  "area": 1667,
  "yearBuilt": 1963,
  "daysOnSite": 0,
  "addressRaw": "1721 Deerfield Dr
ai-agentsclaudecursorhasdatallm-toolsmcpmcp-servermlsmodel-context-protocolproperty-datareal-estateredfinredfin-mcpweb-scrapingwindsurf

What people ask about redfin-mcp

What is HasData/redfin-mcp?

+

HasData/redfin-mcp is mcp servers for the Claude AI ecosystem. MCP server for Redfin: search for-sale, for-rent and sold listings with the full filter set, and read one property page in full. No MLS licence. 1,000 free credits every month. It has 0 GitHub stars and its last recorded update is dated 2026-09-09.

How do I install redfin-mcp?

+

You can install redfin-mcp by cloning the repository (https://github.com/HasData/redfin-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is HasData/redfin-mcp safe to use?

+

Our security agent has analyzed HasData/redfin-mcp and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.

Who maintains HasData/redfin-mcp?

+

HasData/redfin-mcp is maintained by HasData. The last recorded GitHub activity is dated 2026-09-09, with 0 open issues.

Are there alternatives to redfin-mcp?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy redfin-mcp to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: HasData/redfin-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/hasdata-redfin-mcp)](https://claudewave.com/repo/hasdata-redfin-mcp)
<a href="https://claudewave.com/repo/hasdata-redfin-mcp"><img src="https://claudewave.com/api/badge/hasdata-redfin-mcp" alt="Featured on ClaudeWave: HasData/redfin-mcp" width="320" height="64" /></a>

More MCP Servers

redfin-mcp alternatives