# Zealty Property Details Scraper (`alexist/zealty-property-details-scraper`) Actor

Scrape detailed property information from Zealty.ca including prices, descriptions, agent details, and 60+ fields per listing. Perfect for real estate investors, market researchers, and property analysts exploring Canadian properties.

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

## Zealty Property Details Scraper: Extract Canadian Real Estate Data Effortlessly

***

### What Is Zealty.ca?

Zealty.ca is Canada's premier online real estate platform, featuring comprehensive property listings across major provinces including British Columbia, Alberta, Ontario, and more. The platform hosts detailed MLS property data with images, pricing, financing information, and agent contacts. Manually collecting this property data from hundreds of listings is impractical — the **Zealty Property Details Scraper** automates extraction, delivering structured, investment-ready data instantly.

***

### Overview

The **Zealty Property Details Scraper** extracts in-depth property information from individual Zealty.ca listing pages, converting rich real estate data into clean, structured records. It serves:

- **Real estate investors** analyzing market trends and pricing patterns
- **Property managers** tracking competitive listings and valuations
- **Market researchers** studying housing demand and supply
- **Data analysts** building real estate databases for BI platforms
- **Real estate tech companies** aggregating property information

The scraper excels at capturing comprehensive property details including financial information, agent contacts, physical specifications, and location data across 60+ output fields.

***

### Input Format

The scraper requires a straightforward JSON configuration:

```json
{
  "urls": [
    "https://www.zealty.ca/property/bc/maple-ridge/117-11510-225-street-mls_r3149232#mortgage-calculator",
    "https://www.zealty.ca/property/bc/burnaby/2106-5899-wilson-avenue-mls_r3149223",
    "https://www.zealty.ca/property/bc/richmond/1506-6655-buswell-street-mls_r3149222"
  ],
  "max_items_per_url": 200,
  "ignore_url_failures": true
}
```

| Field | Description |
|---|---|
| `urls` | Array of direct Zealty property listing URLs (individual property detail pages) |
| `max_items_per_url` | Maximum records extracted per URL (typically `200` for complete data) |
| `ignore_url_failures` | If `true`, scraper continues even if some URLs fail, ensuring batch runs complete |

> **Note:** Use full property URLs including the MLS code (e.g., `mls_r3149232`) for accurate identification. Anchor tags like `#mortgage-calculator` are optional and ignored by the scraper.

***

### Output Format

**Sample output**

