# Ryan Homes Property Scraper (`shahidirfan/ryan-homes-property-scraper`) Actor

Scrape Ryan Homes property listings, new construction homes, floor plans, home prices, locations, square footage, bedrooms, bathrooms, images, and community details. Ideal for real estate market research, housing price monitoring, competitor analysis, and property data collection.

- **URL**: https://apify.com/shahidirfan/ryan-homes-property-scraper.md
- **Developed by:** [Shahid Irfan](https://apify.com/shahidirfan) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does Ryan Homes Property Scraper do?

Ryan Homes Property Scraper collects communities, home plans, and quick move-in properties from ryanhomes.com. Search by state, city, or ZIP code, or start from a Ryan Homes URL. Each record includes location, price, size, bedrooms, bathrooms, property type, images, and direct links to the source page.

The Actor is useful for tracking new-construction inventory, comparing prices across communities, and building a dataset for market research, lead generation, or property monitoring. It saves records in batches and retries temporary request failures, so a single page error does not stop the run.

### Why use Ryan Homes Property Scraper?

- **One dataset for three record types.** Communities, home plans, and quick move-in homes share a consistent field structure.
- **Search by location or URL.** Use a state, city, or ZIP code for discovery, or point the Actor at a specific community, plan, or quick move-in page.
- **Detail enrichment.** Add street address, postal code, availability, homesite, description, gallery, rating, and review count when you enable full details.
- **Full galleries.** Save the primary image and every available image URL for each record.
- **Apify platform features.** Schedule runs, export to CSV or Excel, connect webhooks, and use the dataset from other tools.

### What data can you extract from Ryan Homes?

| Field             | Description                                                                        |
| ----------------- | ---------------------------------------------------------------------------------- |
| `record_type`     | `community`, `home_plan`, or `quick_move_in`                                       |
| `name`            | Community, plan, or listing name                                                   |
| `community`       | Parent community for a plan or quick move-in home                                  |
| `address`         | Street address when published                                                      |
| `city`            | City                                                                               |
| `state`           | State abbreviation                                                                 |
| `postal_code`     | Postal code when published                                                         |
| `price`           | Advertised price in USD                                                            |
| `price_display`   | Price as shown on the page                                                         |
| `monthly_payment` | Estimated monthly payment when shown                                               |
| `square_feet`     | Advertised living area                                                             |
| `bedrooms`        | Bedroom count                                                                      |
| `bathrooms`       | Bathroom count                                                                     |
| `garage`          | Garage size when published                                                         |
| `property_type`   | Ryan Homes property type                                                           |
| `quick_move_ins`  | Whether the record is a quick move-in home or a community with quick move-in homes |
| `availability`    | Move-in timing for a quick move-in home                                            |
| `homesite`        | Homesite identifier for a quick move-in home                                       |
| `description`     | Community or home description                                                      |
| `image_url`       | Primary image                                                                      |
| `image_urls`      | Additional images when available                                                   |
| `latitude`        | Latitude when published                                                            |
| `longitude`       | Longitude when published                                                           |
| `rating`          | Community rating when published                                                    |
| `review_count`    | Community review count when published                                              |
| `url`             | Ryan Homes page URL                                                                |
| `scraped_at`      | Collection timestamp                                                               |

### How to use Ryan Homes Property Scraper

1. Open the Actor on Apify Store.
2. Enter a location or a Ryan Homes URL.
3. Choose communities or quick move-in homes when searching by location.
4. Set the result limit.
5. Run the Actor.
6. Download the dataset as JSON, CSV, or Excel, or connect it to a workflow.

### Input Parameters

| Parameter            | Type    | Required | Default       | Description                                                                                        |
| -------------------- | ------- | -------- | ------------- | -------------------------------------------------------------------------------------------------- |
| `startUrl`           | String  | No       | -             | Search, state, community, home plan, quick move-in, or property URL. Takes priority over location. |
| `location`           | String  | No       | `Ohio`        | State, city, or ZIP code used when `startUrl` is empty.                                            |
| `search_mode`        | String  | No       | `communities` | `communities` or `quick_move_ins`. Used with `location`.                                           |
| `results_wanted`     | Integer | No       | `20`          | Maximum records to save                                                                            |
| `max_pages`          | Integer | No       | `10`          | Maximum listing pages to request                                                                   |
| `include_details`    | Boolean | No       | `true`        | Open detail pages for address, availability, description, gallery, and rating                      |
| `proxyConfiguration` | Object  | No       | -             | Apify Proxy or custom proxy settings                                                               |

### Usage Examples

#### Search Ohio communities

Collect the first 20 communities in Ohio with full details.

```json
{
    "location": "Ohio",
    "search_mode": "communities",
    "results_wanted": 20,
    "include_details": true
}
```

#### Quick move-in homes in Florida

Use location search with the quick move-in mode.

```json
{
    "location": "Florida",
    "search_mode": "quick_move_ins",
    "results_wanted": 50,
    "include_details": true
}
```

#### Collect a specific community or property page

Paste a community, home plan, or quick move-in URL to collect that page.

```json
{
    "startUrl": "https://www.ryanhomes.com/new-homes/communities/10222120153079/specs/31628/maryland/baltimore/westport/clarendon-4story",
    "results_wanted": 1,
    "include_details": false
}
```

#### Search a ZIP code

Collect communities near a ZIP code.

```json
{
    "location": "44240",
    "results_wanted": 30
}
```

### Sample Output

```json
{
    "id": "10222120152980",
    "record_type": "community",
    "community_id": "10222120152980",
    "name": "Clear Creek Run",
    "city": "Wooster",
    "state": "OH",
    "state_slug": "ohio",
    "city_slug": "wooster",
    "distance": 25.41,
    "price": 286990,
    "price_display": "From $286,990",
    "square_feet": 1350,
    "bedrooms": "3+",
    "bathrooms": "2+",
    "property_type": "Single Family, Quick Move-In",
    "quick_move_ins": true,
    "quick_move_in_count": 3,
    "home_plan_count": 4,
    "latitude": 40.815604,
    "longitude": -81.963378,
    "address": "1614 Carlin Trail",
    "postal_code": "44691",
    "rating": 5,
    "review_count": 18,
    "image_url": "https://webassetsprdnvrsan.blob.core.windows.net/images/4afc3807-63b6-4fd3-8463-a71cabc950f4/desktop",
    "url": "https://www.ryanhomes.com/new-homes/communities/10222120152980/ohio/wooster/clearcreekrun",
    "source": "ryanhomes.com",
    "scraped_at": "2026-10-26T09:28:07.409Z"
}
```

### Tips for Best Results

- Start with a small `results_wanted` value to confirm the location and record type.
- Use a state, city, or ZIP code when you want to discover communities. Use a direct URL when you already know the page.
- Keep `include_details` on when you need addresses, availability, galleries, or rating data.
- Run the Actor on a schedule to track price and inventory changes over time.

### Integrations

- **Google Sheets** - Send records to a spreadsheet for review or sharing.
- **Webhooks** - Trigger a downstream process after a run.
- **Make or Zapier** - Connect the dataset to a no-code workflow.
- **Programmatic access** - Read the dataset from your own application.
- **CSV, Excel, JSON, and XML** - Download records in the format your team uses.

### Frequently Asked Questions

#### Can I search by ZIP code?

Yes. Enter a ZIP code in `location`, such as `44240`. Ryan Homes returns communities near that ZIP code.

#### What is the difference between a community, home plan, and quick move-in home?

A community is a neighborhood. A home plan is a floor plan offered in a community. A quick move-in home is a specific home that is under construction or ready to move into.

#### Why are some fields empty?

Ryan Homes does not publish every field on every page. For example, a community card may not include a street address or rating. Keep `include_details` on to collect more fields when the detail page provides them.

#### Can I collect more than 20 records?

Yes. Raise `results_wanted`. The default is a starting point for testing. Large quick move-in runs can include hundreds of records.

#### Can I run the Actor on a schedule?

Yes. Apify schedules can refresh the dataset hourly, daily, or weekly. Use a stable location or URL so each run covers the same search.

#### Does the Actor need a proxy?

No proxy is required for the tested public pages. You can add Apify Proxy or your own proxy through `proxyConfiguration` if your environment needs it.

#### Can I export the data to CSV or Excel?

Yes. Apify datasets can be downloaded as CSV, Excel, JSON, XML, and other supported formats.

#### Is it legal to scrape Ryan Homes?

The Actor collects publicly visible property information. You are responsible for complying with applicable laws, website terms, and privacy rules in your jurisdiction.

### Related Actors

- [Lennar.com Scraper](https://apify.com/shahidirfan/lennar-com-scraper) - Collect new-construction communities, plans, and quick move-in homes from Lennar.
- [Zillow Property Scraper](https://apify.com/shahidirfan/Zillow-Property-Scraper) - Collect property listings, prices, and location data from Zillow.
- [Homes.com Property Scraper](https://apify.com/shahidirfan/homes-com-property-scraper) - Collect property listings and home details from Homes.com.

### Support

For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.

### Legal Notice

This Actor is designed for legitimate data collection from publicly available sources. Users are responsible for using the data responsibly and complying with applicable laws and website terms.

# Actor input Schema

## `startUrl` (type: `string`):

A Ryan Homes search, state, community, home plan, quick move-in, or property URL. When provided, this takes priority over Location and Search mode.

## `location` (type: `string`):

A state, city, or ZIP code to search. Used when Ryan Homes URL is empty.

## `search_mode` (type: `string`):

Collect communities or quick move-in homes when searching by Location.

## `results_wanted` (type: `integer`):

Maximum number of records to save.

## `max_pages` (type: `integer`):

Maximum listing pages to request. Ryan Homes currently returns all matching records on one page.

## `include_details` (type: `boolean`):

Open community and quick move-in pages for address, availability, description, gallery, rating, and extra property details.

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

Optional Apify Proxy or custom proxy settings for requests.

## Actor input object example

```json
{
  "location": "Ohio",
  "search_mode": "communities",
  "results_wanted": 20,
  "max_pages": 10,
  "include_details": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (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 = {
    "location": "Ohio"
};

// Run the Actor and wait for it to finish
const run = await client.actor("shahidirfan/ryan-homes-property-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 = { "location": "Ohio" }

# Run the Actor and wait for it to finish
run = client.actor("shahidirfan/ryan-homes-property-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 '{
  "location": "Ohio"
}' |
apify call shahidirfan/ryan-homes-property-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,shahidirfan/ryan-homes-property-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/RmqhbyXtdXLbZcgQm/builds/gIUps8kB5MpiSrYJQ/openapi.json
