# Apartmentlist Property Details Scraper (`alexist/apartmentlist-property-details-scraper`) Actor

Scrape detailed property information from ApartmentList.com including pricing, reviews, amenities, schools, and rental trends. Collect 20+ data points per listing — perfect for real estate investors, market researchers, and rental platform developers.

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

## ApartmentList Property Scraper: Extract Rental Data Instantly

***

### What Is ApartmentList.com?

ApartmentList.com is a comprehensive rental property platform serving millions of renters and property seekers in the United States. It aggregates thousands of apartment listings with detailed pricing, tenant reviews, neighborhood information, and rental market analytics. Manually extracting property details across multiple listings is tedious and error-prone — the **ApartmentList Property Scraper** automates this workflow, capturing rich property data in structured format for analysis, comparison, and integration.

***

### Overview

The **ApartmentList Property Details Scraper** extracts comprehensive property information from individual ApartmentList.com listings. It is designed for:

- **Real estate investors** researching markets and competitive pricing
- **Market researchers** analyzing rental trends by location
- **Real estate platforms** building property databases and comparison tools
- **Data analysts** conducting regional housing affordability studies

Key strengths include support for bulk URL collection, graceful error handling with `ignore_url_failures`, and extraction of both quantitative data (pricing history, rent reports) and qualitative data (reviews, accessibility features).

***

### Input Format

The scraper accepts configuration with the following parameters:

```json
{
    "urls": [
        "https://www.apartmentlist.com/tx/frisco/mirasol-eldorado-apartments",
        "https://www.apartmentlist.com/tx/frisco/plaza-at-frisco-square"
    ],
    "max_items_per_url": 200,
    "ignore_url_failures": true
}
```

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | Direct links to individual property detail pages on ApartmentList. Supports bulk entry of URLs. Example: `https://www.apartmentlist.com/[STATE]/[CITY]/[PROPERTY-NAME]` |
| `max_items_per_url` | Integer | Maximum data records extracted per URL (default: `200`). Adjust based on the property's data volume. |
| `ignore_url_failures` | Boolean | If `true`, the scraper continues running and skips URLs that fail. If `false`, the run stops on the first error. Recommended: `true` for bulk operations. |

> **Best practice:** Use full property detail page URLs. Avoid search result or listing index pages.

***

### Output Format

**Sample output**