```json
{
  "image_url": "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/83dcefb7.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
  "images": [
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/83dcefb7.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/1ad5be0d.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/6dd28e9b.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/f3b61b38.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/84b12bae.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/1db87a14.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/6abf4a82.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/fa005713.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/8d076785.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/a15d25e1.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/d65a1577.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/4f5344cd.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/3854745b.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/a630e1f8.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/d137d16e.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/483e80d4.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/3f39b042.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/af86add3.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/d8819d45.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/8a707622.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/fd7746b4.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/647e170e.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/13792798.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/8d1db23b.jpeg?v=2026-07-23T00%3A33%3A09.374Z",
    "https://dvvjkgh94f2v6.cloudfront.net/8ab08887/263170859/fa1a82ad.jpeg?v=2026-07-23T00%3A33%3A09.374Z"
  ],
  "price": 365000,
  "address": "#117 11510 225 Street",
  "city": "Maple Ridge",
  "province": "BC",
  "bedrooms": 2,
  "bathrooms": 1,
  "square_feet": 1004,
  "square_feet_range": "$undefined",
  "property_type": "Apartment/Condo",
  "description": "Ground-floor living with over 1,000 sq. ft. in the sought-after 55+ community of Fraserview Village! This spacious 2-bedroom plus den home offers stair-free access with no elevator required and the convenience of a private patio entrance. Enjoy peek-a-boo river views, a versatile den perfect for a home office or reading nook, and a generous primary bedroom with a cheater ensuite. Features include a brand-new in-suite washer and dryer, one parking stall, and a storage locker. Heat is included in the strata fees for added value. Pet-friendly, allowing up to two pets with no size restrictions, plus a guest suite for visitors. Ideally located close to shopping, parks, transit, and the West Coast Express.",
  "features": [
    "View: Fraser River",
    "Central Location",
    "Recreation Nearby",
    "Adult Oriented",
    "Shopping Nearby",
    "Elevator",
    "Guest Suite",
    "Storage",
    "Laundry: In Unit",
    "Amenities Included: Trash, Gas, Management, Water",
    "Manager: Associa BC (604-591-6060)",
    "Appliances: Washer / Dryer, Dishwasher, Refrigerator, Stove"
  ],
  "year_built": 1987,
  "parking_spaces": "Features: Additional Parking, Underground, Rear Access | Total spaces: 1 (1 covered)",
  "town": "East Central",
  "status": "Active",
  "listing_details": {
    "asking_price": 365000,
    "listing_date": "$D2026-07-22T07:00:00.000Z",
    "sold_date": "$D2025-08-14T07:00:00.000Z",
    "sold_price": 394000,
    "price_per_sq_ft_house": 364,
    "maintenance_fee": 475.44,
    "lot_dimensions": "$undefined",
    "age": 39,
    "days_on_market": 0.37999873842592596,
    "cumulative_days_on_market": "$undefined",
    "key_field_d_d_f": "b75b9262cd0378fc60ecc54dc1832a86",
    "pid": "009524479",
    "mls_number": "R3149232",
    "listing_agent": {
      "name": "Laurissa Code PREC* / Cloud Real Estate Group",
      "brokerage": "eXp Realty",
      "phone": "778-686-7653",
      "email": "Laurissa@CloudGroup.Ca"
    },
    "original_price": 365000,
    "previous_price": "$undefined",
    "previous_price_date": "$undefined",
    "previous_price_date_string": "$undefined",
    "entry_date": "$D2026-07-22T07:00:00.000Z",
    "virtual_tour_url": "$undefined",
    "feature_sheet_u_r_l": "$undefined",
    "additional_rent": "$undefined",
    "basic_rent": "$undefined",
    "sale_type": "$undefined"
  },
  "room_details": [
    {
      "name": "Kitchen",
      "level": "Main",
      "dimensions": "11'7 x 10'1"
    },
    {
      "name": "Dining Room",
      "level": "Main",
      "dimensions": "11'7 x 7'5"
    },
    {
      "name": "Living Room",
      "level": "Main",
      "dimensions": "11'7 x 7'5"
    },
    {
      "name": "Bedroom",
      "level": "Main",
      "dimensions": "13'0 x 7'11"
    },
    {
      "name": "Foyer",
      "level": "Main",
      "dimensions": "6'5 x 3'10"
    },
    {
      "name": "Den",
      "level": "Main",
      "dimensions": "7'1 x 5'11"
    },
    {
      "name": "Primary Bedroom",
      "level": "Main",
      "dimensions": "15'5 x 11'0"
    }
  ],
  "more_details": {
    "storeys": 1,
    "finished_below_sq_ft": "$undefined",
    "finished_above_sq_ft": "$undefined",
    "main_level_finished_area": 1004,
    "basement_finished_area": "$undefined",
    "roof": "$undefined",
    "fuel": [
      "Baseboard",
      "Electric",
      "Natural Gas"
    ],
    "outdoor_features": [
      "Patio"
    ],
    "parking_desc": "Features: Additional Parking, Underground, Rear Access | Total spaces: 1 (1 covered)",
    "fireplaces": "1 (Gas)",
    "heating": [
      "Baseboard",
      "Electric",
      "Natural Gas"
    ],
    "water_supply": [
      "Public"
    ],
    "sewer": [
      "Public Sewer",
      "Sanitary Sewer"
    ],
    "zoning": "RM-3",
    "construction": "$undefined",
    "foundation": "Concrete Perimeter",
    "flooring": [
      "Laminate"
    ],
    "exterior_finish": [
      "Frame Wood",
      "Brick (Exterior)",
      "Vinyl Siding"
    ],
    "fencing": "$undefined",
    "property_access": "2026-07-22T23:31:32.300Z",
    "additional_dwelling_size": "0",
    "manufactured_home_type": "$undefined",
    "bathrooms_details": [
      {
        "name": "Bathroom (ensuite)",
        "level": "Main",
        "dimensions": "4 pc."
      }
    ],
    "lot_frontage": "$undefined",
    "lot_depth": "$undefined",
    "basement_description": [
      "None"
    ],
    "site_influences": [
      "View: Fraser River",
      "Central Location",
      "Recreation Nearby",
      "Adult Oriented",
      "Shopping Nearby",
      "Elevator",
      "Guest Suite",
      "Storage",
      "Laundry: In Unit",
      "Amenities Included: Trash, Gas, Management, Water",
      "Manager: Associa BC (604-591-6060)",
      "Appliances: Washer / Dryer, Dishwasher, Refrigerator, Stove"
    ],
    "utilities": "Electricity Connected, Natural Gas Connected, Water Connected",
    "rules": "Cats OK, Dogs OK, Number Limit (Two), Pets Allowed With Restrictions, Age Restriction (55+), Short Term Rentals NOT Allowed",
    "rear_yard": "Southwest",
    "flood_plain": "No"
  },
  "property_tax_info": {
    "annual_amount": 2419.36,
    "year": 2025
  },
  "open_houses": "$undefined",
  "maintenance_fee": 475.44,
  "latitude": 49.21115,
  "longitude": -122.59855,
  "boundary": "49.21172,-122.59885,49.21172,-122.59823,49.21067,-122.59825,49.21048,-122.59843,49.21067,-122.59887,49.21172,-122.59885",
  "realtor_url": null,
  "brochure_url": null,
  "levels": 1,
  "fireplace": "1 (Gas)",
  "suite_description": "$undefined",
  "exposure": "Southwest",
  "construction_materials": "$undefined",
  "foundation": "Concrete Perimeter",
  "total_finished_sq_ft": 1004,
  "unfinished_sq_ft": "$undefined",
  "renovations": "$undefined",
  "foreclosure": false,
  "commission": "3.255% ON THE FIRST $100,000 PLUS 1.1625% ON THE REMAINING BALANCE",
  "strata_details": {
    "plan_number": "NWS2694",
    "rules": "Cats OK, Dogs OK, Number Limit (Two), Pets Allowed With Restrictions, Age Restriction (55+), Short Term Rentals NOT Allowed",
    "fee": 475.44,
    "pad_rental_fee": "$undefined"
  },
  "ownership_interest": "Freehold Strata",
  "listing_agent": {
    "name": "Laurissa Code PREC* / Cloud Real Estate Group",
    "brokerage": "eXp Realty",
    "phone": "778-686-7653",
    "email": "Laurissa@CloudGroup.Ca"
  },
  "listing_agent2": "$undefined",
  "listing_agent3": "$undefined",
  "selling_agent": "$undefined",
  "selling_agent2": "$undefined",
  "selling_agent3": "$undefined",
  "board": "V",
  "region": "Maple Ridge",
  "cdom": "$undefined",
  "property_style": "Ground Level Unit",
  "processing_date": "$D2026-07-22T07:00:00.000Z",
  "class_code": 1,
  "lot_size": "$undefined",
  "condo_name": "Riverside",
  "popularity": "$undefined",
  "postal_code": "V2X 9Y3",
  "main_ffa": null,
  "above_main_ffa": null,
  "above_main2_ffa": null,
  "below_main_ffa": null,
  "basement_ffa": null,
  "total_ffa": null,
  "unfinished_ffa": null,
  "unit_number": "117",
  "house_age": 39,
  "photo_captions": [
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    ""
  ]
}
```

