# SunCommunities Property Scraper (`kinaesthetic_millionaire/suncommunities`) Actor

A fast and reliable web scraper for collecting manufactured home and community listings from Sun Communities website.

- **URL**: https://apify.com/kinaesthetic\_millionaire/suncommunities.md
- **Developed by:** [Parsedom Inc](https://apify.com/kinaesthetic_millionaire) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Sun Communities Property Scraper

A fast and reliable web scraper for collecting manufactured home and community listings from [Sun Communities](https://www.suncommunities.com). This tool is designed for developers, data analysts, real estate professionals, and investors who want structured property data from one of the largest manufactured housing community operators in the US.

The scraper automatically extracts key listing details such as property price, listing type, location, bedroom/bathroom count, square footage, home features, listing details, and community contact information. It supports multiple URL types — filtered home searches, community pages, and individual detail pages — making it flexible for both targeted and broad data collection.

### 🎯 Use Cases

#### Real Estate & Market Research

- Analyze manufactured home pricing trends across communities and states
- Compare property features (bedrooms, bathrooms, square footage) across regions
- Track new listings and price changes over time

#### Listing Database & Catalog Building

- Build structured databases of Sun Communities home listings
- Power internal dashboards and analytics tools
- Feed consistent JSON listing data into backend systems

#### Lead Generation & Property Management

- Generate property lead lists for buyers, agents, and investors
- Identify homes in specific communities or states for targeted outreach
- Populate CRM systems with fresh listing insights

#### Pricing & Competitive Analysis

- Monitor listing prices and home specifications across communities
- Compare new vs. pre-owned homes across different markets
- Identify well-valued homes or premium listings by feature set

#### Automation & Workflow Integration

- Automate recurring data pulls for continuous monitoring
- Trigger downstream workflows (alerts, reports) via API
- Integrate with business tools (analytics, BI, dashboards)

#### Investment & Portfolio Decisions

- Build datasets for manufactured housing investment models
- Assess community locations, home features, and amenities relevant to ROI
- Segment markets by price band, bedroom count, or community type

### ⬇️ Input

`inputUrls` (array of string) – One or more Sun Communities URLs. Supports home search pages, community listing pages, and individual property detail pages.

`maxResults` (integer) – Maximum number of property results to scrape.

```json
{
    "inputUrls": ["https://www.suncommunities.com/home-search?condition=New&beds=3&property=55%2B"],
    "maxResults": 10,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
}
````

#### Supported URL Types

The actor accepts three types of URLs:

- **Home search page** – A filtered search across all Sun Communities homes. Example: `/home-search?condition=New&beds=3`
- **Community listing page** – A specific community's available homes. Example: `/michigan/academy-west-point`
- **Detail page** – A specific home's detail page. Example: `/ohio/navarre-village/160101-246-c-st-sw-44662`

#### 🔗 URL Filter Examples

You can customize filters directly in the home search URL and pass the filtered URL as input.

**Scrape all properties (entire website):**

| Type | URL                                                            |
| ---- | -------------------------------------------------------------- |
| Sale | `https://www.suncommunities.com/home-search`                   |
| Rent | `https://www.suncommunities.com/home-search?purchasetype=rent` |

**Scrape by specific location (e.g. state):**

| Type | URL                                                                                                     |
| ---- | ------------------------------------------------------------------------------------------------------- |
| Sale | `https://www.suncommunities.com/home-search?destination=Florida%2C%20United%20States`                   |
| Rent | `https://www.suncommunities.com/home-search?purchasetype=rent&destination=Florida%2C%20United%20States` |

### ⬆️ Output

The scraped results will be shown on the **Storage** tab in Apify.

```json
[
    {
        "URL": "https://www.suncommunities.com/ohio/navarre-village/160101-246-c-st-sw-44662",
        "Listing": "SALES",
        "Price": "112,995",
        "Phone": "(888) 310-0497",
        "Hours": "Monday - Friday: 9:30 a.m. - 5:30 p.m. | Saturday by Appointment",
        "Community": "NAV Navarre Village",
        "Location": "246 C St SW , Navarre, OH, 44662",
        "Bedrooms": "3",
        "Bathrooms": "2",
        "Area (sq.ft)": "1059",
        "Home features": [
            "All appliances included",
            "Bathtub",
            "Brand New Appliances",
            "Cabinets in laundry room",
            "Carpet",
            "Ceiling Fan(s)",
            "Central A/C",
            "Covered Porch",
            "Dishwasher"
        ],
        "Listing details": {
            "site": "#NAV-246",
            "year": "2026",
            "make": "Clayton"
        }
    }
]
```

#### Output Fields

| Field             | Type   | Description                                                          |
| ----------------- | ------ | -------------------------------------------------------------------- |
| `URL`             | string | Direct URL to the property listing                                   |
| `Listing`         | string | Listing type (e.g. `SALES`)                                          |
| `Price`           | string | Asking price as displayed on the listing                             |
| `Phone`           | string | Community contact phone number                                       |
| `Hours`           | string | Community office hours                                               |
| `Community`       | string | Name of the Sun Communities community                                |
| `Location`        | string | Full property address                                                |
| `Bedrooms`        | string | Number of bedrooms                                                   |
| `Bathrooms`       | string | Number of bathrooms                                                  |
| `Area (sq.ft)`    | string | Home size in square feet                                             |
| `Home features`   | array  | List of home features and amenities                                  |
| `Listing details` | object | Additional details such as site number, year built, and manufacturer |

### 🤝 Support

Need help or a custom scraper?

- 📧 <info@parsedom.com>
- 🌐 <https://parsedom.com>
- 💼 Fiverr: <https://www.fiverr.com/s/rEmNqEb>

**Ready to extract Sun Communities property data?**\
Add your URLs and start scraping 🏠📊

# Actor input Schema

## `inputUrls` (type: `array`):

One or more Sun Communities URLs to scrape. Supports home search pages, community listing pages, and individual property detail pages.

## \`\` (type: `integer`):

Maximum number of property listings to scrape. Leave empty to scrape all available results.

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

Proxy settings to use for scraping. Using a proxy is recommended to avoid being blocked.

## Actor input object example

```json
{
  "inputUrls": [
    {
      "url": "https://www.suncommunities.com/home-search?condition=New&beds=3"
    }
  ],
  "": 5,
  "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 = {
    "inputUrls": [
        {
            "url": "https://www.suncommunities.com/home-search?condition=New&beds=3"
        }
    ],
    "": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("kinaesthetic_millionaire/suncommunities").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 = {
    "inputUrls": [{ "url": "https://www.suncommunities.com/home-search?condition=New&beds=3" }],
    "": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("kinaesthetic_millionaire/suncommunities").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 '{
  "inputUrls": [
    {
      "url": "https://www.suncommunities.com/home-search?condition=New&beds=3"
    }
  ],
  "": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call kinaesthetic_millionaire/suncommunities --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SunCommunities Property Scraper",
        "description": "A fast and reliable web scraper for collecting manufactured home and community listings from Sun Communities website.",
        "version": "1.0",
        "x-build-id": "ZmWJCauzlbhTj5HkE"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/kinaesthetic_millionaire~suncommunities/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-kinaesthetic_millionaire-suncommunities",
                "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/kinaesthetic_millionaire~suncommunities/runs": {
            "post": {
                "operationId": "runs-sync-kinaesthetic_millionaire-suncommunities",
                "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/kinaesthetic_millionaire~suncommunities/run-sync": {
            "post": {
                "operationId": "run-sync-kinaesthetic_millionaire-suncommunities",
                "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": [
                    "inputUrls"
                ],
                "properties": {
                    "inputUrls": {
                        "title": "Input URLs",
                        "type": "array",
                        "description": "One or more Sun Communities URLs to scrape. Supports home search pages, community listing pages, and individual property detail pages.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "": {
                        "title": "Max Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of property listings to scrape. Leave empty to scrape all available results.",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings to use for scraping. Using a proxy is recommended to avoid being blocked."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
