Skip to content

Redfin Scraper

Try for free

Scrape Redfin for-sale, sold and rental listings from search URLs, locations and property pages: price, beds, baths, sq ft, Redfin Estimate, price and tax history, schools, listing agent and brokerage, photos and coordinates.

🏡 Redfin Scraper

Scrape Redfin listings for sale, recently sold and for rent, from any Redfin search URL, a city, ZIP code or neighborhood name, or individual property pages. Every row comes with price, beds, baths, square feet, Redfin Estimate, price and tax history, schools, the listing agent and brokerage, photos and coordinates. No login, no browser, and results arrive in seconds.

✨ Why use Redfin Scraper?

  • ⚡ Fast — reads Redfin's own JSON data, so 20 detailed listings usually take a few seconds and thousands of listings take minutes.
  • 🔎 Every way in — paste Redfin search URLs with their filters, type locations like Austin, TX or 78704, or paste property URLs.
  • 🏷️ For sale, sold and rentals — one actor for active listings, sold comps (last week up to 5 years) and apartments or houses for rent.
  • 📚 Deep property data — price history, tax history, public records, amenities, Redfin Estimate, schools with ratings and optional climate risk.
  • 📞 Listing contacts — listing agent and brokerage names and phone numbers, as published on the listing.
  • 📧 Agent emails (optional) — switch on Include listing agent contacts to add the agent's email, title, license, homes closed and rating from their public Redfin agent profile.
  • 🧭 No 350-result cap — large searches page through the full result set, so a whole city can be exported.

🎯 Use cases

  • 📈 Investors and iBuyers — compare list price with the Redfin Estimate, days on market and price cuts to spot deals.
  • 🧮 Comps and appraisals — pull sold homes in a ZIP code or neighborhood with sold date, price, size and lot.
  • 🏢 Rental market research — rent ranges, available units, floor plans, deposits and pet policies per building.
  • 🤝 Agent and broker prospecting — see who lists what in a market, with the phone numbers published on listings and, optionally, agent emails from Redfin agent profiles.
  • 🗺️ Proptech and analytics — coordinates, schools and climate risk for mapping and scoring models.
  • 🔔 Monitoring — schedule a search and track new listings, status changes and price drops over time.

🚀 How to use

  1. Open Redfin, set up a search (location, price, beds, home type, sold or for rent) and copy the URL. Or just type a location.
  2. Paste the URL into Redfin URLs, or the location into Locations to search and choose the search mode and filters.
  3. Set Maximum results (20 by default; 0 = everything).
  4. Click Start and download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
startUrlsRedfin search URLs (city, ZIP, neighborhood, county, state, school; any /filter/..., including map viewports), rental searches and property URLs
searchKeywordsLocations as typed in Redfin's search box: Seattle, WA, 78704, an address
maxItemsMaximum listings for the whole run (0 = no limit)
searchModesale, sold or rent for the locations
soldTimeframeSold within the last week up to 5 years
minPrice / maxPrice, minBeds / maxBeds, minBaths, minSqft / maxSqftSize and price filters
propertyTypes, listingStatus, maxDaysOnMarket, minYearBuilt / maxYearBuilt, maxHoaMore filters
mapBoundsRestrict to a box: north,south,east,west
sortByRecommended, newest, price, size, price per sq ft or sold date
includeDetails, includeSchools, includeClimateRisk, maxPhotosHow much detail per listing
includeAgentContactsAdd the listing agent's email, phone and profile facts from their public Redfin agent page (default off)
{
  "startUrls": ["https://www.redfin.com/city/30818/TX/Austin/filter/property-type=house,min-price=300k"],
  "searchKeywords": ["Seattle, WA"],
  "searchMode": "sold",
  "soldTimeframe": "6mo",
  "minBeds": 3,
  "maxItems": 100,
  "includeAgentContacts": true
}

Filters are added on top of any filters already in a search URL. A search URL keeps its own mode: a URL with include=sold-3mo returns sold homes, a /rentals or /apartments-for-rent URL returns rentals.

📤 Output

One row per listing. Main fields:

FieldDescription
url, propertyId, listingId, mlsIdListing link and identifiers
listingType, statussale / sold / rent, and Active, Pending, Sold, Coming Soon...
price, redfinEstimate, pricePerSqft, soldDate, lastSoldPricePrices and dates
beds, baths, sqft, lotSizeSqft, yearBuilt, stories, propertyType, hoaMonthly, daysOnMarketHome facts
address, streetAddress, city, state, zip, county, neighborhood, latitude, longitudeLocation
description, keyFacts, badges, openHouseStartListing text and highlights
listingAgentName, listingAgentPhone, listingBrokerName, listingBrokerPhoneListing contacts as published on the listing
listingAgentEmail, listingAgentProfileUrl, listingAgentTitle, listingAgentLicense, listingAgentDeals, listingAgentRating, listingAgentReviewCountWith Include listing agent contacts on: email, profile link, job title, license number, homes closed and customer rating (out of 5) from the agent's public Redfin profile, and the profile's phone number in listingAgentPhone when the listing shows none. Empty when the listing agent has no Redfin profile
photos, mainPhoto, photoCountFull-size photo URLs
priceHistory, taxHistory, annualTax, publicRecords, amenitiesHistory and records (details on)
schools, schoolDistricts, walkScore, bikeScore, transitScore, climateRiskSchools, Walk Score and optional climate risk
rentMin, rentMax, availableUnits, units, petPolicies, depositMin, unitAmenities, communityAmenities, phoneRentals

