Redfin Property Scraper - For Sale, Sold & Rental Listings avatar

Redfin Property Scraper - For Sale, Sold & Rental Listings

Pricing

from $4.00 / 1,000 property (search row)s

Go to Apify Store
Redfin Property Scraper - For Sale, Sold & Rental Listings

Redfin Property Scraper - For Sale, Sold & Rental Listings

Scrape Redfin for-sale, sold and rental listings by city, zip or URL - price, beds, baths, sqft, status, days on market, estimate and agent for every home.

Pricing

from $4.00 / 1,000 property (search row)s

Rating

0.0

(0)

Developer

Seemu Scraping

Seemu Scraping

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Extract real estate listings from Redfin for any US city, zip code, neighborhood or county - homes for sale, recently sold homes and rentals - with price, beds, baths, square footage, lot size, year built, days on market, HOA, listing agent, photo and full listing description. No login and no API key needed.

Type "Austin, TX", pick For sale, and every active and coming-soon listing streams into a dataset you can export to JSON, CSV, Excel or Google Sheets. Switch to Recently sold for closed sales with sold dates and prices, or For rent for apartment and house rentals with rent ranges and available units.

What you get

One row per property:

  • propertyId, listingId, url, mlsId
  • address, city, state, zip, latitude, longitude
  • price (list price, sold price or monthly rent), priceMax (rent range upper bound), pricePerSqft
  • beds, baths, sqft, lotSqft, yearBuilt, propertyType (House, Condo, Townhouse, Multi-family, Land, Apartment ...)
  • status (Active, Coming Soon, Closed, For Rent ...), listingType (forSale / sold / rent), daysOnMarket, hoaMonthly
  • listingAgent, listingBrokerage
  • soldDate, soldPrice (sold listings), lastSoldDate (previous sale for active listings)
  • photoUrl, description (the full listing remarks)
  • redfinEstimate and priceHistory when Fetch property details is on or in URLs mode
  • scrapedAt

Use cases

  • Real estate lead generation - pull every new listing in a zip code each morning and reach out to sellers, buyers and listing agents
  • Comparable sales and appraisal - export recently sold homes with sold dates, prices and price per square foot for any neighborhood
  • Investment analysis - screen thousands of listings by price, beds, baths, square footage and HOA, then rank by price per square foot
  • Rental market research - track rent ranges, available units and property types across a city
  • Market monitoring dashboards - schedule daily runs and load the dataset into Google Sheets, BigQuery or your BI tool
  • Data science and ML - build clean, structured housing datasets with coordinates for mapping and modelling

How to use

  1. Leave Mode on Search a location and enter a Location - a city and state (Austin, TX), a 5-digit zip code (78704), a neighborhood or a county. You can instead paste one or more redfin.com Search URLs; region and /filter/ settings (min-price, max-price, min-beds, min-baths, property-type, sold window) in the URL are honoured.
  2. Choose a Listing type: For sale, Recently sold (with Sold within 30 days to 3 years) or For rent.
  3. Optionally set Min/Max price, Min bedrooms, Min bathrooms, Min/Max square feet and Property types.
  4. Set Max items (default 100; 0 fetches everything available) and Sort by.
  5. Turn on Fetch property details to add the estimate and sale history to every row (2 extra requests per property).
  6. Run the actor - results stream into the Dataset tab as they are found.

To look up specific homes, switch Mode to Property URLs and paste redfin.com property links (https://www.redfin.com/TX/Austin/.../home/31158554). Each URL returns one detail row including the estimate, even for off-market homes.

Output format

Each dataset record:

{
"propertyId": "31287479",
"listingId": "223648217",
"url": "https://www.redfin.com/TX/Austin/6904-Ladera-Norte-78731/home/31287479",
"address": "6904 Ladera Norte",
"city": "Austin",
"state": "TX",
"zip": "78731",
"latitude": 30.3662362,
"longitude": -97.7814561,
"price": 1525000,
"priceMax": null,
"redfinEstimate": null,
"beds": 4,
"baths": 3,
"sqft": 3193,
"lotSqft": null,
"yearBuilt": 1985,
"propertyType": "House",
"status": "Coming Soon",
"listingType": "forSale",
"daysOnMarket": 2,
"hoaMonthly": null,
"pricePerSqft": 478,
"mlsId": "2197395045004573785",
"listingAgent": null,
"listingBrokerage": null,
"soldDate": null,
"soldPrice": null,
"lastSoldDate": "2016-06-22",
"photoUrl": "https://ssl.cdn-redfin.com/photo/641/bigphoto/785/2197395045004573785_0.jpg",
"description": "Some homes have a view. This Cat Mountain home was designed to live with one. Expansive windows extend across the back of the home, framing Hill Country views...",
"priceHistory": [],
"scrapedAt": "2026-09-20T08:17:28.931Z"
}

A sold listing looks the same with "status": "Closed", "listingType": "sold", "soldDate": "2026-08-28" and "soldPrice": 689999. Rentals report the rent range in price / priceMax, the number of available units in status, and "propertyType": "Apartment" for apartment communities.

Tips

  • Searches return up to 350 listings per page and paginate automatically; set Max items to 0 to pull an entire city.
  • When more than 350 results are requested the run pages in price order so pages never overlap - the final dataset is de-duplicated by propertyId.
  • Some MLS boards withhold price or status on sold homes (non-disclosure states). Those rows still include the address, coordinates, size and description with the withheld fields set to null.
  • priceHistory lists past sale dates; sale prices inside the history are only included when the listing source publishes them.
  • Square-footage filters are applied after fetching, so very narrow ranges may need a higher Max items to fill up.

Pricing

You pay per property returned: a property-result event for each search row, or a property-detail event for each row enriched with the estimate and sale history (Fetch property details on, or URLs mode). No platform usage surprises - proxies and compute are included.