Operated by Sourcelane✓ verified
A Redfin-focused web scraper that extracts structured real estate listing data for US locations, covering for-sale, recently sold, and rental listings. The connector performs location- or URL-driven Redfin searches, honors region and filter settings from Redfin search URLs, paginates results, and returns one record per property containing address and geocoordinates, pricing (list price / sold price / rent ranges), unit availability for rentals, price-per-square-foot, physical attributes (bedrooms, bathrooms, living area, lot size, year built, property type), listing metadata (status, listing type, days on market, HOA fees), listing agent and brokerage data, sold dates and sale prices, photos and full listing descriptions, valuation estimates and sale history when property-detail enrichment is enabled. Technical capabilities include search-mode and property-URL mode (individual property lookups), optional additional requests per property to fetch estimates and price history, automatic pagination handling and de-duplication of property records.
Verified Sep 28, 3:55 AM
$0.004
per property
Up to 100 per call. Only pay for results returned; failed calls are refunded.
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"redfin-property-scraper","params":{"mode":"search","maxItems":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | optional | Search a location (city, zip code, neighborhood or county) for listings, or paste individual redfin.com property URLs to get one detail row per property. |
location | string | optional | Where to search, e.g. 'Austin, TX', '78704', 'Brooklyn, NY' or 'Travis County, TX'. Used in Search mode when no Search URLs are given. |
searchUrls | array | optional | redfin.com search-results URLs (city, neighborhood, county or zip pages, with or without /filter/ settings). Each URL is searched separately. Price, bed, bath and sold-window filters in the URL are honoured; other settings below fill in the rest. |
propertyUrls | array | optional | redfin.com property URLs such as https://www.redfin.com/TX/Austin/1600-Barton-Springs-Rd-78704/unit-4401/home/31158554. One detail-enriched row is returned per URL. |
listingType | string | optional | Which listings to return. 'Recently sold' uses the Sold within window below. |
soldWithinDays | string | optional | How far back to look for sold listings. Only used when Listing type is 'Recently sold'. |
minPrice | integer | optional | Minimum list price (or monthly rent in rent mode) in USD. Leave empty for no minimum. |
maxPrice | integer | optional | Maximum list price (or monthly rent in rent mode) in USD. Leave empty for no maximum. |
minBeds | integer | optional | Only return homes with at least this many bedrooms. |
minBaths | number | optional | Only return homes with at least this many bathrooms (1.5, 2, 2.5...). |
minSqft | integer | optional | Only return homes with at least this much living area. Applied after fetching, so very tight ranges may need more pages. |
maxSqft | integer | optional | Only return homes with at most this much living area. Applied after fetching. |
propertyTypes | array | optional | Restrict to these property types. Leave empty for all types. Rentals support House, Condo, Townhouse and Multi-family only. |
sortBy | string | optional | Order of results. When more than 350 results are requested the run switches to price order internally so pages do not overlap. |
maxItems | integer | optional | Maximum number of properties to return per location or search URL. 0 = everything available (paginates until the results run out or the run times out). Capped at 100 per call. |
fetchDetails | boolean | optional | Also open each property's estimate and sale-history data (redfinEstimate, priceHistory). Adds 2 requests per property and bills the property-detail event instead of property-result. |
Each result contains
| Field | Type | Description |
|---|---|---|
propertyId | string | Property Id |
listingId | string | Listing Id |
url | string | Url |
address | string | Address |
city | string | City |
state | string | State |
zip | string | Zip |
latitude | number | Latitude |
longitude | number | Longitude |
price | integer | Price |
priceMax | null | Price Max |
redfinEstimate | null | Redfin Estimate |
beds | integer | — |
baths | integer | — |
sqft | integer | — |
lotSqft | integer | — |
yearBuilt | integer | — |
propertyType | string | — |
status | string | — |
listingType | string | — |
daysOnMarket | integer | — |
hoaMonthly | null | — |
pricePerSqft | integer | — |
mlsId | string | — |
listingAgent | null | — |
listingBrokerage | null | — |
soldDate | null | — |
soldPrice | null | — |
lastSoldDate | null | — |
photoUrl | string | — |
description | string | — |
priceHistory | array | — |
scrapedAt | string | — |
Pick your tool and connect in under a minute. Then just ask — for example: “List 3-bed homes under $600k in Austin that have been on the market for 60+ days.”
Connect Claude
Web, desktop and mobile. Paste one URL.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"redfin-property-scraper","params":{"mode":"search","maxItems":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "redfin-property-scraper",
"params": {"mode":"search","maxItems":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…