Example (shortened, fictional values):

{
  "propertyId": 12345678,
  "listingId": 223456789,
  "url": "https://www.redfin.com/TX/Austin/123-Example-St-78704/home/12345678",
  "listingType": "sale",
  "status": "Active",
  "mlsId": "1234567",
  "price": 649000,
  "redfinEstimate": 655210,
  "pricePerSqft": 323,
  "beds": 3,
  "baths": 2.0,
  "sqft": 2008,
  "lotSizeSqft": 7405,
  "yearBuilt": 1954,
  "propertyType": "House",
  "hoaMonthly": null,
  "daysOnMarket": 4,
  "address": "123 Example St, Austin, TX 78704",
  "latitude": 30.2457,
  "longitude": -97.7484,
  "listingAgentName": "Jane Example",
  "listingAgentPhone": "512-555-0100",
  "listingBrokerName": "Example Realty",
  "listingBrokerPhone": "512-555-0199",
  "listingAgentEmail": "jane.example@redfin.com",
  "listingAgentProfileUrl": "https://www.redfin.com/real-estate-agents/jane-example",
  "listingAgentTitle": "Redfin Principal Agent",
  "listingAgentLicense": "0000000",
  "listingAgentDeals": 212,
  "listingAgentRating": 4.9,
  "listingAgentReviewCount": 57,
  "photoCount": 24,
  "mainPhoto": "https://ssl.cdn-redfin.com/photo/92/bigphoto/567/1234567_0.jpg",
  "priceHistory": [{ "date": "2026-10-10", "event": "Listed", "price": 649000, "source": "Unlock MLS", "mlsId": "1234567" }],
  "taxHistory": [{ "year": 2025, "taxesDue": 11062.53, "landValue": 603025, "improvementValue": 464525, "assessedValue": 1067550 }],
  "schools": [{ "name": "Example Elementary School", "rating": 8, "grades": "K-5", "type": "Public", "distanceMiles": 0.3 }],
  "scrapedAt": "2026-10-15T05:15:05Z"
}

💰 Pricing

You pay $1.40 per 1,000 listings ($0.0014 per listing), plus the small platform usage of the run (compute and datacenter proxy traffic, typically a few cents per thousand listings). Example: 1,000 detailed listings cost $1.40 in results plus about $0.03 of usage, so roughly $1.43 in total. There is no start fee, and the run stops cleanly when it reaches your maximum cost per run.

Agent contacts (optional): with Include listing agent contacts on, each listing that gets an agent email costs $0.001 more (the agent-contact event, $1 per 1,000). Listings whose agent has no Redfin profile, or whose profile shows no email, cost nothing extra, and each agent's profile is loaded only once per run. Charges never go beyond your maximum cost per run.

Example: 1,000 listings with agent contacts on, where 300 get an agent email: $1.40 + 300 × $0.001 = $1.40 + $0.30 = $1.70 plus platform usage.

❓ FAQ

Is it legal to scrape Redfin? The actor only reads public listing pages that anyone can open without an account. Check Redfin's terms and the laws that apply to you, and handle any personal data (such as agent names and phone numbers) responsibly.

Do I need a Redfin account or my own proxy? No. No login is used, and the default datacenter proxy works. If an exit is refused, the run moves to residential exits on its own.

How many results can I get? As many as the search has. Searches are paged past Redfin's 350-home map limit. Set Maximum results to 0 to take everything.

Why is a field empty? Redfin only shows what the MLS or public records provide. For example, some states do not disclose sold prices, HOA fees are not listed for every home, and the Redfin Estimate is missing for some property types.

Can I get agent emails? Yes, for agents with a public Redfin agent profile (mostly Redfin's own agents). Switch on Include listing agent contacts and the actor reads the email, title, license, homes closed and rating from that profile. Agents from other brokerages usually have no Redfin profile, so their listings keep only the name and phone published on the listing.

Can I schedule it or use the API? Yes. Schedule runs in the console, or start them through the API and read the dataset as JSON, CSV or Excel.

⚠️ Limits

  • United States listings on redfin.com only (no Redfin Canada).
  • Agent emails come only from public Redfin agent profiles (mostly Redfin agents); agent directories are not crawled, and agents from other brokerages usually have no email on Redfin.
  • Recently sold homes: Redfin leaves the listing agent's phone blank on sold listings, and most sold homes were listed by agents from other brokerages without a Redfin profile, so agent contacts are mostly empty in sold searches (and cost nothing extra). Use them on active listings.
  • Content behind a Redfin login (saved homes, saved searches, messages) is not available.
  • Rentals come from Redfin's rental search; MLS-only rental details such as price history are not included for them.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.