# Lennar.com \[$2💰] New-Home Listings, Prices & Floor Plans (`memo23/lennar-scraper`) Actor

Revolutionize your home search with our Lennar scraper – your secret weapon for unlocking detailed, real-time property data. Instantly access comprehensive insights on new homes, community features, and pricing, empowering you to make smarter, faster decisions and secure your dream home today!

- **URL**: https://apify.com/memo23/lennar-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Real estate, Automation, Lead generation
- **Stats:** 14 total users, 2 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

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

## Lennar.com Scraper

*Automated Data Extraction Tool for New Home Communities and Listings*

***

### Overview

Designed to extract comprehensive data from Lennar.com, it enables you to gather detailed information on communities, homes, and associated plan features. Whether you’re analyzing market trends or scouting for your next home, this scraper delivers accurate, up-to-date listings data along with extensive property insights.

Unlock the full potential of Lennar.com data by extracting key details such as community descriptions, home features, pricing, location, consultant information, virtual tours, and similar homesite listings. Enjoy the flexibility of selecting your region via a customizable city/state input and leverage advanced proxy support for reliable scraping.

***

### Features

- **Geographic Filtering**
  Target 65+ regional markets from Pennsylvania to Washington state using standardized location codes.
- **Region Selection**: Choose from an extensive list of state/city codes (e.g., PEN for Gulf Coast \[Alabama]\[Florida], PHO for Phoenix \[Arizona], etc.) to filter listings by your preferred market.
- **Detailed Data Extraction**:
  - **Community Data**: Extract information such as community ID, name, description, URL, geographic coordinates, address, phone, and property types.
  - **Home Details**: Retrieve home IDs, names, descriptions, images, addresses, status, pricing details, room counts, square footage, and offer dates.
  - **Plan Information**: Gather in-depth details on plans including walkthrough images, virtual tour URLs, elevation images, and energy efficiency features.
  - **Additional Insights**: Capture supplementary data like consultant profiles, operating hours, floorplans, and similar homesite listings.
- **Configurable Concurrency and Retries**: Adjust maximum items per crawl, set the level of concurrency, and define request retry limits to balance speed and reliability.
- **Proxy Integration**: Benefit from built-in proxy settings (e.g., useApifyProxy with RESIDENTIAL groups) to bypass potential scraping restrictions and maintain anonymity.
- **Flexible Scaling**
  Adjust concurrency levels from 1-100 parallel requests based on needs.

***

### Local run (Apify CLI)

From the project root:

```bash
apify run --purge
```

Optional input (not in the actor schema UI): add `"httpMode": "internal"` to your local `INPUT.json` to use the Impit + got-scraping internal queue instead of the default Cheerio crawler.

***

### How to Use

1. **Set Up**:
   - Create an account on Apify if you haven’t already.
   - Navigate to the Lennar.com Real Estate Listings Scraper actor in your Apify console.
2. **Configure Input Data**:
   - Copy your desired configuration into the actor’s input field.
   - Use the provided JSON configuration to set parameters such as state selection, maximum items, concurrency limits, and proxy settings.
3. **Run the Scraper**:
   - Launch the scraper from the Apify platform.
   - Monitor its progress via the Apify dashboard.
4. **Data Collection**:
   - Once completed, extracted data will be available in your preferred output format (JSON, CSV, Excel, etc.) for further analysis.

***

### Input Configuration

#### Example Input

```json
{
    "state": "AUS",
    "maxItems": 100,
    "maxConcurrency": 50,
    "minConcurrency": 5,
    "maxRequestRetries": 15,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
```

#### Input Fields Explanation

| Parameter | Type | Description | Options |
|-----------|------|-------------|---------|
| **state** | string | Target regional market code | 65+ options including:<br>`AUS` - Austin/Central TX<br>`CHI` - Chicago IL<br>`MIA` - Miami FL<br>`DEN` - Denver CO |
| maxItems | integer | Max listings to scrape (1-1000) | Default: 20 |
| maxConcurrency | integer | Parallel request limit | Default: 100 |
| minConcurrency | integer | Minimum concurrent requests | Default: 1 |
| maxRequestRetries | integer | Failed request retries | Default: 20 |
| proxyConfiguration | object | Proxy configuration | Residential proxies recommended |

***

### Output Structure