```json
{
  "articles": [],
  "location": {
    "id": 643154,
    "slug": "/tx/frisco",
    "type": "city",
    "name": "Frisco",
    "display_name": "Frisco, TX",
    "long_name": "Frisco, Texas",
    "metro_id": 747241,
    "bounds": {
      "ne": {
        "lat": 33.219479,
        "lon": -96.732758
      },
      "sw": {
        "lat": 33.081274,
        "lon": -96.922838
      }
    },
    "population": 116989,
    "description": null,
    "image_url": null,
    "coordinates": {
      "lat": 33.15510932733996,
      "lon": -96.82191537138297
    }
  },
  "paid": false,
  "is_inactive": false,
  "show_interactive_map": true,
  "show_fee_transparency_feature_flag": true,
  "aeo_content_metro_allocation": 2,
  "schools": [
    {
      "id": "3d1c974d-2d34-49e1-9fb4-aed39fb46c69",
      "universal_id": 4825110,
      "name": "Trent Middle",
      "lat": 33.187069,
      "lon": -96.842903,
      "level": "6-8",
      "level_code": "m",
      "great_schools_rating": 9,
      "parents_rating": 4,
      "parents_ratings_count": 3,
      "enrollment": 887,
      "great_schools_url": "https://www.greatschools.org/texas/frisco/25110-Trent-Middle/",
      "school_type": "public",
      "centroid": "POINT (-96.842903 33.187069)",
      "distance_to_school": 0.8722780661699827
    }
   ],
  "average_rents": {
    "id": 6566916,
    "location_id": 643154,
    "price_1br": 1571,
    "price_2br": 2272,
    "price_3br": 2972,
    "price_studio": 1367,
    "pricing_date": "2026-07-17",
    "trend": "down"
  },
  "pois": {
    "airports": {
      "airports": [
        {
          "id": "1f3494bd-8399-4bb1-bbc4-a2d72bf0e68f",
          "name": "Aero Country Airport",
          "category": "airports",
          "coordinates": "{\"type\":\"Point\",\"coordinates\":[-96.742397,33.207411]}",
          "distance_to_poi": 5.68
        },
        {
          "id": "aba73fdf-fe08-40dd-b3f9-cc207bb811be",
          "name": "Aero Country Airport",
          "category": "airports",
          "coordinates": "{\"type\":\"Point\",\"coordinates\":[-96.743035,33.209458]}",
          "distance_to_poi": 5.71
        },
        {
          "id": "40ef780b-337f-4de4-8e40-ce3555a08165",
          "name": "Pleasure Field (Historic)",
          "category": "airports",
          "coordinates": "{\"type\":\"Point\",\"coordinates\":[-96.885558,33.25595]}",
          "distance_to_poi": 6.22
        },
        {
          "id": "93c9635b-502c-4a5a-875a-35615184c853",
          "name": "Spanish Oaks Airport  (Historic)",
          "category": "airports",
          "coordinates": "{\"type\":\"Point\",\"coordinates\":[-96.976118,33.147342]}",
          "distance_to_poi": 8.49
        },
        {
          "id": "b5aff305-27fd-457a-8f11-d6fcda1beb23",
          "name": "Aero Estates Airport",
          "category": "airports",
          "coordinates": "{\"type\":\"Point\",\"coordinates\":[-96.864168,33.298449]}",
          "distance_to_poi": 8.57
        }
      ]
    },
    "other_pois": {}
  },
  "ila_footer": {},
  "crosslinks": [
    {
      "aria_label": "See all apartments in Frisco",
      "text": "Frisco",
      "slug": "/tx/frisco",
      "type": "city"
    },
    {
      "aria_label": "See all 1 Bedroom Apartments",
      "slug": "/tx/frisco/c/1-bedroom-apartments-for-rent",
      "text": "1 Bedroom Apartments",
      "type": "1-bedroom"
    },
    {
      "aria_label": "See all Cheap Apartments",
      "slug": "/tx/frisco/c/cheap-apartments",
      "text": "Cheap Apartments",
      "type": "cheap"
    },
    {
      "aria_label": "See all Furnished Apartments",
      "slug": "/tx/frisco/c/furnished-apartments-for-rent",
      "text": "Furnished Apartments",
      "type": "furnished"
    },
    {
      "aria_label": "See all Apartments with Gyms",
      "slug": "/tx/frisco/c/apartments-for-rent-with-gym",
      "text": "Apartments with Gyms",
      "type": "gym"
    }
  ],
  "property_has_virtual_tours": false,
  "property_has_videos": false,
  "can_show_rent_report": true,
  "listing": {
    "rental_id": "p87920",
    "display_name": "Mirasol Eldorado Apartments",
    "contract": "basic",
    "source_display_name": null,
    "has_unit_level_availability": true,
    "updated_at": "2026-07-23T10:31:34.221Z",
    "formatted_address": "6000 El Dorado Parkway, Frisco, TX 75033",
    "neighborhood": null,
    "lat": 33.177031,
    "lon": -96.833755,
    "listing_agent_name": null,
    "brokerage_name": null,
    "copyright_disclaimer": null,
    "listed_status": null,
    "mls_number": null,
    "source_listing_url": null,
    "local_ordinances": [],
    "first_photo": [
      {
        "type": "rectangle",
        "id": "6cb54645175ddaef40e9d0c7bf9b2b82",
        "retrieval_type": "upload"
      }
    ],
    "all_photos": [
      {
        "type": "rectangle",
        "id": "6cb54645175ddaef40e9d0c7bf9b2b82",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "0ebf2f4bbd11293abbffdee34e2fd48a",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "9d8e6ec028a89bd836a98c341177f0ca",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "16ea7e7fdd2dae1d4828a90b5371274a",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "7af4db60c3b9eb747c26e79bae0f5a6d",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "b362b70a3342b6a0ea1f960ee99c95ec",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "cdf274bdcf75b6bfac1af892af09b3e4",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "dae2ee4d2c76a9d57286ba3207f2a7f4",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "9fa1a850dbfd2e3af7f6ef0c3943f33a",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "9a4964e67ece0e42b2d95c8b2c6225df",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "caf3aaf01caab3e5757a73e7a6879a3a",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "70a50f1518bef9aa20ed46347d592b20",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "44832e16e1f174263f98c59f95dc768c",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "f6510894b6ccde41a686b187c023958e",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "a082d34cb5cd136ad4d8d9a1e78eaa62",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "3b7c1879e7e8e7413153a46fc717728a",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "72b1a77ccb02467b8ef016557ee8529a",
        "retrieval_type": "upload"
      },
      {
        "type": "rectangle",
        "id": "a6e851b5372a288a538fbbb5d26cee6f",
        "retrieval_type": "upload"
      }
    ],
    "available_units": [
      {
        "id": 7754756,
        "remote_listing_id": "10856192",
        "name": "A1",
        "bed": 1,
        "bath": 1,
        "sqft": 761,
        "sqft_max": 761,
        "price": 1265,
        "price_max": 0,
        "photos": [
          {
            "type": "rectangle",
            "id": "b9ce7567f008b1b5eb03f8551eb3912d",
            "caption": null
          }
        ],
        "units": [
          {
            "id": 45675747,
            "remote_listing_id": "15496436",
            "name": "1621",
            "display_name": "1621",
            "price": 1265,
            "price_max": 0,
            "sqft": 761,
            "availability": "available",
            "available_on": "2026-05-08",
            "unit_rental_id": "p87920-15496436",
            "updated_at": "2026-07-23T09:04:07Z",
            "apply_online_url": null,
            "base_price": 1265,
            "total_price": 1416,
            "required_fees": 151,
            "lease_length": 15,
            "boost_enabled": false
          },
          {
            "id": 46928975,
            "remote_listing_id": "15496418",
            "name": "0526",
            "display_name": "0526",
            "price": 1289,
            "price_max": 0,
            "sqft": 761,
            "availability": "available",
            "available_on": "2026-06-10",
            "unit_rental_id": "p87920-15496418",
            "updated_at": "2026-07-23T09:04:21Z",
            "apply_online_url": null,
            "base_price": 1289,
            "total_price": 1462,
            "required_fees": 173,
            "lease_length": 15,
            "boost_enabled": false
          },
          {
            "id": 47507027,
            "remote_listing_id": "15496416",
            "name": "0421",
            "display_name": "0421",
            "price": 1320,
            "price_max": 0,
            "sqft": 761,
            "availability": "available",
            "available_on": "2026-08-18",
            "unit_rental_id": "p87920-15496416",
            "updated_at": "2026-07-23T09:06:24Z",
            "apply_online_url": null,
            "base_price": 1320,
            "total_price": 1471,
            "required_fees": 151,
            "lease_length": 14,
            "boost_enabled": false
          }
        ]
      }
    ],
    "availability_last_checked_at": "2026-07-23T10:31:20.443Z",
    "fee_disclaimers": [],
    "price_calculator_disclaimers": [],
    "parking_disclaimers": [],
    "pet_disclaimers": [],
    "floorplan_disclaimers": [
      {
        "id": "f8a77ab9-9332-4b0e-8473-df2f03bfbb76",
        "description": "Floor plans are artist's rendering. All dimensions are approximate. Actual product and specifications may vary in dimension or detail. Not all features are available in every apartment home. Prices and availability are subject to change. Rent is based on monthly frequency. Additional fees may apply, such as but not limited to package delivery, trash, water, amenities, etc. Please see a representative for details.",
        "disclaimer_type": {
          "id": "9e81a569-e2c8-4491-90b4-9a726af4a198",
          "name": "floorplan"
        }
      }
    ],
    "calculator_other_section_disclaimers": [],
    "calculator_utilities_disclaimers": [],
    "calculator_amenities_disclaimers": [],
    "calculator_storage_disclaimers": [],
    "calculator_move_in_disclaimers": [],
    "calculator_move_out_disclaimers": [],
    "fees": {
      "fee_url": null
    },
    "show_price": true,
    "specials": [
      {
        "id": 70800609,
        "created_at": "2026-07-16T16:33:14.841Z",
        "monthly_price_discount": 0,
        "estimated_value": 0,
        "expires_at": null,
        "highlighted": false,
        "raw_text": "Up to 10 Weeks Free on Select Apartments!",
        "relevant": true,
        "special_type": "auto_parse_opt_out",
        "updated_at": "2026-06-25T22:38:06.339Z",
        "restrictions": {}
      }
    ],
    "phone": "(970) 644-6391",
    "office_hours_this_week": {
      "monday": [
        "2026-07-27T14:00:00.000Z",
        "2026-07-27T23:00:00.000Z"
      ],
      "tuesday": [
        "2026-07-28T14:00:00.000Z",
        "2026-07-28T23:00:00.000Z"
      ],
      "wednesday": [
        "2026-07-29T14:00:00.000Z",
        "2026-07-29T23:00:00.000Z"
      ],
      "thursday": [
        "2026-07-23T14:00:00.000Z",
        "2026-07-23T23:00:00.000Z"
      ],
      "friday": [
        "2026-07-24T14:00:00.000Z",
        "2026-07-24T23:00:00.000Z"
      ],
      "saturday": [
        "2026-07-25T15:00:00.000Z",
        "2026-07-25T22:00:00.000Z"
      ]
    },
    "time_zone_short": "CDT",
    "management_company_name": "zrs",
    "state": "TX",
    "city_id": 643154,
    "county_id": 710765,
    "slug": "/tx/frisco/mirasol-eldorado-apartments",
    "community_amenities": [
      {
        "display_name": "Parking",
        "cloudinary_id": "amenity_parking_icon",
        "group": "parking",
        "group_rank": 3,
        "filter_param": "has_parking"
      },
      {
        "display_name": "Garage",
        "cloudinary_id": "amenity_garage_icon",
        "group": "parking",
        "group_rank": 1,
        "filter_param": "has_garage"
      },
      {
        "display_name": "Accessible",
        "cloudinary_id": "amenity_accessible_icon",
        "group": "community_features",
        "group_rank": 52,
        "filter_param": "is_accessible"
      },
      {
        "display_name": "Pool",
        "cloudinary_id": "amenity_pool_icon",
        "group": "community_features",
        "group_rank": 4,
        "filter_param": "has_pool"
      },
      {
        "display_name": "24hr gym",
        "cloudinary_id": "amenity_weight_icon",
        "group": "fitness",
        "group_rank": 1,
        "filter_param": "has_gym"
      },
      {
        "display_name": "Cats allowed",
        "cloudinary_id": "amenity_cat_icon",
        "group": "pets",
        "group_rank": 2,
        "filter_param": "is_cat_friendly"
      },
      {
        "display_name": "Dogs allowed",
        "cloudinary_id": "amenity_dog_icon",
        "group": "pets",
        "group_rank": 1,
        "filter_param": "is_dog_friendly"
      },
      {
        "display_name": "Pet friendly",
        "cloudinary_id": "amenity_dog_icon",
        "group": "pets",
        "group_rank": 3,
        "filter_param": "is_pet_friendly"
      },
      {
        "display_name": "Bbq/grill",
        "cloudinary_id": "amenity_bbq_icon",
        "group": "community_features",
        "group_rank": 41,
        "filter_param": "has_bbq"
      },
      {
        "display_name": "Car wash area",
        "cloudinary_id": "amenity_carwash_icon",
        "group": "community_features",
        "group_rank": 40,
        "filter_param": null
      },
      {
        "display_name": "CC payments",
        "cloudinary_id": "amenity_creditcard_icon",
        "group": "community_features",
        "group_rank": 50,
        "filter_param": null
      },
      {
        "display_name": "Clubhouse",
        "cloudinary_id": "amenity_sofa_icon",
        "group": "community_features",
        "group_rank": 29,
        "filter_param": null
      },
      {
        "display_name": "Coffee bar",
        "cloudinary_id": "amenity_coffee_icon",
        "group": "community_features",
        "group_rank": 7,
        "filter_param": null
      },
      {
        "display_name": "Dog park",
        "cloudinary_id": "amenity_dog_icon",
        "group": "community_features",
        "group_rank": 6,
        "filter_param": null
      },
      {
        "display_name": "E-payments",
        "cloudinary_id": "amenity_creditcard_icon",
        "group": "community_features",
        "group_rank": 44,
        "filter_param": null
      },
      {
        "display_name": "Internet access",
        "cloudinary_id": "amenity_internet_icon",
        "group": "community_features",
        "group_rank": 53,
        "filter_param": null
      },
      {
        "display_name": "Online portal",
        "cloudinary_id": "amenity_portal_icon",
        "group": "community_features",
        "group_rank": 48,
        "filter_param": null
      },
      {
        "display_name": "Package receiving",
        "cloudinary_id": "amenity_shipping_icon",
        "group": "community_features",
        "group_rank": 9,
        "filter_param": null
      },
      {
        "display_name": "Trash valet",
        "cloudinary_id": "amenity_trash_icon",
        "group": "community_features",
        "group_rank": 12,
        "filter_param": null
      },
      {
        "display_name": "Yoga",
        "cloudinary_id": "amenity_yoga_icon",
        "group": "community_features",
        "group_rank": 19,
        "filter_param": null
      }
    ],
    "top_amenities": [
      {
        "display_name": "In unit laundry",
        "cloudinary_id": "amenity_washer_icon",
        "group": "laundry",
        "group_rank": 1,
        "filter_param": "has_in_unit_laundry"
      },
      {
        "display_name": "Patio / balcony",
        "cloudinary_id": "amenity_patio_icon",
        "group": "unit_features",
        "group_rank": 1,
        "filter_param": "has_balcony"
      },
      {
        "display_name": "Granite counters",
        "cloudinary_id": "amenity_counter_icon",
        "group": "unit_features",
        "group_rank": 2,
        "filter_param": "has_granite_counter"
      },
      {
        "display_name": "Dishwasher",
        "cloudinary_id": "amenity_dishwasher_icon",
        "group": "unit_features",
        "group_rank": 5,
        "filter_param": "has_dishwasher"
      },
      {
        "display_name": "Pet friendly",
        "cloudinary_id": "amenity_dog_icon",
        "group": "pets",
        "group_rank": 3,
        "filter_param": "is_pet_friendly"
      },
      {
        "display_name": "Garage",
        "cloudinary_id": "amenity_garage_icon",
        "group": "parking",
        "group_rank": 1,
        "filter_param": "has_garage"
      }
    ],
    "unit_amenities": [
      {
        "display_name": "Dishwasher",
        "cloudinary_id": "amenity_dishwasher_icon",
        "group": "unit_features",
        "group_rank": 5,
        "filter_param": "has_dishwasher"
      },
      {
        "display_name": "Patio / balcony",
        "cloudinary_id": "amenity_patio_icon",
        "group": "unit_features",
        "group_rank": 1,
        "filter_param": "has_balcony"
      },
      {
        "display_name": "In unit laundry",
        "cloudinary_id": "amenity_washer_icon",
        "group": "laundry",
        "group_rank": 1,
        "filter_param": "has_in_unit_laundry"
      },
      {
        "display_name": "Bathtub",
        "cloudinary_id": "amenity_steam_icon",
        "group": "unit_features",
        "group_rank": 16,
        "filter_param": "has_bathtub"
      },
      {
        "display_name": "Ceiling fan",
        "cloudinary_id": "amenity_fan_icon",
        "group": "unit_features",
        "group_rank": 10,
        "filter_param": "has_ceiling_fan"
      },
      {
        "display_name": "Extra storage",
        "cloudinary_id": "amenity_storage_icon",
        "group": "unit_features",
        "group_rank": 13,
        "filter_param": null
      },
      {
        "display_name": "Granite counters",
        "cloudinary_id": "amenity_counter_icon",
        "group": "unit_features",
        "group_rank": 2,
        "filter_param": "has_granite_counter"
      },
      {
        "display_name": "Ice maker",
        "cloudinary_id": "amenity_ice_icon",
        "group": "unit_features",
        "group_rank": 14,
        "filter_param": "has_ice_maker"
      },
      {
        "display_name": "Oven",
        "cloudinary_id": "amenity_oven_icon",
        "group": "unit_features",
        "group_rank": 20,
        "filter_param": null
      },
      {
        "display_name": "Range",
        "cloudinary_id": "amenity_oven_icon",
        "group": "unit_features",
        "group_rank": 19,
        "filter_param": null
      },
      {
        "display_name": "Refrigerator",
        "cloudinary_id": "amenity_refrigerator_icon",
        "group": "unit_features",
        "group_rank": 21,
        "filter_param": null
      },
      {
        "display_name": "Stainless steel",
        "cloudinary_id": "amenity_refrigerator_icon",
        "group": "unit_features",
        "group_rank": 7,
        "filter_param": "has_stainless_steel"
      },
      {
        "display_name": "Walk in closets",
        "cloudinary_id": "amenity_hanger_icon",
        "group": "unit_features",
        "group_rank": 8,
        "filter_param": "has_walk_in_closet"
      }
    ],
    "upsells": [
      "lift"
    ],
    "income_requirement_text": "Must have 3x the rent in total household income (before taxes)",
    "occupancy_types": [],
    "display_occupancy_types": [],
    "nurture_enabled": true,
    "virtual_tours": [],
    "prices": {
      "1": [
        1195
      ],
      "2": [
        1749
      ],
      "3": [
        2018
      ]
    },
    "street_address": "6000 El Dorado Parkway",
    "zip": "75033",
    "city": "Frisco",
    "long_highlight": "Nestled in a serene setting, Mirasol Eldorado Apartments in Frisco, Texas are a delightful blend of urban excitement and suburban tranquility. This vibrant community is just a stone's throw from multiple schools and parks, allowing for a convenient lifestyle filled with outdoor activities. Residents love the clean and secure environment, making it an inviting place for families. With a range of modern amenities, including a pool, 24-hour gym, and in-unit laundry, you'll find everything you need for comfortable living. Embrace the pet-friendly approach, with facilities like a dog park available on-site. Outstanding management and maintenance are key highlights, consistently receiving praise for their attentive and courteous service. Experience the best of both worlds at Mirasol, where spaciousness meets quality in a vibrant Texas locale.",
    "loaded_sections": {
      "address": true,
      "admin": true,
      "all_photos": true,
      "amenities": true,
      "available_units": true,
      "contact": true,
      "coordinates": true,
      "disclaimers": true,
      "description": true,
      "first_photo": true,
      "floorplans_summary": true,
      "lease_terms": true,
      "location": true,
      "meta": true,
      "mls_contact": true,
      "payments": true,
      "pet_policies": true,
      "provider": true,
      "restrictions": true,
      "tour_times": true,
      "virtual_tours": true,
      "local_ordinances": true,
      "partnerships": true,
      "opt_outs": true
    },
    "street": "6000 El Dorado Parkway",
    "description": "\"Welcome to Mirasol Eldorado. A distinctive Frisco, Texas apartment community of lasting value. Stylish and vibrant. Modern and uncomplicated. Spacious and thoughtfully designed. Urban excitement and suburban convenience.\"",
    "parking": [
      {
        "assigned_available": null,
        "assigned_has_fee": null,
        "category": null,
        "comment": "Attached garage: included in the 1br and 2br leases; Detached garages: $125/month",
        "space_fee": null,
        "spaces": null
      },
      {
        "assigned_available": null,
        "assigned_has_fee": true,
        "category": "garage_lot",
        "comment": "Unattached Garage - Parking",
        "space_fee": 150,
        "spaces": null
      }
    ],
    "storage_details_text": null,
    "pet_policies": {
      "allowed_pets": [],
      "cats": {},
      "dogs": {},
      "general": {},
      "allowed": null
    },
    "lease_terms_text": null,
    "additional_fees_text": null,
    "application_fee_text": null,
    "deposit_fee_text": null,
    "move_in_fees_text": null,
    "utilities_included_text": null,
    "additional_disclosures_url": null,
    "income_multiplier_requirement": 3,
    "qualification_detail_url": null,
    "remote_property_id": "808690771689",
    "source_name": "real_page_mits5",
    "county": "Frisco",
    "partnerships": {
      "google": {
        "partner_id": 4,
        "remote_property_id": null
      },
      "movoto": {
        "partner_id": 6,
        "remote_property_id": null
      },
      "cort": {
        "partner_id": 10,
        "remote_property_id": null
      },
      "offerup": {
        "partner_id": 7,
        "remote_property_id": null
      },
      "rentberry": {
        "partner_id": 11,
        "remote_property_id": null
      },
      "apartment_picks": {
        "partner_id": 12,
        "remote_property_id": null
      },
      "suite_america": {
        "partner_id": 14,
        "remote_property_id": null
      },
      "pet_screening": {
        "partner_id": 1,
        "remote_property_id": null
      },
      "esusu": {
        "partner_id": 16,
        "remote_property_id": null
      },
      "rent_app": {
        "partner_id": 18,
        "remote_property_id": null
      },
      "rentsmart": {
        "partner_id": 19,
        "remote_property_id": null
      },
      "pinata": {
        "partner_id": 20,
        "remote_property_id": null
      }
    },
    "opt_outs": {
      "opt_out_price_calculator": false
    },
    "has_remote_tours": false,
    "email": null,
    "tour_booking_allowed": true
  },
  "budget_histogram_summary": {},
  "unit_pricing_history": {
    "p87920-15496699": [
      {
        "price": 2208,
        "price_change": -18,
        "event_type": "price_decrease",
        "updated_at": "7/16/2026",
        "total_price": 2208
      }
    ],
    "p87920-15496602": [
      {
        "price": 2110,
        "price_change": -18,
        "event_type": "price_decrease",
        "updated_at": "7/16/2026",
        "total_price": 2110
      }
    ],
    "p87920-15496739": [
      {
        "price": 2169,
        "price_change": -96,
        "event_type": "price_decrease",
        "updated_at": "6/25/2026",
        "total_price": 2169
      }
    ],
    "p87920-15496418": [
      {
        "price": 1462,
        "price_change": 17,
        "event_type": "price_increase",
        "updated_at": "7/23/2026",
        "total_price": 1462
      }
    ],
    "p87920-15496648": [
      {
        "price": 2215,
        "price_change": 15,
        "event_type": "price_increase",
        "updated_at": "7/23/2026",
        "total_price": 2215
      }
    ],
    "p87920-15496748": [
      {
        "price": 2617,
        "price_change": -100,
        "event_type": "price_decrease",
        "updated_at": "6/25/2026",
        "total_price": 2617
      }
    ],
    "p87920-15496601": [
      {
        "price": 2110,
        "price_change": -18,
        "event_type": "price_decrease",
        "updated_at": "7/16/2026",
        "total_price": 2110
      }
    ],
    "p87920-15496624": [
      {
        "price": 2085,
        "price_change": -18,
        "event_type": "price_decrease",
        "updated_at": "7/16/2026",
        "total_price": 2085
      }
    ]
  },
  "reviews": [
    {
      "property_id": 383815274,
      "property_name": "87920",
      "submit_date": "2024-05-28T19:59:39.000+00:00",
      "detail": "Overall I am happy so far. I am dissatisfied with the pest control issue and the fact I live below an AIRBNB that can be very NOISY with children and or people who are not aware they have someone below them. There have been people waking up at midnight dropping weights, training elephants, and children running all hours.",
      "overall_score": 4,
      "type": "email",
      "moderated": "keep"
    },
    {
      "property_id": 383815275,
      "property_name": "87920",
      "submit_date": "2024-05-28T19:59:39.000+00:00",
      "detail": "Overall I am happy so far. I am dissatisfied with the pest control issue and the fact I live below an AIRBNB that can be very NOISY with children and or people who are not aware they have someone below them. There have been people waking up at midnight dropping weights, training elephants, and children running all hours.",
      "overall_score": 4,
      "type": "email",
      "moderated": "keep"
    }
  ],
  "accessibility": {
    "walk_score": {
      "description": "Car-Dependent",
      "score": 39,
      "link": "https://www.walkscore.com/score/loc/lat=33.177031/lng=-96.833755/?utm_source=alist2020&utm_medium=ws_api&utm_campaign=ws_api"
    },
    "transit_score": {}
  },
  "similar_listings": []
}
```

