# Homes (`getdataforme/homes-scraper`)

Homes scraper enables users to extract real estate data from homes.com using the Homes Scraper Actor. It supports configurable inputs like price range, item limits, and proxies, delivering structured property listings with details such as price, location, and images.

- **URL**: https://beta-securitybyobscurity.apify.com/getdataforme/homes-scraper.md
- **Developed by:** [GetDataForMe](https://beta-securitybyobscurity.apify.com/getdataforme) (community)
- **Categories:** Real estate, Automation, Lead generation
- **Stats:** 4 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$25.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/platform/actors/running/actors-in-store#rental-actors

# README

***

#### **Homes Scraper** - Apify Actor

##### **Overview**

The **Homes Scraper** is an Apify Actor designed to extract real estate listings from [Homes.com](https://www.homes.com). It fetches property details, prices, locations, and images, making it ideal for real estate analysis, investment research, and lead generation.

***

### **How It Works**

This Actor scrapes property listings based on the provided query, filters, and limits. The results are returned in structured JSON format for easy integration into your applications.

***

### **Input Parameters**

Submit the following JSON as input to configure the scraper:

```json
{
  "query": "Cedar Hill, MO/all-inventory/",
  "price_min": 1000,
  "price_max": 510000,
  "price_step": 10000,
  "item_limit": 50,
  "max_limit": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

#### **Parameter Explanation**

- **`query`** *(string, required)* - Location or category to scrape from Homes.com.
- **`price_min`** *(integer, optional)* - Minimum price filter for properties.
- **`price_max`** *(integer, optional)* - Maximum price filter.
- **`price_step`** *(integer, optional)* - Price range step for filtering results.
- **`item_limit`** *(integer, optional)* - Number of results to retrieve.
- **`max_limit`** *(integer, optional)* - Maximum allowable listings.
- **`proxyConfiguration`** *(object, optional)* - Proxy settings. Default is Apify Proxy.

***

### **Output Format**

The Actor returns structured data in JSON format:

```json
{
  "crawl_date": "2025-03-20 17:34:00",
  "source_name": "homes",
  "product_url": "https://www.homes.com/property/1620-n-san-fernando-blvd-burbank-ca-unit-53/6m5n57s7d3krf/",
  "title": "1620 N San Fernando Blvd Unit 53, Burbank, CA 91504",
  "type": "RealEstateListing",
  "image": "https://images.homes.com/listings/115/5983088324-799176491/1620-n-san-fernando-blvd-burbank-ca-primaryphoto.jpg",
  "price": 499000,
  "price_currency": "USD",
  "listing_type": "SingleFamilyResidence",
  "bedrooms": 2,
  "bathrooms": 1,
  "floorSize": {
    "@type": "QuantitativeValue",
    "value": 820.0,
    "unitCode": "FTK"
  },
  "address_type": {
    "@type": "PostalAddress",
    "streetAddress": "1620 N San Fernando Blvd Unit 53",
    "addressLocality": "Burbank",
    "addressRegion": "CA",
    "postalCode": "91504",
    "@id": "https://www.homes.com/property/1620-n-san-fernando-blvd-burbank-ca-unit-53/6m5n57s7d3krf/"
  },
  "geographicArea": {
    "@type": "Country",
    "name": "United States"
  }
}
```

#### **Output Fields**

- **`crawl_date`** - The timestamp of data extraction.
- **`source_name`** - The data source (Homes.com).
- **`product_url`** - Direct link to the property listing.
- **`title`** - Property address and unit details.
- **`type`** - The listing type (e.g., real estate).
- **`image`** - URL of the property’s primary image.
- **`price`** - The price of the property.
- **`price_currency`** - Currency (USD).
- **`listing_type`** - Type of property (e.g., Single Family Residence).
- **`bedrooms`** - Number of bedrooms.
- **`bathrooms`** - Number of bathrooms.
- **`floorSize`** - The size of the property in square feet.
- **`address_type`** - Full address details in structured format.
- **`geographicArea`** - Country of the listing.

***

### **How to Use**

1. **Run the Actor**:
   - Go to the [Apify platform](https://console.apify.com/) and run the **Homes Scraper** Actor.
   - Provide the required input parameters.
2. **Monitor the Crawl Progress**:
   - View logs and status updates in the Apify console.
3. **Download the Results**:
   - Export data in JSON, CSV, or Excel format for further use.

***

### **Use Cases**

- **Real Estate Market Analysis** – Gather listing trends and pricing insights.
- **Lead Generation** – Extract potential property leads for real estate agents.
- **Investment Research** – Identify investment opportunities based on price and location.

***

### **Support**

For custom output formats, bug reports, or any assistance, contact us:\
📧 **support@getdataforme.com**\
🌍 [Contact Us](https://getdataforme.com/contact/)

👉 Please mention your **email subject** for a faster response.

Thank you for using **Homes Scraper**! 🚀

# Actor input Schema

## `query` (type: `string`):

The query term to search for location.

## `price_min` (type: `integer`):

The minimum price of items to scrape.

## `price_max` (type: `integer`):

The maximum price of items to scrape.

## `price_step` (type: `integer`):

This is the price difference that you want to e.g : 50,000 to 60,000 difference is 10,000

## `max_limit` (type: `integer`):

The maximum number of items to scrape.

## `proxyConfiguration` (type: `object`):

Specifies proxy servers that will be used by the scraper in order to hide its origin.

## Actor input object example

```json
{
  "query": "house-springs-mo/all-inventory/",
  "price_min": 1000,
  "price_max": 510000,
  "price_step": 10000,
  "max_limit": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "query": "house-springs-mo/all-inventory/",
    "price_min": 1000,
    "price_max": 510000,
    "price_step": 10000,
    "max_limit": 100,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getdataforme/homes-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 = {
    "query": "house-springs-mo/all-inventory/",
    "price_min": 1000,
    "price_max": 510000,
    "price_step": 10000,
    "max_limit": 100,
    "proxyConfiguration": { "useApifyProxy": True },
}

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

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

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

```

## CLI example

```bash
echo '{
  "query": "house-springs-mo/all-inventory/",
  "price_min": 1000,
  "price_max": 510000,
  "price_step": 10000,
  "max_limit": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getdataforme/homes-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getdataforme/homes-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Homes",
        "description": "Homes scraper enables users to extract real estate data from homes.com using the Homes Scraper Actor. It supports configurable inputs like price range, item limits, and proxies, delivering structured property listings with details such as price, location, and images.",
        "version": "0.0",
        "x-build-id": "hw3wuPzhQwVr6u92N"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getdataforme~homes-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getdataforme-homes-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/getdataforme~homes-scraper/runs": {
            "post": {
                "operationId": "runs-sync-getdataforme-homes-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/getdataforme~homes-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-getdataforme-homes-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "proxyConfiguration"
                ],
                "properties": {
                    "query": {
                        "title": "Location Query",
                        "type": "string",
                        "description": "The query term to search for location.",
                        "default": "house-springs-mo/all-inventory/"
                    },
                    "price_min": {
                        "title": "Minimum Price",
                        "type": "integer",
                        "description": "The minimum price of items to scrape.",
                        "default": 1000
                    },
                    "price_max": {
                        "title": "Maximum Price",
                        "type": "integer",
                        "description": "The maximum price of items to scrape.",
                        "default": 510000
                    },
                    "price_step": {
                        "title": "Price Difference",
                        "type": "integer",
                        "description": "This is the price difference that you want to e.g : 50,000 to 60,000 difference is 10,000",
                        "default": 10000
                    },
                    "max_limit": {
                        "title": "Max_limit",
                        "type": "integer",
                        "description": "The maximum number of items to scrape.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Specifies proxy servers that will be used by the scraper in order to hide its origin.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
