Sourcelane

Redfin Property Scraper

Real Estate

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.

What people use it for

Trust & reliability

7d uptime trend
WindowUptimeSuccess ratep50p95Calls
24h————0
7d————0
30d————0

Calling contract

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

FieldTypeRequiredDescription
modestringoptionalSearch a location (city, zip code, neighborhood or county) for listings, or paste individual redfin.com property URLs to get one detail row per property.
locationstringoptionalWhere to search, e.g. 'Austin, TX', '78704', 'Brooklyn, NY' or 'Travis County, TX'. Used in Search mode when no Search URLs are given.
searchUrlsarrayoptionalredfin.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.
propertyUrlsarrayoptionalredfin.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.
listingTypestringoptionalWhich listings to return. 'Recently sold' uses the Sold within window below.
soldWithinDaysstringoptionalHow far back to look for sold listings. Only used when Listing type is 'Recently sold'.
minPriceintegeroptionalMinimum list price (or monthly rent in rent mode) in USD. Leave empty for no minimum.
maxPriceintegeroptionalMaximum list price (or monthly rent in rent mode) in USD. Leave empty for no maximum.
minBedsintegeroptionalOnly return homes with at least this many bedrooms.
minBathsnumberoptionalOnly return homes with at least this many bathrooms (1.5, 2, 2.5...).
minSqftintegeroptionalOnly return homes with at least this much living area. Applied after fetching, so very tight ranges may need more pages.
maxSqftintegeroptionalOnly return homes with at most this much living area. Applied after fetching.
propertyTypesarrayoptionalRestrict to these property types. Leave empty for all types. Rentals support House, Condo, Townhouse and Multi-family only.
sortBystringoptionalOrder of results. When more than 350 results are requested the run switches to price order internally so pages do not overlap.
maxItemsintegeroptionalMaximum 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.
fetchDetailsbooleanoptionalAlso 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

FieldTypeDescription
propertyIdstringProperty Id
listingIdstringListing Id
urlstringUrl
addressstringAddress
citystringCity
statestringState
zipstringZip
latitudenumberLatitude
longitudenumberLongitude
priceintegerPrice
priceMaxnullPrice Max
redfinEstimatenullRedfin Estimate
bedsinteger—
bathsinteger—
sqftinteger—
lotSqftinteger—
yearBuiltinteger—
propertyTypestring—
statusstring—
listingTypestring—
daysOnMarketinteger—
hoaMonthlynull—
pricePerSqftinteger—
mlsIdstring—
listingAgentnull—
listingBrokeragenull—
soldDatenull—
soldPricenull—
lastSoldDatenull—
photoUrlstring—
descriptionstring—
priceHistoryarray—
scrapedAtstring—

Use Redfin Property Scraper from Claude, ChatGPT or Cursor

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.

  1. 1Copy your personal connector URL
  2. 2In Claude open Settings → Connectors → Add custom connector
  3. 3Paste the URL and click Add — done
Manual setup (config files, REST, Python) +

Claude Code

Adds the Sourcelane MCP server with your key as a header.

terminal
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
  --header "Authorization: Bearer sl_live_your_agent_key"

Claude Desktop (config file)

Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.

claude_desktop_config.json
{
  "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"
      }
    }
  }
}

Cursor & Windsurf

Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).

mcp.json
{
  "mcpServers": {
    "sourcelane": {
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

VS Code

Save as .vscode/mcp.json. VS Code prompts for your key once.

.vscode/mcp.json
{
  "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
    }
  ]
}

ChatGPT Custom GPT (Actions)

Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.

OpenAPI schema URL
https://usesourcelane.com/openapi.json

REST

One POST. Pass maxResults to cap cost.

curl
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}'

Python, LangChain, CrewAI, OpenAI Agents SDK…

Wrap the REST call as a tool, or point an MCP client at the endpoint.

python
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"])

Reviews

—

0 reviews

5
0
4
0
3
0
2
0
1
0

Leave a review

Loading reviews…