Each property returns a comprehensive record with 20+ structured fields:

#### Basic Property Information

| Field | Meaning | Example |
|---|---|---|
| `Listing` | Core property metadata (name, ID, address) | Mirasol Eldorado Apartments |
| `Location` | Geographic details and coordinates | Frisco, TX 75033 |
| `Is Inactive` | Boolean flag indicating if the listing is active or archived | `false` |

#### Pricing & Financial Data

| Field | Meaning | Example |
|---|---|---|
| `Average Rents` | Summary statistics of current rental rates by unit type (1-bed, 2-bed, etc.) | `{"1-bed": $1200, "2-bed": $1500}` |
| `Budget Histogram Summary` | Distribution of available rent prices across the property | Helps identify pricing tiers |
| `Unit Pricing History` | Historical rent trends showing price changes over time | Used for market analysis and prediction |

#### Reviews & Tenant Feedback

| Field | Meaning | Example |
|---|---|---|
| `Reviews` | Aggregated tenant ratings, comments, and satisfaction scores | Star rating + individual reviews |

#### Amenities & Features

| Field | Meaning | Example |
|---|---|---|
| `Accessibility` | Wheelchair access, accessible units, and ADA compliance information | Accessibility features available |
| `Property Has Virtual Tours` | Boolean indicating if the property provides virtual tour videos | `true` or `false` |
| `Property Has Videos` | Boolean indicating if additional video content is available | `true` or `false` |

