# Apartments.com Scraper & API | Rentals & Property Data (`parsebird/apartments-com-scraper`) Actor

Scrape Apartments.com rental data: rent, beds, baths, sqft, amenities, fees, floor plans, photos, schools, transit, walk score, and reviews. Search any location or paste property URLs. Export JSON, CSV, Excel.

- **URL**: https://apify.com/parsebird/apartments-com-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.49 / 1,000 listing pages

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?

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

### Apartments.com Scraper & API

Scrape rental listings and full property details from [Apartments.com](https://www.apartments.com/): rent ranges, beds, baths, square footage, amenities, fees and policies, floor plans, photos, 3D tours, nearby schools, transit and points of interest, Walk Score, and resident reviews. Search any US location or paste property URLs directly.

<table><tr>
<td style="border-left:4px solid #00A98F;padding:12px 16px;font-weight:600">Search Apartments.com by city, neighborhood, ZIP, or address — or drop in listing and property URLs — and export clean, structured apartment data with rent, amenities, fees, schools, transit, Walk Score, photos, and reviews.</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```text
Apify Actor: parsebird/apartments-com-scraper - scrapes rental listings and property details from Apartments.com. Call via ApifyClient: client.actor("parsebird/apartments-com-scraper").call(run_input={"search":"Brooklyn, NY","startUrls":["https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb/"],"maxItems":50,"includeReviews":true,"includeVisuals":true,"includeInteriorAmenities":true,"includeWalkScore":true}). Inputs: search (location keyword: city, neighborhood, ZIP, or street address), startUrls (array of Apartments.com listing/search URLs and/or property detail URLs, can be mixed), maxItems (integer, default 1000), includeReviews (bool, default false), includeVisuals (bool - photos, floor plan images, virtual tours, default false), includeInteriorAmenities (bool, default false), includeWalkScore (bool - Walk/Transit/Bike score, default false). Output fields: id, propertyName, url, lastUpdated, location {fullAddress, streetAddress, city, state, postalCode, neighborhood}, coordinates {latitude, longitude}, rating, ratingValue, ratingCount, rent {min, max, currency}, beds, baths, sqft, transportation[], specials, schools {public, private, collegesUniversities}, fees[], description, amenities[], contact {phone, name, website, leasingOffice}, floorPlanUnits[], score {walkScore, transitScore, bikeScore, driveScore, soundScore}, photos[], floorPlans[], virtualTours[], reviews[]. API docs: https://docs.apify.com/api/v2 Token: https://console.apify.com/settings/integrations
```

### What is Apartments.com Scraper & API?

**Apartments.com Scraper & API** is an [Apartments.com](https://www.apartments.com/) scraper that turns rental listing pages and individual property pages into structured JSON. It collects everything shown on a property page — rent ranges, unit mix, amenities, pet and parking fees, lease options, floor plans, photo galleries, 3D tours, nearby schools, transit stations, Walk Score, and resident reviews.

Use it as an **Apartments.com API alternative** when you need repeatable exports, scheduled rent monitoring, or integration-ready datasets without browsing the site page by page. You can mix property detail URLs and listing (search) URLs in the same run.

### What can Apartments.com Scraper & API do?

- 🔎 Search any US location by city, neighborhood, ZIP code, or full street address.
- 🔗 Scrape Apartments.com listing/search URLs and individual property URLs — mixed together in one run.
- 🎛️ Apply any filters on the Apartments.com website (price, beds, baths, pet policy, amenities), then paste the filtered URL as a start URL.
- 🏢 Extract rent ranges, beds, baths, square footage, unit-level floor plans, amenities, and fees & policies.
- 🏫 Pull nearby public and private schools, colleges, transit stations, airports, and points of interest.
- 🚶 Add Walk Score, Transit Score, and Bike Score per property.
- ⭐ Collect resident reviews with ratings and dates.
- 🖼️ Grab full photo galleries, floor plan images, and Matterport 3D tour links.
- 🗓️ Run on Apify with scheduling, API access, proxy rotation, [integrations](https://apify.com/integrations), and exports to JSON, CSV, and Excel.

### What data can you extract from Apartments.com?

| Field | Description |
|-------|-------------|
| `id` | Apartments.com property ID |
| `propertyName` | Property or community name |
| `url` | Canonical property URL |
| `lastUpdated` | How recently the listing was refreshed (e.g. "Today", "2 weeks ago") |
| `location` | `fullAddress`, `streetAddress`, `city`, `state`, `postalCode`, `neighborhood` |
| `coordinates` | `latitude` and `longitude` |
| `rating` / `ratingValue` / `ratingCount` | Rounded rating, exact average, and number of ratings |
| `rent` | `min`, `max`, and `currency` for monthly rent |
| `beds` / `baths` / `sqft` | Range strings as shown on the property (e.g. "Studio - 3 bd") |
| `transportation` | Nearby commuter rail, subway, airports, and POIs with walk/drive time and distance |
| `specials` | Current move-in specials or concessions text |
| `schools` | `public`, `private` (type, name, grades, students, GreatSchools rating) and `collegesUniversities` |
| `fees` | Pets, parking, lease options, and property information grouped by policy |
| `description` | Full property description |
| `amenities` | Community amenities, plus interior amenities when enabled |
| `contact` | Public leasing `phone`, property `website`, and `leasingOffice` address when shown |
| `floorPlanUnits` | Per-unit floor plans with beds, baths, and square footage |
| `score` | `walkScore`, `transitScore`, `bikeScore`, `driveScore`, `soundScore` (when enabled) |
| `photos` / `floorPlans` / `virtualTours` | Image gallery, floor plan images, and 3D tour links (when enabled) |
| `reviews` | Resident reviews with author, title, text, rating, and date (when enabled) |

### How to scrape Apartments.com

1. Open **Apartments.com Scraper & API** on Apify.
2. Enter a location in **search** (for example `Brooklyn, NY`, `78704`, or `2424 W Caithness Place, Denver, CO`).
3. Or paste one or more Apartments.com URLs into **startUrls** — listing/search pages, property pages, or a mix of both.
4. To use website filters, apply them on Apartments.com, copy the resulting URL, and paste it into **startUrls**.
5. Set **maxItems** to cap how many properties are saved.
6. Toggle **includeReviews**, **includeVisuals**, **includeInteriorAmenities**, and **includeWalkScore** for extra detail-page data.
7. Run the actor and download results in JSON, CSV, Excel, or HTML, or pull them from the [Apify API](https://docs.apify.com/api/v2).
8. Use [Apify scheduling](https://docs.apify.com/platform/actors/running/schedules) to monitor rents daily or connect results to Make, Zapier, n8n, webhooks, or your own workflow via [Apify integrations](https://apify.com/integrations).

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `search` | string | One of `search` / `startUrls` | — | Location keyword: city, neighborhood, ZIP code, or street address |
| `startUrls` | array | One of `search` / `startUrls` | `[]` | Apartments.com listing (search) URLs and/or property detail URLs. Can be mixed |
| `maxItems` | integer | No | `1000` | Maximum number of properties saved to the output |
| `includeReviews` | boolean | No | `false` | Fetch resident reviews from property pages |
| `includeVisuals` | boolean | No | `false` | Fetch photo galleries, floor plan images, and 3D / virtual tour links |
| `includeInteriorAmenities` | boolean | No | `false` | Fetch in-unit apartment features and interior amenity lists |
| `includeWalkScore` | boolean | No | `false` | Fetch Walk Score, Transit Score, and Bike Score |
| `proxyConfiguration` | object | No | Apify Proxy (Unblocker) | Proxy settings. The Apify Proxy "Unblocker" group is required to reach Apartments.com reliably |

### Input / Output

Example input:

```json
{
  "startUrls": [
    "https://www.apartments.com/brooklyn-ny/",
    "https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb/"
  ],
  "search": "2424 W Caithness Place, Denver, CO 80211",
  "includeReviews": true,
  "includeVisuals": true,
  "includeInteriorAmenities": true,
  "includeWalkScore": true,
  "maxItems": 50
}
```

Example output (truncated):

```json
{
  "id": "szmm4r5",
  "propertyName": "1 Kennedy Flats Apartments",
  "url": "https://www.apartments.com/1-kennedy-flats-apartments-danbury-ct/szmm4r5/",
  "lastUpdated": "Today",
  "location": {
    "fullAddress": "1 Kennedy Ave, Danbury, CT 06810",
    "state": "CT",
    "city": "Danbury",
    "neighborhood": "Downtown Danbury",
    "postalCode": "06810",
    "streetAddress": "1 Kennedy Ave"
  },
  "coordinates": { "latitude": 41.39684, "longitude": -73.45732 },
  "rating": 5,
  "ratingValue": 4.8,
  "ratingCount": 195,
  "rent": { "min": 1956, "max": 4655, "currency": "USD" },
  "beds": "Studio - 3 bd",
  "baths": "1 - 2.5 ba",
  "sqft": "571 - 1,906 sq ft",
  "transportation": [
    { "name": "Danbury Station", "category": "Commuter Rail", "walk": "11 min", "drive": "", "distance": "0.6 mi" }
  ],
  "specials": "Move-in Special For a limited time, enjoy $750 off your first month's rent.",
  "schools": {
    "public": [
      { "type": "Public Elementary School", "name": "King Street Primary School", "grades": "K-3", "numberOfStudents": "390", "rating": 4 }
    ],
    "private": [
      { "type": "Private Elementary & Middle School", "name": "St Joseph Elementary School", "grades": "PK-8", "numberOfStudents": "227", "rating": null }
    ],
    "collegesUniversities": [
      { "name": "Western Connecticut, Midtown", "drive": "3 min", "distance": "1.2 mi" }
    ]
  },
  "fees": [
    {
      "title": "Pets",
      "policies": [
        { "header": "Dogs Allowed", "values": [ { "key": "Monthly pet fee", "value": "$60" }, { "key": "Weight limit", "value": "80 lb" } ] }
      ]
    },
    {
      "title": "Details",
      "policies": [
        { "header": "Property Information", "values": [ { "key": "Built in 2016", "value": "" }, { "key": "374 units/4 stories", "value": "" } ] }
      ]
    }
  ],
  "description": "1 Kennedy Flats offers studio, one and two bedroom apartments, plus spacious townhomes in the heart of Danbury...",
  "amenities": [
    { "title": "Community Amenities", "value": ["Concierge", "Clubhouse", "Fitness Center", "Pool", "Grill"] },
    { "title": "Interior Amenities", "value": ["Washer/Dryer", "Air Conditioning", "Granite Countertops", "Stainless Steel Appliances"] }
  ],
  "contact": { "phone": "(475) 323-4879", "name": null, "website": "http://www.1kennedyflats.com/", "leasingOffice": null },
  "floorPlanUnits": [
    { "name": "S1-2122", "category": "apartment", "beds": 0, "baths": 1.0, "sqft": 571, "image": null }
  ],
  "score": { "walkScore": 60, "transitScore": 50, "bikeScore": 40, "driveScore": 100, "soundScore": 71 },
  "photos": ["https://images1.apartments.com/i2/FC0hffFJLQ4OvsYZ-i_oz1uRpmRnt0run_u6JGZ50V0/111/1-kennedy-flats-apartments-danbury-ct-primary-photo.jpg"],
  "floorPlans": ["https://images1.apartments.com/i2/P81lXmR8PyiI2voUFSBZoAEBIKxhWDcTdDSJBt3hnxo/117/1-kennedy-flats-apartments-danbury-ct-floorplan.jpg"],
  "virtualTours": ["https://my.matterport.com/show/?m=QHK4QbwVexP"],
  "reviews": [
    { "author": "Realpage A.", "title": "Verified Renter", "text": "Great amenities, staff is very friendly and helpful.", "rating": 5.0, "datePublished": "2025-08-10" }
  ]
}
```

Download the dataset in JSON, HTML, CSV, or Excel, or access it through the [Apify API](https://docs.apify.com/api/v2).

### Use cases

- **Rent monitoring** — track asking rents, concessions, and availability across neighborhoods over time.
- **Market research** — compare amenities, fees, unit mix, and Walk Score across competing communities.
- **Lead lists for proptech and services** — build datasets of communities, management contacts, and locations.
- **Investment analysis** — pull rent ranges, square footage, and building details for underwriting models.
- **Relocation and search tools** — power apartment-finder apps with structured listing, school, and transit data.
- **Reputation analysis** — aggregate resident reviews and ratings for portfolio benchmarking.

### How it works

1. Each `search` term is turned into an Apartments.com location URL; each start URL is classified as a listing (search) page or a property page.
2. Listing pages are paginated, and every property card on them is queued for a full detail fetch.
3. Property pages are parsed for structured fields from the page's embedded data and on-page sections.
4. Optional sections (reviews, visuals, interior amenities, Walk Score) are attached only when the matching toggle is on.
5. Results stream to the dataset as they are scraped; run state is saved so restarts resume where they left off.

### How much does it cost to scrape Apartments.com?

This actor uses **pay-per-event** pricing. You are charged for the queries it runs and the data it returns. Apify account credits may cover small test runs.

| Event | What it is | Free | Bronze | Silver | Gold |
|-------|-----------|------|--------|--------|------|
| `listing-page-query` | One listing/search results page scraped | $6.99 / 1k | $6.49 / 1k | $5.99 / 1k | $5.49 / 1k |
| `property-detail-query` | One property page you provide directly as a start URL | $4.99 / 1k | $4.49 / 1k | $3.99 / 1k | $3.49 / 1k |
| `dataset-item` | Each property saved, after the first 20 per listing query | $0.49 / 1k | $0.39 / 1k | $0.39 / 1k | $0.39 / 1k |
| `review` | Fetching reviews for a property (when `includeReviews` is on) | $0.19 / 1k | $0.14 / 1k | $0.14 / 1k | $0.14 / 1k |
| `visual` | Fetching images and virtual tours (when `includeVisuals` is on) | $0.19 / 1k | $0.14 / 1k | $0.14 / 1k | $0.14 / 1k |
| `interior-amenities` | Fetching interior amenities (when `includeInteriorAmenities` is on) | $0.10 / 1k | $0.05 / 1k | $0.05 / 1k | $0.05 / 1k |
| `walk-score` | Fetching Walk/Transit/Bike score (when `includeWalkScore` is on) | $0.10 / 1k | $0.05 / 1k | $0.05 / 1k | $0.05 / 1k |

**Example:** scraping one Brooklyn search page and returning 40 properties with all toggles on costs roughly $6.99 (listing page) + $0.01 (20 chargeable dataset items) + ~$0.02 (reviews + visuals + interior + walk score for 40 properties) ≈ **$7.02** on the Free tier, before account credits.

### Python API example

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("parsebird/apartments-com-scraper").call(run_input={
    "search": "Brooklyn, NY",
    "maxItems": 50,
    "includeReviews": True,
    "includeVisuals": True,
    "includeInteriorAmenities": True,
    "includeWalkScore": True,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["propertyName"], item["rent"], item["url"])
```

### JavaScript API example

```javascript
import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "YOUR_APIFY_TOKEN" });

const run = await client.actor("parsebird/apartments-com-scraper").call({
  startUrls: ["https://www.apartments.com/brooklyn-ny/"],
  maxItems: 50,
  includeVisuals: true,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
  console.log(`${item.propertyName} - ${item.rent?.min}-${item.rent?.max} - ${item.url}`);
}
```

### Is it legal to scrape Apartments.com?

This actor collects publicly available listing information from Apartments.com. Web scraping of public data is legal in many jurisdictions, but you are responsible for how you use the data. Review Apartments.com's Terms of Use, do not misuse personal data such as reviewer names, and make sure your use case complies with applicable laws (including GDPR and CCPA where relevant). For background, read Apify's guide: [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/).

### Other real estate scrapers / Related Actors

- [Craigslist Real Estate Scraper](https://apify.com/parsebird/craigslist-real-estate-scraper) — FSBO homes and rentals from Craigslist.
- [Trulia Property Scraper](https://apify.com/parsebird/trulia-property-scraper) — for-sale and rental listings from Trulia.
- [Propertyfinder Scraper](https://apify.com/parsebird/propertyfinder-scraper) — Property Finder listing data.
- [Fotocasa Scraper](https://apify.com/parsebird/fotocasa-scraper) — Spanish real estate listings.
- [Funda Scraper](https://apify.com/parsebird/funda-scraper) — Netherlands real estate listings.

### FAQ

**Can I mix property URLs and search URLs in one run?**
Yes. Put any combination of Apartments.com listing (search) URLs and property detail URLs into `startUrls`, and optionally add a `search` term as well.

**How do I scrape one specific property?**
Copy the property page URL from Apartments.com and paste it into `startUrls`. It is billed as a `property-detail-query`.

**How do I apply filters like price or pet policy?**
Set the filters on the Apartments.com website, then copy the filtered results URL from your browser and paste it into `startUrls`.

**Why are some fields empty?**
Listings vary. Single-family rentals and smaller buildings often have no fees, floor plan units, reviews, or Walk Score. The actor returns whatever the property page publishes.

**Do the toggles change the cost?**
Yes. `includeReviews`, `includeVisuals`, `includeInteriorAmenities`, and `includeWalkScore` each add a small per-property event only for properties where that data is returned.

**Why does a run take a while?**
Apartments.com has strong anti-bot protection, so each page is fetched through the Apify Proxy Unblocker and retried until it succeeds. Expect roughly one to two minutes per property. For large runs, raise the Actor's run timeout in the run options.

**Can I schedule recurring runs?**
Yes. Use [Apify scheduling](https://docs.apify.com/platform/actors/running/schedules) to run hourly, daily, weekly, or on a custom interval.

**Can I connect the results to other tools?**
Yes. Use the Apify API, dataset webhooks, or [Apify integrations](https://apify.com/integrations) to push data to Google Sheets, databases, CRMs, Make, Zapier, or n8n.

**Where do I report an issue?**
Open a ticket on the actor's Issues tab with the input you used and an example URL.

### Legal and compliance

Apartments.com Scraper & API is intended for lawful research, monitoring, and analysis of publicly available rental listings. Review the source site's terms, handle any personal data (such as reviewer names and leasing contacts) carefully and in line with GDPR, CCPA, and other applicable regulations, and use the exported JSON, CSV, Excel, API, and integration workflows only for compliant purposes.

# Actor input Schema

## `search` (type: `string`):

Location keyword to search properties in, such as a city, neighborhood, ZIP code, or full street address.

## `startUrls` (type: `array`):

Apartments.com listing (search) URLs or property detail URLs. Listing and property URLs can be mixed.

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

Maximum number of properties to save to the output.

## `includeReviews` (type: `boolean`):

Fetch resident reviews from property detail pages.

## `includeVisuals` (type: `boolean`):

Fetch photo galleries, floor plan images, and 3D / virtual tour links from property detail pages.

## `includeInteriorAmenities` (type: `boolean`):

Fetch in-unit apartment features and interior amenity lists from property detail pages.

## `includeWalkScore` (type: `boolean`):

Fetch Walk Score, Transit Score, and Bike Score from property detail pages.

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

Apartments.com is protected by anti-bot systems. The Apify Proxy 'Unblocker' group is required to get through reliably.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb/"
  ],
  "maxItems": 5,
  "includeReviews": true,
  "includeVisuals": true,
  "includeInteriorAmenities": true,
  "includeWalkScore": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "UNBLOCKER"
    ]
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "startUrls": [
        "https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb/"
    ],
    "maxItems": 5,
    "includeReviews": true,
    "includeVisuals": true,
    "includeInteriorAmenities": true,
    "includeWalkScore": true,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "UNBLOCKER"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/apartments-com-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 = {
    "startUrls": ["https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb/"],
    "maxItems": 5,
    "includeReviews": True,
    "includeVisuals": True,
    "includeInteriorAmenities": True,
    "includeWalkScore": True,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["UNBLOCKER"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/apartments-com-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 '{
  "startUrls": [
    "https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb/"
  ],
  "maxItems": 5,
  "includeReviews": true,
  "includeVisuals": true,
  "includeInteriorAmenities": true,
  "includeWalkScore": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "UNBLOCKER"
    ]
  }
}' |
apify call parsebird/apartments-com-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/apartments-com-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/o1NXTpwJLVTq3fLxp/builds/sDFonqlJAjGD10JeS/openapi.json
