# Forrentuniversity Property Search Scraper (`alexist/forrentuniversity-property-search-scraper`) Actor

Extract detailed student housing property listings from ForRentUniversity with one click. Scrape 24+ fields including pricing, ratings, floor plans, media, and property metadata — perfect for market research, property aggregators, and investment analysis.

- **URL**: https://apify.com/alexist/forrentuniversity-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

## ForRentUniversity Property Scraper: Collect Student Housing Data Fast

***

### What Is ForRentUniversity?

ForRentUniversity is the leading online marketplace for student housing properties across the United States. It features thousands of active listings in college towns nationwide, from Austin to Boston, helping students and investors discover rental opportunities near universities. Manually collecting property data from multiple pages is tedious and error-prone — the **ForRentUniversity Property Scraper** automates extraction, delivering structured, analysis-ready datasets in minutes.

***

### Overview

The **ForRentUniversity Property Scraper** extracts comprehensive property listing data from ForRentUniversity search results pages, converting unstructured web content into clean, structured records. It is designed for:

- **Real estate investors** tracking student housing market trends and valuations
- **Property managers** monitoring competitor listings and rental rates
- **Market researchers** analyzing student housing supply across regions
- **Aggregator platforms** building housing search engines and comparison tools
- **Data analysts** conducting competitive pricing and occupancy studies

Key strengths include configurable scraping volume per URL, graceful handling of failed URLs, and access to 24+ property attributes including ratings, media metadata, and fee structures.