#### Neighborhood Context

| Field | Meaning | Example |
|---|---|---|
| `Schools` | Nearby schools (elementary, middle, high) with ratings and distance | Schools within 1-5 miles |
| `POIs` | Points of Interest (parks, transit, shopping, restaurants) | Location context and walkability |
| `Show Interactive Map` | Feature flag enabling interactive map display | Neighborhood visualization |

#### Market Intelligence

| Field | Meaning | Example |
|---|---|---|
| `Can Show Rent Report` | Boolean indicating if rent report generation is available | `true` or `false` |

#### Content & Metadata

| Field | Meaning | Example |
|---|---|---|
| `Articles` | Related editorial content (guides, market reports) | Links to helpful resources |
| `Similar Listings` | Comparable properties in the same area | Other apartments for comparison |
| `Crosslinks` | Internal links to related properties or neighborhoods | Navigation and discovery |
| `ILA Footer` | Additional footer content or legal information | Disclaimers and additional data |

#### Administrative Flags

| Field | Meaning | Example |
|---|---|---|
| `Paid` | Boolean indicating if the listing has paid promotion or featured status | `true` or `false` |
| `Show Fee Transparency Feature Flag` | Boolean for displaying rental fee breakdowns | Transparency feature enabled |
| `AEO Content Metro Allocation` | Allocation data for metro-level content distribution | Internal optimization flag |