Each scraped property returns a comprehensive record with 60+ fields covering every aspect of the listing:

#### Essential Property Information

| Field | Description |
|---|---|
| `Image URL` | Primary property image URL |
| `Images` | Array of all property image URLs |
| `Price` | Listed sale price in CAD |
| `Address` | Full street address |
| `City` | City name (e.g., Maple Ridge, Burnaby) |
| `Province` | Province code (e.g., BC, AB, ON) |
| `Postal Code` | Canadian postal code |
| `Latitude` / `Longitude` | GPS coordinates for mapping |

#### Physical Structure Details

| Field | Description |
|---|---|
| `Bedrooms` | Number of bedrooms |
| `Bathrooms` | Number of bathrooms |
| `Square Feet` | Total livable square footage |
| `Square Feet Range` | Approximate range if exact footage unavailable |
| `Property Type` | Category (Single Family, Condo, Townhouse, etc.) |
| `Property Style` | Architectural style (e.g., Bungalow, Contemporary) |
| `Year Built` | Construction year |
| `House Age` | Calculated age of the property |
| `Levels` | Number of floors/stories |
| `Parking Spaces` | Number of parking spots included |
| `Lot Size` | Land area in sq ft or acres |
| `Total Finished Sq Ft` | Finished living space |
| `Unfinished Sq Ft` | Basement or unfinished areas |
| `Total FFA` | Total Finished Floor Area |