***

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://www.forrentuniversity.com/tx/austin-student-housing/page-2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
```

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | Property list page URLs from ForRentUniversity. Can include city pages, state pages, or filtered search results (e.g., `...austin-student-housing/page-2`). Add one URL per line or paste multiple URLs in bulk. |
| `max_items_per_url` | Integer | Maximum number of properties to extract per URL (e.g., `200`). Typical pages display 20-50 listings; set higher to ensure full capture across paginated results. |
| `ignore_url_failures` | Boolean | If `true`, the scraper continues running if some URLs fail. If `false`, it halts on the first error. Recommended: `true` for robust batch operations. |

> **Pro tip:** Use state-level URLs (e.g., `/tx/`) or city pages (e.g., `/tx/austin-student-housing/`) to capture regional markets. Add `page-2`, `page-3`, etc., to collect listings across multiple pages.

***

### Output Format

**Sample output**

```json
{
  "is_profile": false,
  "site_id": "h2w6w83",
  "listing_key": "h2w6w83",
  "ad_level": "Diamond",
  "name": "Villages at East Riverside",
  "geography": {
    "street_address": "1301 Crossing Pl",
    "city_name": "Austin",
    "state_code": "TX",
    "zip_code": "78741",
    "latitude": 30.235969,
    "longitude": -97.711435
  },
  "blended_rating": 4,
  "last_updated": "2026-07-22T18:56:18.990Z",
  "leads": {
    "email": {
      "required": [],
      "optional": [],
      "is_on_demand": true
    },
    "phone": {
      "formatted": "(737) 377-1912",
      "url": "tel:+17373771912"
    }
  },
  "floor_plan_summary": {
    "square_feet": {
      "low": 1005,
      "high": 1443,
      "formatted": "1,005 - 1,443 sq. ft."
    },
    "bathrooms": {
      "low": 2,
      "high": 4,
      "formatted": "2 - 4 Baths"
    },
    "matching": {
      "beds": {
        "low": 2,
        "high": 4,
        "range": "2 - 4",
        "formatted": "2 - 4 Beds"
      },
      "price": {
        "low": 1154,
        "high": 1409,
        "formatted": "$1,154 - $1,409",
        "call_for_price": false,
        "base_rent_formatted": "$1,154 - $1,409"
      }
    },
    "grouped_pricings": [
      {
        "beds": "2 Beds",
        "price": "$1,154"
      },
      {
        "beds": "3 Beds",
        "price": "$1,399"
      },
      {
        "beds": "4 Beds",
        "price": "$1,409"
      }
    ],
    "has_per_bed_pricing": false
  },
  "media": {
    "main_photo": {
      "source": "https://images1.forrent.com/i2/Fk3nRbBvMpAkr1yvE_Hms-ptopFbtbhJIxPngp1UyIw/{options}/image.jpg",
      "caption": "Resort-Style Pool",
      "is_landscape": true
    },
    "image_options": {
      "1880x900": 112,
      "180x140": 104,
      "1400x720": 113,
      "2048x2048": 116,
      "200x_v": 119,
      "430x220": 118,
      "1024x1024": 114,
      "984x658": 102,
      "325x_v": 115,
      "984x558": 110,
      "337x206": 106,
      "1240x844": 111,
      "215x110": 105,
      "650x_v": 117
    },
    "images": [
      {
        "source": "https://images1.forrent.com/i2/Fk3nRbBvMpAkr1yvE_Hms-ptopFbtbhJIxPngp1UyIw/{options}/image.jpg",
        "caption": "Resort-Style Pool",
        "is_landscape": true
      }
    ]
  },
  "has_video": true,
  "has_tours": true,
  "image_count": 48,
  "profile_url": "/tx/austin/villages-at-east-riverside/h2w6w83",
  "seo_name": "Villages at East Riverside",
  "rating_stars": {
    "rating": 4
  },
  "property_type": "Apartment",
  "property_type_text": "1301 Crossing Pl, Austin, TX 78741",
  "site_texts": {
    "specials_badge": "1 Month Free"
  },
  "pmc_info": {
    "id": 98720091,
    "name": "Hilltop Residential"
  },
  "is_homes_listing": false,
  "is_multi_family": true,
  "is_monthly_fees_included_in_rent": false,
  "is_in_fee_disclosure_state": false,
  "is_direct_broker": false,
  "property_fee_list": [
    {
      "label": "Base Rent",
      "value": "$1,154 - $1,409"
    },
    {
      "label": "Required Monthly Fees",
      "value": "None"
    }
  ],
  "from_url": "https://www.forrentuniversity.com/tx/austin-student-housing/page-2"
}
```

Each property record contains 24 structured fields:

#### Identification & Metadata

| Field | Meaning |
|---|---|
| `Is Profile` | Whether the listing is a full property profile (flag indicating profile type) |
| `Site ID` | Unique ForRentUniversity property identifier |
| `Listing Key` | Internal system key for the listing |
| `Name` | Property name as displayed (e.g., "The Palms Student Apartments") |
| `SEO Name` | URL-friendly version of the property name |

#### Location & Geography

| Field | Meaning |
|---|---|
| `Geography` | Location hierarchy (city, state, region). Useful for geographic filtering and analysis. |
| `Profile URL` | Direct link to the property's full profile page on ForRentUniversity |

#### Rating & Performance

| Field | Meaning |
|---|---|
| `Blended Rating` | Aggregate rating score combining resident reviews, amenities, and listing quality |
| `Rating Stars` | Star rating (typically 1-5 scale) displayed to prospective renters |
| `Leads` | Number of inquiries/leads generated by this listing (market demand indicator) |
| `Last Updated` | Date the property information was last modified (freshness indicator) |

#### Media & Visual Content

| Field | Meaning |
|---|---|
| `Media` | Metadata about images, videos, and tours associated with the listing |
| `Has Video` | Boolean flag: whether the property includes video tours or walkthroughs |
| `Has Tours` | Boolean flag: whether virtual or 3D tours are available |
| `Image Count` | Total number of photos uploaded for this property |

#### Property Classification

| Field | Meaning |
|---|---|
| `Property Type` | Internal classification code (e.g., apartment, house, dorm) |
| `Property Type Text` | Human-readable property type description |
| `Is Homes Listing` | Boolean: indicates if listed as individual homes vs. multi-unit complex |
| `Is Multi Family` | Boolean: indicates if the property is multi-family (apartments, complexes) |

#### Amenities & Offerings

| Field | Meaning |
|---|---|
| `Floor Plan Summary` | Description of available floor plans and unit configurations |
| `Site Texts` | Additional property descriptions, amenities list, and house rules |
| `PMC Info` | Property management company details and contact information |

#### Pricing & Compliance

| Field | Meaning |
|---|---|
| `Is Monthly Fees Included In Rent` | Boolean: clarifies whether listed rent includes all monthly fees or if additional charges apply |
| `Is In Fee Disclosure State` | Boolean: indicates if property is in a state requiring fee transparency disclosure |
| `Property Fee List` | Array of additional fees (e.g., utilities, parking, maintenance) charged separately from base rent |

#### Business Model

| Field | Meaning |
|---|---|
| `Is Direct Broker` | Boolean: indicates if the property is managed directly by the broker vs. through a third party |
| `Ad Level` | Listing prominence level (e.g., premium, standard, featured) — affects visibility in search results |

***

### How to Use

1. **Find property list URLs** — Navigate to ForRentUniversity, search by city or state (e.g., Austin, TX student housing), and copy the page URL.
2. **Add multiple pages** — To capture all listings in a market, add `page-2`, `page-3`, etc., or use full city/state URLs.
3. **Configure parameters** — Set `max_items_per_url` to `200` (or higher) to ensure comprehensive capture. Enable `ignore_url_failures`.
4. **Start the scraper** — Run the actor and monitor progress in the logs.
5. **Export and analyze** — Download results as JSON, CSV, or Excel. Import into spreadsheets or databases for analysis.

**Common use cases:**

- **Pagination:** Add page URLs one-by-one or use a template URL with page parameters.
- **Error handling:** If a URL times out, the scraper skips it and continues (if `ignore_url_failures: true`).
- **Rate limiting:** Spread large scrapes across multiple runs to avoid overload.

***

### Use Cases & Business Value

- **Market intelligence:** Track rent trends, occupancy rates, and new supply by city and property type
- **Investment research:** Identify underperforming properties (low ratings, high turnover) and high-demand markets
- **Pricing strategy:** Benchmark rent, fees, and amenities against competitor properties
- **Content aggregation:** Feed property data into your own student housing search platform
- **Data enrichment:** Combine ForRentUniversity data with census data, university enrollment data, and transit info for deeper insights

The ForRentUniversity Property Scraper transforms weeks of manual research into hours, enabling data-driven decisions in student housing investment, management, and marketing.

***

### Conclusion

The **ForRentUniversity Property Scraper** is the go-to solution for extracting student housing market data at scale. With 24 detailed fields covering ratings, media, pricing, and property metadata, it delivers the insights needed to stay competitive in real estate investment and property management. Start scraping today and unlock actionable intelligence from America's largest student housing marketplace.

# 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.forrentuniversity.com/tx/austin-student-housing/page-2"
  ],
  "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.forrentuniversity.com/tx/austin-student-housing/page-2"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/forrentuniversity-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.forrentuniversity.com/tx/austin-student-housing/page-2"],
    "ignore_url_failures": True,
    "max_items_per_url": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/forrentuniversity-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.forrentuniversity.com/tx/austin-student-housing/page-2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}' |
apify call alexist/forrentuniversity-property-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/41sJIp7jpU5q5lmNZ/builds/ql2ejxah2FHWft9S3/openapi.json
