Redfin Scraper - Real Estate Listings, Prices & Property Data avatar

Redfin Scraper - Real Estate Listings, Prices & Property Data

Pricing

from $0.40 / 1,000 listings

Go to Apify Store
Redfin Scraper - Real Estate Listings, Prices & Property Data

Redfin Scraper - Real Estate Listings, Prices & Property Data

Scrape Redfin homes for sale, rentals, and recently sold: prices, beds, baths, sqft, $/sqft, lot, HOA, address, coordinates, MLS id, description, and full-size photo URLs. Fast, HTTP-first, runs on datacenter proxies.

Pricing

from $0.40 / 1,000 listings

Rating

0.0

(0)

Developer

Ihor Bielievskiy

Ihor Bielievskiy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Give it a Redfin search URL (a city, zipcode, neighborhood, or county) and get back clean, structured data: homes for sale, rentals, or recently sold, with prices, beds and baths, square footage, lot size, HOA, the full address and coordinates, MLS id, the listing text, and direct links to every photo. Export as JSON, CSV, or Excel.

It calls Redfin's own search API directly instead of driving a headless browser, so it's quick and runs fine on cheap datacenter proxies. You don't need residential.

What it can scrape

Set listingType:

  • for_sale — active and coming-soon listings (the default)
  • rentals — rentals, with rent ranges, how many units are available, and the leasing contact
  • sold — recently sold homes with the sale date and price; use soldWithinDays to pick the window

Drop one or more search URLs into startUrls. The URL only decides which area gets scraped. Any price/bed//filter/ parts in it are ignored, so set those through the inputs below instead.

Fields (for-sale)

price, beds, baths, sqft, price_per_sqft, lot_size, hoa, year_built, property_type, is_new_construction, street, unit, city, state, zip_code, latitude, longitude, days_on_market, mls_id, mls_status, description, key_facts, listing_tags, badges, open_house, photos_count, photo_urls, url (plus property_id / listing_id).

Rentals and sold return their own fields: rent ranges, available units and a contact for rentals; sale date, sold price and status for sold.

Input

FieldDescription
startUrlsRedfin city / zipcode / neighborhood / county search URLs.
listingTypefor_sale, rentals, or sold.
soldWithinDaysFor sold: how far back to look (Redfin caps the export at ~350 per URL).
maxItemsStop after this many results across all URLs (0 = no limit).
sortrecommended, price_low_high, or price_high_low.
propertyTypesHouse / Condo / Townhouse / Multi-family / Land / Other.
proxyConfigurationApify Proxy — datacenter is enough.
impersonateBrowser TLS fingerprint (chrome by default).
{
"startUrls": [{ "url": "https://www.redfin.com/city/17151/CA/San-Francisco" }],
"listingType": "for_sale",
"maxItems": 500,
"sort": "price_low_high"
}

Example output

{
"street": "1515 Underwood Ave",
"city": "San Francisco",
"state": "CA",
"price": 895000.0,
"beds": 3.0,
"baths": 1.5,
"sqft": 1500,
"price_per_sqft": 597.0,
"days_on_market": 1,
"mls_status": "Active",
"latitude": 37.72,
"longitude": -122.39,
"badges": ["Open House"],
"open_house": ["OPEN SAT, 1PM TO 4PM"],
"photos_count": 38,
"photo_urls": [
"https://ssl.cdn-redfin.com/photo/9/bigphoto/164/426141164_1.jpg",
"https://ssl.cdn-redfin.com/photo/9/bigphoto/164/426141164_1_1.jpg"
],
"url": "https://www.redfin.com/CA/San-Francisco/1515-Underwood-Ave-94124/home/1543331"
}

Photos

Every listing comes with photo_urls: direct links to the full-size images on Redfin's CDN. They're built from the listing data itself, so there's no extra request per home and no residential proxy needed. photos_count tells you how many to expect.

A few things worth knowing

  • Sold is capped at ~350 homes per URL. That's Redfin's own limit on the sold export, not the actor. For a busy area, scrape it by zipcode or use a shorter soldWithinDays.
  • Nothing fails silently. If an area gets blocked or a request fails, you get a typed error row for it, so an empty result always means "nothing found" and never a hidden block.
  • You're billed per valid result delivered, so error rows and duplicates don't cost you anything.

Roadmap

Per-home detail (price history, tax records, schools, the Redfin Estimate) sits behind heavier protection than the search API, so it needs a different approach. It's planned as an optional add-on rather than something bolted on half-working.

Notes

Only public, unauthenticated Redfin pages are scraped. The data comes from Redfin's public site, so follow Redfin's Terms and the laws that apply to you, and use it responsibly. Removal requests are honored.

Who built this

I build scrapers for my own projects and publish the ones that turn out genuinely useful. This is one of them. If you need a custom scraper, a data pipeline, or a change to this actor, I'm available for freelance work.

GitHub: github.com/bujhmml · Site: bujhmml.fun