#### Construction & Condition

| Field | Description |
|---|---|
| `Construction Materials` | Building materials (wood frame, concrete, etc.) |
| `Foundation` | Foundation type (concrete, pier, etc.) |
| `Renovations` | Recent renovation information or year |
| `Fireplace` | Number of fireplaces or fireplace details |
| `Exposure` | Property exposure (N, S, E, W combinations) |

#### Detailed Descriptions

| Field | Description |
|---|---|
| `Description` | Full property description and highlights |
| `Features` | List of key features (updated appliances, hardwood floors, etc.) |
| `Room Details` | Breakdown of room types and sizes |
| `More Details` | Additional property information |
| `Suite Description` | For multi-unit properties, suite-specific notes |

#### Financial Information

| Field | Description |
|---|---|
| `Maintenance Fee` | Monthly condo/strata maintenance fees (if applicable) |
| `Property Tax Info` | Annual property tax details |
| `Commission` | Real estate commission percentage or amount |
| `Strata Details` | Strata council and management information |
| `Ownership Interest` | Fractional or percentage ownership for multi-unit properties |

#### Listing & Agent Details

| Field | Description |
|---|---|
| `Listing Agent` | Primary agent name and contact |
| `Listing Agent 2` / `Listing Agent 3` | Co-agents if applicable |
| `Selling Agent` | Agent representing buyer (if applicable) |
| `Selling Agent 2` / `Selling Agent 3` | Co-selling agents |
| `Listing Details` | Official MLS listing information |
| `Board` | Real Estate Board name |
| `Region` | MLS region or zone |

#### Market & Administrative Data

| Field | Description |
|---|---|
| `Status` | Listing status (Active, Sold, Pending, Expired, etc.) |
| `CDOM` | Cumulative Days on Market |
| `Processing Date` | Date the listing was processed |
| `Class Code` | Property classification code |
| `MLS Number` | Unique MLS identifier embedded in URL or data |
| `Popularity` | Viewer engagement metrics if available |
| `Condo Name` | Development or complex name for condos |
| `Main FFA`, `Above Main FFA`, `Below Main FFA` | Floor-specific finished areas |

#### URLs & Resources

| Field | Description |
|---|---|
| `Realtor URL` | Link to realtor's profile or website |
| `Brochure URL` | PDF brochure or virtual tour link |
| `Boundary` | Property boundary coordinates or shape data |

***

### How to Use

1. **Gather property URLs** — Navigate to Zealty.ca, find the properties you want to track, and copy their full URLs from individual listing pages.
2. **Prepare your input** — Paste URLs into the `urls` array. For batch operations, include multiple URLs.
3. **Set parameters** — Leave `max_items_per_url` at `200` for complete data extraction. Enable `ignore_url_failures: true` for uninterrupted batch runs.
4. **Run the scraper** — Start the actor and monitor the execution log in real-time.
5. **Download and analyze** — Export results as JSON, CSV, or Excel for further analysis, portfolio tracking, or database import.

