
HasData Redfin
com.hasdata由 hasdata.com 發布官方發布者v1.0.2更新於 Oct 25, 2026
Redfin for-sale, for-rent and sold listings plus full property pages, as structured JSON.
發布方自己的服務:HasData Airbnb
概覽
HasData 託管的 Redfin 伺服器,讓助理以結構化 JSON 搜尋待售、出租與已售物件,並讀取完整物件頁面。
- 可以做什麼
- 依郵遞區號、城市、社區、學校或學區搜尋物件,支援價格、房數、衛浴、房型、屋齡、土地面積、特色、寵物與設備等 Redfin 式篩選
- 依 Redfin 網址讀取單一物件的完整頁面,包含價格與稅費歷史、Redfin 估價、規格資訊、學區學校、仲介資訊與照片
- 把完整街道地址直接解析成單一物件,而非結果清單
- 以資源形式讀取篩選參數的固定選項清單,不消耗額度
- 適用情境
- 適合房市研究、市場比較,以及需要 Redfin 物件資料但不想申請 MLS 授權或自行建置爬蟲流程的原型代理。已有 MLS 或 IDX 資料來源的持照仲介公司應優先使用自有資料來源。
- 執行需求
- 需要 HasData API 金鑰:遠端端點透過 x-api-key 標頭傳入,npm 或 PyPI 的 stdio 啟動器則透過環境變數 HASDATA_API_KEY 傳入。需要 MCP 用戶端;使用啟動器時需 Node.js(npx)或 uv(uvx)。需能連線至託管端點。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 HasData Redfin,將其新增到工作區。
- 連接 x-api-key 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/com.hasdata%2Fredfin/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"hasdata-redfin": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=redfin",
"headers": {
"x-api-key": "<YOUR_API_KEY>"
}
}
}
}README
Redfin MCP Server
A hosted Redfin 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 100 Redfin calls at the 10-credit rate.
[Glama score] [tool contract] [MCP] [Tools]
Contents
- What you need
- Quick start
- Example prompts
- Tools
- Errors and failure paths
- Pricing, free tier and limits
- Tool selection
- How it compares
- FAQ
- HasData links
- Development
- Contributing
- License
What you need
An MCP client and a HasData API key from the dashboard, free to create with no card, and the free tier covers about 100 calls a month at the 10-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.
Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.
Claude Code
Claude Desktop
Settings, then Connectors, then Add custom connector, then paste https://mcp.hasdata.com/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:
For Python instead of Node, swap the launcher for the PyPI package, which uvx runs without a manual install:
Cursor
~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:
Windsurf
~/.codeium/windsurf/mcp_config.json. Windsurf calls the field serverUrl, not url:
VS Code
.vscode/mcp.json in the workspace:
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, 10 credits per successful call.
Get Redfin real estate listings
hasdata_redfin_listing_getRealEstateListings
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.
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:
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.
atAGlanceFacts has two shapes. On a search row it is a list of selling-point strings, and on the property response it is a list of factLabel and factValue pairs, so code that reads one shape breaks on the other.
A rental is a building rather than a home, so type: forRent returns a different shape. price, beds, baths and area each become a { min, max } object across the available units, and the entry adds propertyName, availableUnits, agentEmail and agentPhone while dropping mlsId, homeType, yearBuilt and daysOnSite.
Get Redfin property details
hasdata_redfin_property_getPropertyDetails
One property page in full, by its Redfin URL.
Returns a property object. On top of everything the search result carries, it adds propertyDetails, schools, nearby, agentInfo, viewsActivity, openHouseSchedule, updatedAt, a geo object and the full photos collection, which ran to 61 images on the property below.
propertyDetails is the specification block, grouped into parking, interior, exterior, utilities and publicFacts. Each group is an array of labelled sections, and each section is an array of label and value pairs, so it reads as the page presents it rather than as a typed object. Look up a fact by its label instead of by position.
schools.assignedSchools carries the catchment schools with greatSchoolsRating, parentRating, distanceInMiles and a servesHome flag, which is the field that says whether the school actually serves this address.
Prompts and resources
The server exposes 30 resources, one per parameter whose accepted values are a fixed list. Reading one is cheaper than learning the vocabulary from a rejected call, and it costs no credits. Each URI is hasdata://redfin/<parameter>.
The list is served without an API key, so a client can read it before a user has signed up.
Errors and failure paths
Plan for these rather than assuming a happy path.
soldWithinOption narrows a sold search to a window, and it needs type: sold to mean anything. The windows nest as you would expect, so a one-week window returns a small fraction of what a one-year window returns for the same market. type: sold without it covers Redfin's own default of the last three months. Sold and for-sale searches return disjoint sets, so a listing never appears in both.
The search tool returns three different shapes, and which one you get depends on the keyword. A market keyword answers with searchInformation, properties and pagination. A full street address or a named building answers with a single property object and no properties array, no searchInformation and no pagination. A rental search answers with the range-shaped entries shown above. Branch on the presence of properties before you iterate it.
totalResults reports the whole set, and a large market runs into the thousands. A page holds forty listings and pagination.otherPages enumerates the rest, which reaches into the hundreds of pages for a city. Deep pages do come back, so paging works, but walking a market end to end is a call per page. Slice by zipcode, price band or home type when the budget matters more than completeness.
Sold search does not give you sold prices as a separate field. price holds whatever the page shows for that status, so a for-sale price and a sold price arrive in the same field. Read status alongside it every time.
The property response carries the history the search does not. priceHistory and taxHistory arrive as event lists, redfinEstimate holds the estimate with the comparables behind it, and propertyDetails groups the assessor-style facts under publicFacts alongside parking, interior, exterior, financial and utilities. None of that is on a search row, so a question about history is a property call.
nearby.pointsOfInterest is nearby places, not comparable sales. Its categories come from a third-party places dataset and are frequently wrong, so a title loan office can arrive tagged as a bar. Use the names and coordinates, and do not trust the category.
openHouseSchedule can be an array holding an empty object when the page has the section but no dates in it. Test the contents, not the length.
brokerPhoneNumber and other agent fields come back as empty strings rather than null. Treat empty string as absent.
Results that carry data also carry a requestMetadata.id worth quoting in support.
Pricing, free tier and limits
Each Redfin tool costs 10 credits per successful call. Response size does not change the price, so a 40-listing page and a single property cost the same.
The free tier is 1,000 credits every month with no card, which is 100 Redfin calls at the base rate. It renews with the billing cycle, so a low-volume agent runs on the free tier indefinitely.
Paid plans start at $59 a month for 200,000 credits, which is 20,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.
Your plan also sets concurrency. The free tier allows 5 requests at a time, Startup 5, Basic 15, and the Growth tiers run from 50 to 500. Retry on the 429 with a backoff in anything unattended, because an agent that walks a list of properties will reach the ceiling before you do.
A request that comes back non-200 is not billed. A successful call that finds nothing is still a call.
Tool selection
Start from what the prompt gives you. A market, a zipcode or a school district goes to the search tool. A Redfin URL goes straight to the property tool. Spending a search call to reach a URL you already have is the most common waste.
Then pick by depth. The search result is enough for ranking, price sweeps and market summaries, and it already carries price, beds, baths, area, year built and days on site. The property tool is the only one that returns the specification block, the assigned schools and the listing agent, and it is worth one call per property you care about rather than one per row.
Filter server-side. The schema mirrors Redfin's filter panel precisely, so a query like "three beds, under $500k, built before 1970, in this zipcode" is one call with four parameters, not a page sweep followed by local filtering.
How it compares
There is no public Redfin API, so the real alternative is an MLS or IDX feed.
The row that decides it is eligibility. An MLS feed is the authoritative source and it needs a licence you cannot buy as a developer, which rules it out for research, prototypes and anything an agent does on your behalf. When you are a brokerage with a feed already, the feed is more complete and more current, and you should use it.
FAQ
Is there an official Redfin MCP server?
Redfin does not publish one, and it does not publish a public API either. This one is maintained by HasData and reads public Redfin pages.
What is a Redfin MCP server?
An MCP server exposes tools an AI client can call. This one turns Redfin search results and property pages into JSON an agent can reason over, without a browser or a scraping library in your stack.
Do I need an MLS licence or a Redfin account?
No. The only credential is your HasData key.
Why does searching an address return one property instead of a list?
Because Redfin resolves a full street address to that property's page rather than to a result set. The tool passes that through, so the response holds a single property object in the same shape the property tool returns. It is a useful shortcut when you have an address but not a URL.
How do I pull every listing in a city?
By paging, at a call per page. A city reports its full count in totalResults and hands you forty listings at a time, so a large market is hundreds of calls rather than a single sweep. Cutting the market by zipcode, price band or home type gives the same coverage in fewer, narrower queries, which is usually the better trade.
Can I filter sold listings by date?
Not reliably right now. type: sold works and returns Redfin's default three-month window, but soldWithinOption is not being translated into a filter Redfin accepts, and passing it returns active listings labelled SOLD. Leave it off until that is fixed.
Does it cover rentals?
Yes, through type: forRent. Expect the range shape rather than the single-home shape, because a rental result is a building with several available units.
Can I use this together with other HasData APIs?
Yes. One key covers everything, and one endpoint serves them all through the apis parameter. Point a client at ?apis=redfin,zillow to get both tool sets in one connection, or at mcp.hasdata.com/mcp for the full catalogue.
Is HasData affiliated with Redfin?
No. HasData is an independent service and is not affiliated with, endorsed by, or sponsored by Redfin. Redfin is a trademark of its respective owner. The tools work with publicly available data only, and you are responsible for using the results in line with Redfin's terms and the law that applies to you.
Compliance and personal data
Listings carry agent contact details. A for-sale property returns agentInfo with a name and a direct phone number, and a rental returns agentEmail and agentPhone. Those belong to identifiable people, published in a professional capacity, which does not take them out of scope of the GDPR or the CCPA. Marketing to them is regulated separately again, and real estate agents are a common target of exactly that, so check your obligations before you build a contact list. Market analysis does not need those fields at all.
HasData links
- Redfin Scraper API, the REST endpoints behind these tools
- API documentation
- MCP server documentation
- Pricing
- Dashboard
Other HasData MCP servers: Google Search, Google Maps, Google Trends, Google Flights, DuckDuckGo, YouTube, TikTok, Instagram, Amazon, Shopify, Yelp, Zillow, Airbnb, Booking.com, Indeed.
Development
The launcher is a thin stdio bridge to the remote server, so there is nothing to build.
The tests in test/ assert the tool contract, the part that can break without a commit here. They check that ?apis=redfin returns the expected tool count, that no name changed, that every tool still declares its required parameters and carries a description, that the filter enums this README documents are still the ones the schema offers, and that the key in use is actually accepted. That last check calls a tool for real and costs 10 credits, which is the price of a canary that can fail for the right reason.
The contract suite also runs weekly on a schedule, because the upstream tool list can change without anyone touching this repository.
Contributing
A tool table, a response sample or a documented behaviour that does not match reality is worth an issue. There is a template for exactly that. Pull requests are welcome for the same, and for anything in the launcher.
License
MIT, see LICENSE.
來源:README.md,提交 96ff74b
工具
0版本歷史
3- v1.0.2最新Sep 24, 2026
- v1.0.1Sep 22, 2026
- v1.0.0Sep 16, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具必需15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
其他 Hasdata 整合

HasData Airbnb
com.hasdata官方發布者
由 HasData 託管的 Airbnb MCP 伺服器,提供兩個唯讀工具,讓助理依地點或地圖區域搜尋房源,並以 JSON 讀取房源詳情。

HasData Google Flights Deals
com.hasdata官方發布者
HasData 託管伺服器,提供一個 Google Flights Deals 工具,把自然語言描述的旅行想法變成帶日期的票價、航空公司、轉機次數與訂票連結。

HasData ChatGPT
com.hasdata官方發布者
HasData 託管伺服器,讓助理匿名向 ChatGPT 提問,並取回 Markdown 答案及其引用的網頁來源。

HasData Google Hotels
com.hasdata官方發布者
HasData 託管伺服器,提供一個 Google Hotels 工具,讓助理搜尋飯店與度假短租,並查看某房源在各訂房網站的價格。

HasData Zillow
com.hasdata官方發布者
由 HasData 提供的託管服務,讓助理以結構化 JSON 搜尋 Zillow 待售、出租與已售物件,並讀取完整物件詳情。