# Newhomesource Property Search Scraper (`alexist/newhomesource-property-search-scraper`) Actor

Scrape new home listings from NewHomeSource with precision. This scraper captures builder info, pricing, property specs, ratings, and 27+ data fields per listing — perfect for real estate professionals, investors, and market researchers.

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

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## 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

## NewHomeSource Property Scraper: Extract Real Estate Data Efficiently

***

### What Is NewHomeSource?

NewHomeSource.com is the largest online marketplace for new homes in North America, featuring thousands of active listings from major builders and developers. It aggregates properties across multiple regions, offering detailed community profiles with pricing, floor plans, and builder information. Manually collecting this real estate data across regions is tedious — the **NewHomeSource Property Scraper** automates extraction, delivering structured records ready for analysis, investment decisions, or market intelligence.

***

### Overview

The **NewHomeSource Property Scraper** extracts comprehensive property listings from NewHomeSource community pages, transforming raw property data into clean, structured records. It is designed for:

- **Real estate investors** analyzing market opportunities and pricing trends
- **Market researchers** tracking new home inventory and builder activity
- **Aggregator platforms** feeding property data into custom search portals
- **Real estate agents** monitoring competitor listings and market supply
- **Data analysts** studying housing trends by region and builder

Key strengths include high-volume scraping (up to 200+ items per URL), built-in error recovery with `ignore_url_failures`, and comprehensive property metadata across 27 fields.

***

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://www.newhomesource.com/communities/id/boise-area/kuna"
  ],
  "max_items_per_url": 200,
  "ignore_url_failures": true
}
```

| Field | Description |
|---|---|
| `urls` | Direct links to NewHomeSource community or search result pages (array format) |
| `max_items_per_url` | Maximum properties collected per URL; typically `100–200` for detailed capture |
| `ignore_url_failures` | If `true`, skips failed URLs instead of halting the entire run |

> **Tip:** Use full community URLs (e.g., `https://www.newhomesource.com/communities/id/boise-area/kuna`) rather than search pages for higher-quality, consistent results.

***

### Output Format

**Sample output**

```json
{
  "id": 215450,
  "builder_id": 8060,
  "latitude": "43.48854",
  "longitude": "-116.37406",
  "price_text": "From $390,990",
  "price_reduced_tracking_label": "N",
  "title": "Riverton",
  "total_plans": 8,
  "price_high": "$499,990",
  "price_low": "$390,990",
  "bedrooms": "3-4",
  "bathrooms": "2-3",
  "address": "Kuna, ID 83634",
  "average_rating": "",
  "garages": "2",
  "square_feet_range": "1,443 - 2,412",
  "brand_name": "Hubble Homes, LLC",
  "state_abbreviation": "ID",
  "zip": "83634",
  "name": "Riverton",
  "previous_price": "",
  "thumbnail": "https://nhs-dynamic-secure.akamaized.net/Images/Homes/HubbellHomes/108053447-260430.jpg",
  "short_price": "$390K",
  "builder_count": 10,
  "community_status": "N",
  "url": "https://www.newhomesource.com/community/id/kuna/riverton-by-hubble-homes-llc/215450",
  "site_plan_type": "None",
  "from_url": "https://www.newhomesource.com/communities/id/boise-area/kuna"
}
```

Each scraped property returns a rich record with 27 fields covering pricing, location, specs, and builder details:

#### Core Property Information

| Field | Meaning |
|---|---|
| `ID` | Unique identifier for the property listing in NewHomeSource system |
| `Title` | Property name or community name as displayed |
| `Name` | Primary property or builder name |
| `URL` | Direct link to the property detail page |
| `Address` | Full street address of the property |
| `State Abbreviation` | Two-letter state code (e.g., ID for Idaho) |
| `ZIP` | Postal ZIP code |
| `Latitude` | Geographic latitude coordinate |
| `Longitude` | Geographic longitude coordinate |

#### Pricing & Market Data

| Field | Meaning |
|---|---|
| `Price Text` | Formatted price display (e.g., "$450,000 - $550,000") |
| `Price High` | Maximum listed price in numeric format |
| `Price Low` | Minimum listed price in numeric format |
| `Short Price` | Abbreviated price display for quick reference |
| `Previous Price` | Historical price for tracking reductions |
| `Price Reduced Tracking Label` | Flag indicating if price has been reduced; useful for identifying price changes |

#### Property Specifications

| Field | Meaning |
|---|---|
| `Bedrooms` | Number of bedrooms in typical floor plans |
| `Bathrooms` | Number of bathrooms in typical floor plans |
| `Garages` | Number of garage spaces/parking |
| `Square Feet Range` | Size range (e.g., "2,000 - 3,500 sq ft") |
| `Total Plans` | Number of available floor plan designs |

#### Builder & Community Details

| Field | Meaning |
|---|---|
| `Builder ID` | Unique identifier for the builder |
| `Brand Name` | Official builder brand or company name |
| `Builder Count` | Number of builders operating in the community |
| `Average Rating` | Community or builder rating (typically 1–5 stars) |
| `Community Status` | Status indicator (e.g., active, coming soon, sold out) |
| `Thumbnail` | Image URL for the property thumbnail photo |
| `Site Plan Type` | Type of site plan or development layout |

***

### How to Use

1. **Find property URLs** — Navigate to NewHomeSource.com and locate community or search results pages. Copy the URL (e.g., `https://www.newhomesource.com/communities/id/boise-area/kuna`).
2. **Prepare the input** — Paste URLs into the `urls` array. Set `max_items_per_url` to 100–200 depending on data volume needed.
3. **Configure error handling** — Set `ignore_url_failures: true` for multi-URL runs to prevent stoppage on single failures.
4. **Run the scraper** — Execute the actor and monitor the run log for progress and errors.
5. **Export & analyze** — Download results as JSON, CSV, or Excel for further analysis or database ingestion.

**Best practices:**

- Use community-specific URLs for targeted data (versus broad state-level searches).
- Run overnight for large-scale data collection to avoid rate-limit issues.
- Test with 1–2 URLs before scaling to 10+ URLs.

***

### Use Cases & Business Value

- **Market analysis:** Track price trends, inventory levels, and builder activity across regions
- **Investment research:** Identify undervalued communities or emerging markets
- **Competitive intelligence:** Monitor builder new releases and promotional pricing
- **Aggregator data feeds:** Power property search engines or real estate platforms
- **Academic & economic research:** Study housing supply and demand dynamics

The NewHomeSource Property Scraper eliminates weeks of manual research, delivering actionable real estate data that drives smarter investment decisions and market insights.

***

### Conclusion

The **NewHomeSource Property Scraper** is an essential tool for real estate professionals and researchers. By automating data extraction across 27 property fields, it transforms NewHomeSource listings into machine-readable records integrated seamlessly into spreadsheets, databases, and analytics platforms. Start scraping today and unlock market intelligence in minutes, not weeks.

# Actor input Schema

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

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

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

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

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.newhomesource.com/communities/id/boise-area/kuna"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}
```

# 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.newhomesource.com/communities/id/boise-area/kuna"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/newhomesource-property-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.newhomesource.com/communities/id/boise-area/kuna"],
    "ignore_url_failures": True,
    "max_items_per_url": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/newhomesource-property-search-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 '{
  "urls": [
    "https://www.newhomesource.com/communities/id/boise-area/kuna"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}' |
apify call alexist/newhomesource-property-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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