```json
{
    "community": {
        "communityId": "c_7807",
        "communityName": "Cottage Collection",
        "communityDescription": "Cottage is a collection of new single-family homes for sale at the Eastwood master-planned community located in Jarrell, TX. In addition to beautiful home designs, residents enjoy access to onsite amenities including a swimming pool and playground. Homeowners are also conveniently located to local shopping, dining and entertainment in Jarrell, as well as outdoor recreation including local parts with sports courts and tennis courts. For more urban offerings, Austin is less than hour away.",
        "url": "https://www.lennar.com/new-homes/texas/austin-central-texas/jarrell/eastwood-at-sonterra/cottage-collection",
        "location": "30.824616,-97.604361",
        "address": {
            "postalcode": "76537",
            "streetaddress": "600 The Ugly Way",
            "stateCode": "TX",
            "city": "Jarrell",
            "full_address": "600 The Ugly Way, Jarrell, TX 76537"
        },
        "phone": "512-489-6838",
        "hasSchools": false,
        "types": [
            "Single Family"
        ]
    },
    "home": {
        "homeId": "h_751068",
        "homeName": "Drexel",
        "description": "This single-story home has a thoughtful layout that is ideal for families. There is an owner’s suite with a full bathroom and walk-in closet at the back while three additional bedrooms share a bathroom in the hall. The open floorplan is connected to the foyer, offering seamless transition between the family room, kitchen and dining room.",
        "url": "https://www.lennar.com/new-homes/texas/austin-central-texas/jarrell/eastwood-at-sonterra/cottage-collection/drexel/14836518q32",
        "image": "https://cdn.lennar.net/api/images/images/elevations_v10/7807/65473/65473_eleD1_lg.jpg?d=20241126T151317Z",
        "address": {
            "streetaddress": "213 The Bad Way"
        },
        "homesite": "8Q32",
        "status": "MOVE_IN_READY",
        "checkoutType": "BUY_NOW_NO_DEPOSIT",
        "baths": 2,
        "halfBaths": 0,
        "beds": 4,
        "price": 274990,
        "wasPrice": 297990,
        "sqft": 1627,
        "isTourable": false,
        "offerStartDate": "2024-02-05T05:00:00Z",
        "offerEndDate": "2026-02-05T05:00:00Z",
        "lotid": "14836518Q32",
        "plan": "p_65473",
        "images": []
    },
    "otherData": {
        "community": { /* additional community details including consultant info, operating hours, and maps */ },
        "plan": { /* detailed plan data including walkthrough, virtual tour, video tour, elevation images, floorplans, and energy efficiency features */ },
        "homesite": { /* homesite-specific data such as attributes, pricing details, move-in dates, and similar listings */ }
    }
}
```

### Output Explanation

- **community**:
  - **communityId, communityName, communityDescription**: Unique identifier, title, and description of the community.
  - **url, location**: Direct link to the community page and its geographic coordinates.
  - **address**: Includes postal code, street address, state code, city, and a full concatenated address.
  - **phone, hasSchools, types**: Contact details, whether local schools are available, and property types (e.g., Single Family).

- **home**:
  - **homeId, homeName, description**: Unique identifier, name, and descriptive overview of the home.
  - **url, image**: Direct link to the home’s page and an image URL.
  - **address, homesite**: Home address details and homesite identifier.
  - **status, checkoutType, baths, halfBaths, beds, sqft**: Current status, transaction type, bathroom count, bedroom count, and square footage.
  - **price, wasPrice**: Current and previous listing prices.
  - **offerStartDate, offerEndDate**: Validity period for current offers.

- **otherData**:
  - Contains additional nested information:
    - **community**: Extended community data including consultant details, hours of operation, and maps.
    - **plan**: In-depth plan features such as walkthroughs, virtual and video tours, elevation images, floorplans, and energy efficiency attributes.
    - **homesite**: Specific homesite information including overviews, attributes, and listings similar to the current home.

***

### Benefits

- Track pricing trends across 65+ markets
- Monitor inventory availability in real-time
- Analyze community development patterns
- Compare Lennar's offerings against competitors

### Why Choose This Scraper?

This tool specifically addresses Lennar's complex data structure with:

- Special handling for master-planned communities (MPCs)
- Parsing of "Everything Included" features
- Mapping of regional market hierarchies
- Compliance with Lennar's request rate limits

### Support

