# Redfin Property Search Scraper (`ecomscrape/redfin-search-scraper`) Actor

The Redfin.com Property Search Scraper extracts property data from Redfin.com. Capture key details like price, location, square footage, and agent info. Features bulk URL input, page limits, and proxy support for efficient, large-scale property data extraction and analysis.

- **URL**: https://apify.com/ecomscrape/redfin-search-scraper.md
- **Developed by:** [ecomscrape](https://apify.com/ecomscrape) (community)
- **Categories:** Real estate, Developer tools, Automation
- **Stats:** 62 total users, 3 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: No ratings yet

## Pricing

$15.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#rental-actors

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## What does Redfin.com Property Search Scraper do?

### Introduction

Redfin is a leading real estate brokerage with direct access to Multiple Listing Service (MLS) data, providing comprehensive property information across the United States. As one of the most trusted real estate platforms, Redfin offers detailed property listings, market insights, and accurate pricing data that professionals and investors rely on for making informed decisions.

The challenge many real estate professionals, investors, and market analysts face is efficiently collecting large volumes of property data for analysis, comparison, and business intelligence. Manual data collection from Redfin is time-consuming and impractical when dealing with hundreds or thousands of properties across different markets.

Our Redfin.com Property Search Scraper solves this problem by automating the data extraction process, allowing you to gather comprehensive property information at scale while maintaining data accuracy and completeness.

### Scraper Overview

The Redfin.com Property Search Scraper is a powerful automation tool designed to extract detailed property information from Redfin's property listings pages. Since Redfin has access to the same databases that all brokerages use to list properties, the data extracted represents comprehensive market information.

This scraper stands out for its ability to capture extensive property details including pricing, location data, property features, listing agent information, and market indicators. The tool is built with reliability in mind, incorporating retry mechanisms and proxy support to ensure consistent data collection even from large property datasets.

The scraper is ideal for real estate professionals, property investors, market researchers, appraisers, and data analysts who need systematic access to Redfin's comprehensive property database. Whether you're conducting market analysis, building property portfolios, or creating comparative market analyses, this tool provides the data foundation you need.

### Input and Output Details

Example url 1: https://www.redfin.com/city/35760/AL/Hoover

Example url 2: https://www.redfin.com/city/11203/CA/Los-Angeles

Example url 3: https://www.redfin.com/city/8439/CA/Hayward

Example Screenshot of property list by query urls page:

![](https://i.ibb.co/wg64cFQ/Screenshot-from-2025-01-13-19-12-00.png)

#### Input Format

The scraper accepts a JSON configuration that defines how data collection should be performed. Here's the structure:

**Input:**

```json
{
  "max_retries_per_url": 2, // Maximum waiting time when accessing the links you provided.
  "proxy": { // Add a proxy to ensure that during the data collection process, you are not detected as a bot.
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL" 
    ],
    "apifyProxyCountry": "SG" // You should choose an Country that coincides with the Country you want to collect data from
  },
  "max_items_per_url": 20,
  "urls": [ // Links to property list by query pages.
    "https://www.redfin.com/city/35760/AL/Hoover",
    "https://www.redfin.com/city/11203/CA/Los-Angeles",
    "https://www.redfin.com/city/8439/CA/Hayward"
  ]
}
```

**Input Parameters Explained:**

- **max\_retries\_per\_url**: Sets the maximum number of retry attempts if a URL fails to load initially. Recommended value is 2-3 for optimal balance between speed and reliability.
- **proxy**: Essential for avoiding bot detection during large-scale scraping operations. The residential proxy group provides legitimate IP addresses that appear as regular user traffic.
- **apifyProxyCountry**: Choose a country that matches your target market (US recommended for US properties).
- **max\_items\_per\_url**: Limits the number of properties extracted per URL to control data volume and processing time.
- **urls**: Array of Redfin search result URLs or city pages from which to extract property data.

#### Output Format

You get the output from the Redfin.com Property Search Scraper stored in a tab. The following is an example of the Information Fields collected after running the Actor.

```json
[ // List of property information
  {
    "id": "167820922",
    "url": "/AL/Hoover/581-Restoration-Dr-35226/home/167820922",
    "price": 1199900.0,
    "currency": "$",
    "sq_ft": 5677,
    "price_per_sq_ft": 211.0,
    "lot_size": null,
    "beds": 7,
    "baths": 4.5,
    "full_baths": 4,
    "lat_long": {
      "latitude": 33.3789883,
      "longitude": -86.8336269
    },
    "location": "The Preserve",
    "street_line": "581 Restoration Dr",
    "city": "Hoover",
    "state": "AL",
    "zip": "35226",
    "postal_code": "35226",
    "country_code": null,
    "year_built": 2021,
    "posted_at": "1970-08-03 02:35:14",
    "listing_agent": {
      "name": "Jordan Hosey"
    },
    "key_facts": [
      {
        "description": "$108 HOA",
        "rank": 0
      },
      {
        "description": "3 garage spots",
        "rank": 1
      },
      {
        "description": "Pool",
        "rank": 2
      }
    ],
    "is_hot": false,
    "description": "COMING SOON 1/13! Interior pictures will be loaded shortly. Discover luxury living in The Preserve with this immaculate 7-bedroom, 5.5-bathroom home offering unparalleled space and functionality. Boasting double everything—from ovens and fridges to laundry rooms—this home is designed for modern living and entertaining. Located in one of the most prestigious neighborhoods, you’ll enjoy proximity to  * Moss Rock Preserve * , a 350-acre park with scenic trails, as well as Hoover’s finest shopping, dining, and top-rated schools. The preserves also features amenities like a community pool, tree lined walking streets, several park options, and much more. Priced competitive",
    "image_urls": [
      "https://ssl.cdn-redfin.com/photo/172/islphoto/332/genIslnoResize.21406332_6.jpg",
      "https://ssl.cdn-redfin.com/photo/172/islphoto/332/genIslnoResize.21406332_1_5.jpg",
      "https://ssl.cdn-redfin.com/photo/172/islphoto/332/genIslnoResize.21406332_56_1.jpg"
    ]
  }, // ... Many other property details
] 
```

The scraper returns comprehensive property data in a structured format with 25 key fields:

**Core Property Information:**

- **ID**: Unique Redfin property identifier for tracking and reference
- **URL**: Direct link to the property's detailed page on Redfin
- **Price**: Current listing price in numerical format
- **Currency**: Currency denomination (typically USD for US properties)

**Property Specifications:**

- **Square Feet**: Total interior living space measurement
- **Price per Square Foot**: Calculated value for price comparison analysis
- **Lot Size**: Exterior land area measurement
- **Beds**: Number of bedrooms
- **Baths**: Total bathroom count
- **Full Baths**: Count of full bathrooms (important for accurate property valuation)

**Location Data:**

- **Latitude and Longitude**: Precise GPS coordinates for mapping and geographic analysis
- **Location**: Full address or general location description
- **Street Line**: Specific street address
- **City**: Municipality name
- **State**: State abbreviation
- **ZIP Code**: Postal code for demographic analysis
- **Country Code**: Country identifier (US for United States properties)

**Property Details:**

- **Year Built**: Construction year for age analysis and depreciation calculations
- **Posted At**: Listing date for market timing analysis
- **Listing Agent**: Agent name and contact information for follow-up
- **Key Facts**: Important property highlights and features
- **Is Hot**: Boolean indicator for high-demand properties
- **Description**: Detailed property description from the listing
- **Image URLs**: Array of property photo links for visual analysis

### Usage Guide

**Step 1: Prepare Input URLs**
Navigate to Redfin.com and search for your target area or criteria. Copy the search results URL from your browser.

**Step 2: Configure Parameters**
Set max\_items\_per\_url based on your needs (20-50 recommended for initial tests). Enable proxy settings to avoid detection during large-scale extractions. Choose a proxy country matching your target market for best results.

**Step 3: Execute and Monitor**
Run the scraper and monitor the extraction progress. The tool will automatically handle pagination and retry failed requests according to your configuration.

**Best Practices:**

- Start with smaller datasets to test configuration settings
- Use delays between requests to maintain respectful scraping practices
- Regularly update your proxy settings for consistent access
- Monitor for any changes in Redfin's page structure that might affect extraction

**Common Issues and Solutions:**

- **Rate limiting**: Reduce max\_items\_per\_url and add delays
- **Incomplete data**: Increase max\_retries\_per\_url setting
- **Proxy errors**: Switch proxy country or group settings
- **Missing fields**: Some properties may not have all data fields available

### Benefits and Applications

The Redfin.com Property Search Scraper delivers significant time savings by automating what would otherwise require hours of manual data collection. Instead of individually viewing hundreds of property listings, you can extract comprehensive data in minutes.

**Real Estate Applications:**
Market analysis and trend identification become straightforward with bulk property data. Create comparative market analyses (CMAs) by extracting similar properties in specific areas. Investment property identification is enhanced through systematic price-per-square-foot analysis across different neighborhoods.

**Business Intelligence Value:**
The structured data output integrates seamlessly with analysis tools, CRM systems, and databases. Generate automated reports, create property comparison spreadsheets, and build market monitoring dashboards using the extracted information.

**Professional Use Cases:**
Real estate agents can quickly compile market data for client presentations. Property investors can identify undervalued properties by analyzing price trends and property features. Market researchers can track inventory changes and pricing movements across different markets.

### Conclusion

The Redfin.com Property Search Scraper transforms manual property research into an automated, efficient process. With comprehensive data extraction capabilities covering 25 key property fields, this tool provides the foundation for informed real estate decisions and market analysis.

Ready to streamline your property data collection? Start extracting valuable Redfin property information today and discover insights that manual research simply cannot match in scale and efficiency.

## Relate Actors

[**Redfin.com Property Details Page Scraper**](https://apify.com/ecomscrape/redfin-com-property-details-page-scraper): An intelligent automated data extraction system designed specifically for America's leading real estate platform.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Redfin.com Property Search Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Property list page urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `max_items_per_url` (type: `integer`):

Limit the number of items per URL you want to scrape

## `max_retries_per_url` (type: `integer`):

Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.redfin.com/city/35760/AL/Hoover"
  ],
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.redfin.com/city/35760/AL/Hoover"
    ],
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/redfin-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://www.redfin.com/city/35760/AL/Hoover"],
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/redfin-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.redfin.com/city/35760/AL/Hoover"
  ],
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ecomscrape/redfin-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ecomscrape/redfin-search-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/GZJZXblpmJFpl6ioT/builds/HfU8JR7YWfGc0KjNT/openapi.json