**Best practices:**

- Verify URLs point to individual property pages, not search results.
- For large-scale scraping, enable `ignore_url_failures` to handle occasional timeouts gracefully.
- Use filters on Zealty before scraping to focus on relevant properties (e.g., price range, location).

***

### Use Cases & Business Value

- **Investment analysis:** Compare properties across regions using comprehensive pricing and financial metrics
- **Market research:** Track supply, demand, and price trends in Canadian real estate
- **Competitive intelligence:** Monitor agent performance and listing strategies
- **Property portfolio management:** Maintain updated records of tracked properties with automated data collection
- **Real estate platforms:** Feed structured data into aggregators, pricing tools, or customer apps
- **Lending & appraisal:** Support valuation reports with comparable property data

The Zealty Property Details Scraper eliminates hours of manual data entry, enabling data-driven decision-making across the real estate industry.

***

### Conclusion

The **Zealty Property Details Scraper** transforms raw real estate listings into actionable intelligence. With 60+ fields capturing every detail from pricing to agent contacts, it's the fastest way to build comprehensive property datasets. Whether you're an investor, researcher, or tech builder, this scraper delivers the structured data you need to compete and succeed in Canada's real estate market.

# 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.zealty.ca/property/bc/maple-ridge/117-11510-225-street-mls_r3149232#mortgage-calculator",
    "https://www.zealty.ca/property/bc/maple-ridge/117-11510-225-street-mls_r3149232",
    "https://www.zealty.ca/property/bc/burnaby/2106-5899-wilson-avenue-mls_r3149223",
    "https://www.zealty.ca/property/bc/richmond/1506-6655-buswell-street-mls_r3149222",
    "https://www.zealty.ca/property/bc/maple-ridge/12650-261-street-mls_r3149217"
  ],
  "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.zealty.ca/property/bc/maple-ridge/117-11510-225-street-mls_r3149232#mortgage-calculator",
        "https://www.zealty.ca/property/bc/maple-ridge/117-11510-225-street-mls_r3149232",
        "https://www.zealty.ca/property/bc/burnaby/2106-5899-wilson-avenue-mls_r3149223",
        "https://www.zealty.ca/property/bc/richmond/1506-6655-buswell-street-mls_r3149222",
        "https://www.zealty.ca/property/bc/maple-ridge/12650-261-street-mls_r3149217"
    ],
    "ignore_url_failures": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/zealty-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.zealty.ca/property/bc/maple-ridge/117-11510-225-street-mls_r3149232#mortgage-calculator",
        "https://www.zealty.ca/property/bc/maple-ridge/117-11510-225-street-mls_r3149232",
        "https://www.zealty.ca/property/bc/burnaby/2106-5899-wilson-avenue-mls_r3149223",
        "https://www.zealty.ca/property/bc/richmond/1506-6655-buswell-street-mls_r3149222",
        "https://www.zealty.ca/property/bc/maple-ridge/12650-261-street-mls_r3149217",
    ],
    "ignore_url_failures": True,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/zealty-property-details-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 '{
  "urls": [
    "https://www.zealty.ca/property/bc/maple-ridge/117-11510-225-street-mls_r3149232#mortgage-calculator",
    "https://www.zealty.ca/property/bc/maple-ridge/117-11510-225-street-mls_r3149232",
    "https://www.zealty.ca/property/bc/burnaby/2106-5899-wilson-avenue-mls_r3149223",
    "https://www.zealty.ca/property/bc/richmond/1506-6655-buswell-street-mls_r3149222",
    "https://www.zealty.ca/property/bc/maple-ridge/12650-261-street-mls_r3149217"
  ],
  "ignore_url_failures": true
}' |
apify call alexist/zealty-property-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,alexist/zealty-property-details-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/JQwNdEJ8R8vFUk2jc/builds/iuYKq6gHX9d4fNOpp/openapi.json