- For issues or feature requests, please use the [Issues](https://console.apify.com/actors/3P0NV0zD5NoO7sDIx/issues) section of this actor.
- If you need customization or have questions, feel free to contact the author:
  - Author's website: <https://muhamed-didovic.github.io/>
  - Email: <muhamed.didovic@gmail.com>

### Additional Services

- Request customization or whole dataset: <muhamed.didovic@gmail.com>
- If you need anything else scraped, or this actor customized, email: <muhamed.didovic@gmail.com>
- For API services of this scraper (no Apify fee, just usage fee for the API), contact: <muhamed.didovic@gmail.com>

***

### 🤖 For AI Agents & LLM Apps

Compact reference for AI agents calling this actor via the [Apify MCP server](https://mcp.apify.com) or the Apify API (actor: `memo23/lennar-scraper`).

**Purpose:** Extract new-home community, home, and plan data from Lennar.com for a chosen U.S. regional market — pricing, specs, coordinates, and nested plan/homesite detail.

**Minimal input:**

```json
{
  "state": "AUS",
  "expandToWholeState": false,
  "proxyConfiguration": { "useApifyProxy": true }
}
```

**Output:** one dataset row per home — community {communityId, communityName, communityDescription, url, location, address {postalcode, streetaddress, stateCode, city, full\_address}, phone, hasSchools, types}, home {homeId, homeName, description, url, image, address, homesite, status, checkoutType, baths, halfBaths, beds, price, wasPrice, sqft, isTourable, offerStartDate, offerEndDate, lotid, plan}, otherData {community, plan, homesite}.

**Behaviors an agent should know:**

- `state` is required — a Lennar market code (e.g. `AUS`, `MIA`, `DEN`); see the schema enum for all 65+ codes.
- `expandToWholeState` defaults to `true`, scraping every market that shares the selected state tag; set `false` to scrape only the single market.
- `maxItems` bounds the number of rows scraped; a whole-state run can otherwise return thousands, so also narrow the scope with `expandToWholeState: false` or a smaller market when needed.
- `outputFormat`: `standard` (nested), `basic` (flat columns in the `flat-output` dataset), or `both` (default, emits both).
- Residential proxy is recommended for reliable extraction.
- Pay-per-event billing — see the Pricing tab on the actor page.

***

### ⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Lennar Corporation or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly available new-home listing pages on Lennar.com — no authenticated endpoints, paid features, or content behind a login wall. Users are responsible for ensuring their use complies with Lennar.com's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.

***

### SEO Keywords

lennar scraper, scrape lennar, lennar.com scraper, lennar api, Apify lennar, new home scraper, new construction scraper, real estate listings scraper, home builder data, property data api, new home prices scraper, housing market data, home listings export, real estate market analysis, new construction pricing data, us housing data, homebuilder intelligence, community listings scraper

# Actor input Schema

## `state` (type: `string`):

Select the Lennar market (city/metro \[state]). Some markets span multiple states — e.g. `Kansas City [Missouri][Kansas]` (code `KCK`) is the single Lennar market that covers both Missouri (Oak Grove, Lee's Summit) and Kansas (Edgerton, Gardner, Spring Hill, …); pick it to scrape Missouri.

## `expandToWholeState` (type: `boolean`):

When enabled (default), the selected market is expanded to include every market that shares its state tag — e.g. picking Sacramento scrapes all California markets in one run. Disable to scrape only the single selected market.

## `maxConcurrency` (type: `integer`):

Maximum number of pages that can be processed at the same time.

## `minConcurrency` (type: `integer`):

Minimum number of pages that will be processed at the same time.

## `maxRequestRetries` (type: `integer`):

Number of times the crawler will retry a failed request before giving up.

## `outputFormat` (type: `string`):

Which output(s) to emit. `standard` = nested record in the default dataset. `basic` = flat column-style record in the `flat-output` dataset. `both` = emit both.

## `maxItems` (type: `integer`):

Maximum number of homes/listings that will be scraped. Non-paying users are capped automatically to a lower limit.

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

Specifies proxy servers that will be used by the scraper in order to hide its origin.<br><br>For details, see <a href='https://apify.com/apify/web-scraper#proxy-configuration' target='_blank' rel='noopener'>Proxy configuration</a> in README.

## Actor input object example

```json
{
  "state": "PEN",
  "expandToWholeState": true,
  "maxConcurrency": 10,
  "minConcurrency": 1,
  "maxRequestRetries": 3,
  "outputFormat": "both",
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/lennar-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 = { "proxyConfiguration": { "useApifyProxy": True } }

# Run the Actor and wait for it to finish
run = client.actor("memo23/lennar-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 '{
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call memo23/lennar-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,memo23/lennar-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/3P0NV0zD5NoO7sDIx/builds/4y1dwfZd66wfZQArp/openapi.json
