iProperty Scraper avatar

iProperty Scraper

Pricing

Pay per usage

Go to Apify Store
iProperty Scraper

iProperty Scraper

Effortlessly scrape Malaysian property listings from iProperty. Extract real estate data, prices, locations, and details automatically. Ideal for market analysis, lead generation, and property research. Fast, reliable, and perfect for Malaysian real estate web scraping.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

iProperty Malaysia Property Scraper

Extract property listing data from iProperty Malaysia at scale. Collect structured property information such as price, location, bedrooms, bathrooms, agent details, and listing links. Built for market research, lead generation, and real-estate monitoring workflows.

Features

  • Property listings extraction — Collect listing data from iProperty Malaysia sale or rent result pages.
  • Pagination support — Traverse multiple result pages to gather larger datasets.
  • Rich property fields — Capture pricing, address, area, features, and agent information.
  • Dataset-ready output — Store clean records in Apify Dataset for export and automation.
  • Flexible filtering input — Control locale, listing type, result count, and page depth.

Use Cases

Real Estate Market Research

Track listing volume, pricing, and location patterns across different areas in Malaysia. Build repeatable market snapshots for trend analysis and investment decisions.

Lead Generation Pipelines

Collect listing URLs and agent details for outreach and sales prospecting. Feed qualified records into CRM, spreadsheet, or enrichment workflows.

Pricing Intelligence

Monitor price movements by area, property type, and listing segment. Compare pricing benchmarks over time for better valuation decisions.

Property Data Warehousing

Create structured datasets for dashboards, BI tools, and internal analytics systems. Standardized fields make downstream analysis faster and more reliable.


Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNohttps://www.iproperty.com.my/property-for-sale/iProperty listing search URL to scrape
listingTypeStringNosaleListing mode: sale or rent
localeStringNoenLocale parameter (en or ms)
isCommercialBooleanNofalseRequest commercial listings when available
results_wantedIntegerNo20Maximum number of listings to collect
max_pagesIntegerNo10Maximum number of pages to fetch
proxyConfigurationObjectNoApify ProxyProxy settings for improved reliability

Output Data

Each dataset item contains:

FieldTypeDescription
listing_idNumberiProperty listing ID
listing_urlStringFull URL of the property listing
localized_titleStringListing title text
full_addressStringProperty address/location string
priceNumberNumeric listing price
price_displayStringFormatted listing price
currencyStringCurrency code (for example MYR)
price_per_areaStringDisplayed price per area
bedroomsNumberNumber of bedrooms
bathroomsNumberNumber of bathrooms
floor_area_sqftNumberFloor area in sqft
land_area_textStringLand area display text
property_typeStringProperty type label
furnishingStringFurnishing status text
tenureStringTenure value
areaStringArea/neighborhood
districtStringDistrict
regionStringState/region
listing_typeStringListing type label
recency_textStringListing recency text
agent_nameStringAgent name
agent_profile_urlStringAgent profile URL
agent_licenseStringAgent license value
agency_nameStringAgency name
photo_countNumberNumber of listing photos
thumbnail_urlStringMain listing thumbnail image
source_pageNumberSearch results page number
search_rankNumberRank of the listing in collected output
scraped_atStringISO timestamp when scraped

Usage Examples

Basic Sale Listings

Collect the first 20 sale listings:

{
"startUrl": "https://www.iproperty.com.my/property-for-sale/",
"results_wanted": 20
}

Deeper Pagination

Collect up to 150 listings from more result pages:

{
"startUrl": "https://www.iproperty.com.my/property-for-sale/",
"listingType": "sale",
"results_wanted": 150,
"max_pages": 10
}

Rent Listings with Locale Switch

Collect rent listings in Bahasa Melayu locale:

{
"startUrl": "https://www.iproperty.com.my/property-for-rent/",
"listingType": "rent",
"locale": "ms",
"results_wanted": 50,
"max_pages": 5
}

Sample Output

{
"listing_id": 108405023,
"listing_url": "https://www.iproperty.com.my/property/sungai-buloh/sale-108405023/",
"localized_title": "Semi-Detached House For Sale",
"full_address": "Valencia, Sungai Buloh, Selangor",
"price": 2450000,
"price_display": "RM 2,450,000",
"currency": "MYR",
"bedrooms": 4,
"bathrooms": 5,
"property_type": "Semi-Detached House",
"area": "Valencia",
"district": "Sungai Buloh",
"region": "Selangor",
"agent_name": "Chanel Lee",
"agency_name": "IQI Realty Sdn. Bhd.",
"source_page": 1,
"search_rank": 1,
"scraped_at": "2026-02-20T10:00:00.000Z"
}

Tips for Best Results

Start with Smaller Runs

  • Use results_wanted between 20 and 50 for validation runs.
  • Increase gradually after confirming output quality.

Control Page Depth

  • Use max_pages as a safety guard for predictable run duration.
  • Increase max_pages only when you need wider coverage.

Tune by Use Case

  • Use listingType to separate sale and rent datasets.

Use Proxy for Stability

  • Keep proxyConfiguration enabled for more reliable data collection.
  • Residential proxy groups are recommended for consistency on larger runs.

Integrations

Connect your dataset with:

  • Google Sheets — Share and analyze listing data quickly.
  • Airtable — Build searchable property databases.
  • Make — Trigger automated property data workflows.
  • Zapier — Connect listing events with your business tools.
  • Webhooks — Push fresh data into custom endpoints.
  • Apify API — Programmatically consume datasets in your apps.

Export Formats

  • JSON — Best for APIs and custom applications.
  • CSV — Best for spreadsheet workflows.
  • Excel — Best for reporting and stakeholder sharing.
  • XML — Best for legacy or structured integrations.

Frequently Asked Questions

How many listings can I collect per run?

You can collect as many as available, controlled by results_wanted and max_pages.

Can I scrape both sale and rent listings?

Yes. Set listingType to sale or rent, and use the matching startUrl.

Why are some fields empty on certain records?

Some listings may not publish all attributes (for example furnishing or area details).

Can I start from page 2 or later?

By default, runs start from the first available results page.

Is proxy required?

Proxy is not always mandatory for small runs, but it is recommended for better stability and consistency.

Can I schedule this actor?

Yes. You can schedule recurring runs in Apify Console for ongoing monitoring.


Support

For issues or feature requests, contact support through the Apify Console.

Resources


This actor is designed for legitimate data collection purposes. Users are responsible for complying with website terms of service, local laws, and data usage regulations.