***

### How to Use

1. **Gather property URLs** — Navigate to ApartmentList.com, find properties you want to analyze, and copy their detail page URLs. Ensure URLs follow the pattern: `https://www.apartmentlist.com/[STATE]/[CITY]/[PROPERTY-NAME]`

2. **Prepare input configuration** — Add all URLs to the `urls` array. Set `max_items_per_url` based on expected data volume (typically `200` is sufficient). Set `ignore_url_failures: true` for batch runs.

3. **Configure error handling** — Decide whether to stop on failure or continue. For large bulk jobs, `ignore_url_failures: true` is recommended to avoid interruptions.

4. **Run the scraper** — Execute the actor and monitor the progress log. Most runs complete within minutes depending on URL count and data volume.

5. **Export and analyze** — Download results as JSON, CSV, or Excel. Import into spreadsheets or databases for further analysis.

**Troubleshooting:**

- **Empty results:** Verify the URL is a complete property detail page (not a search index or list view).
- **Slow performance:** Reduce `max_items_per_url` or split URLs across multiple runs.
- **Missing fields:** Some properties may lack certain data (e.g., virtual tours, rent history). This is normal — the scraper captures available data.

***

### Use Cases & Business Value

- **Investment analysis:** Compare rental rates, occupancy trends, and tenant reviews across multiple markets
- **Market benchmarking:** Analyze competitive pricing and positioning for rent-setting decisions
- **Research & reporting:** Build market intelligence reports on affordability, vacancy rates, and rental trends
- **Platform integration:** Feed property data into property management systems, real estate platforms, or comparison tools
- **Neighborhood analysis:** Study schools, POIs, and accessibility to understand area desirability

The ApartmentList Property Scraper transforms hours of manual research into minutes of automated data collection, enabling data-driven decisions in real estate and housing analytics.

***

### Conclusion

The **ApartmentList Property Details Scraper** is a powerful tool for anyone needing structured rental property data at scale. Whether you're an investor, researcher, or developer, this scraper delivers accurate, comprehensive data across pricing, reviews, amenities, and neighborhood context. Start collecting actionable insights today.

# Actor input Schema

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

Add the URLs of the Specific property 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.

## Actor input object example

```json
{
  "urls": [
    "https://www.apartmentlist.com/tx/frisco/mirasol-eldorado-apartments",
    "https://www.apartmentlist.com/tx/frisco/plaza-at-frisco-square",
    "https://www.apartmentlist.com/tx/frisco/the-isaac",
    "https://www.apartmentlist.com/tx/frisco/the-margo",
    "https://www.apartmentlist.com/tx/frisco/the-kathryn"
  ],
  "ignore_url_failures": true
}
```

# 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.apartmentlist.com/tx/frisco/mirasol-eldorado-apartments",
        "https://www.apartmentlist.com/tx/frisco/plaza-at-frisco-square",
        "https://www.apartmentlist.com/tx/frisco/the-isaac",
        "https://www.apartmentlist.com/tx/frisco/the-margo",
        "https://www.apartmentlist.com/tx/frisco/the-kathryn"
    ],
    "ignore_url_failures": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/apartmentlist-property-details-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.apartmentlist.com/tx/frisco/mirasol-eldorado-apartments",
        "https://www.apartmentlist.com/tx/frisco/plaza-at-frisco-square",
        "https://www.apartmentlist.com/tx/frisco/the-isaac",
        "https://www.apartmentlist.com/tx/frisco/the-margo",
        "https://www.apartmentlist.com/tx/frisco/the-kathryn",
    ],
    "ignore_url_failures": True,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/apartmentlist-property-details-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.apartmentlist.com/tx/frisco/mirasol-eldorado-apartments",
    "https://www.apartmentlist.com/tx/frisco/plaza-at-frisco-square",
    "https://www.apartmentlist.com/tx/frisco/the-isaac",
    "https://www.apartmentlist.com/tx/frisco/the-margo",
    "https://www.apartmentlist.com/tx/frisco/the-kathryn"
  ],
  "ignore_url_failures": true
}' |
apify call alexist/apartmentlist-property-details-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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