Skip to Content
PlatformsAsia-PacificPropertyGuru MY

PropertyGuru Malaysia Data Parser & API

PropertyGuru Malaysia is the country’s #1 property portal — with 500K+ active listings and roughly 10x the traffic of #3 EdgeProp (East & SE Asia research report) — and PropAPIS extracts its resale, rental, new-launch and commercial listings through a single REST API. One integration also spans the wider PropertyGuru network (Singapore, Thailand’s DDproperty, Vietnam’s Batdongsan and Indonesia’s Rumah123).

CountryMalaysia
TypePortal
OwnerPropertyGuru Group
Listing typesresale, rental, new-build, commercial
Monthly visits#1 MY (~10x #3 EdgeProp)
Active listings500K+
API accessNo public API (parse-only)
Parse priority★★★★☆
Official sitewww.propertyguru.com.my

Platform Overview

Market Position

  • #1 property portal in Malaysia after acquiring iProperty.com.my from REA Group in 2021 — roughly 10x the traffic of #3 EdgeProp (per the East & SE Asia research report)
  • Part of PropertyGuru Group, the same corporate data model behind PropertyGuru SG, DDproperty TH, Batdongsan VN and Rumah123 ID
  • 500K+ active listings nationwide
  • Sister-brand iProperty.com.my (#2 MY) and Brickz.my transaction data sit in the same group

Market Coverage

Geographic Coverage:

  • Kuala Lumpur and Klang Valley
  • Penang, Johor Bahru and Iskandar
  • All states and federal territories

Property Types:

  • Condominiums and serviced apartments
  • Landed homes (terrace, semi-D, bungalow)
  • New launches / developer projects
  • Commercial properties

Data Availability

PropertyGuru Malaysia uses the group’s standardized residential schema — tenure, built-up area, price-per-square-foot, LRT/MRT proximity and project data — making its 500K+ listings consistent and structured for downstream analysis.

Listing Categories:

  • Buy: resale and subsale properties
  • Rent: long-term rentals
  • New Launches: developer projects
  • Commercial: offices, retail and industrial

Data Fields Available

PropAPIS extracts structured data from each PropertyGuru Malaysia listing:

Property Information

  • Address: area, building and project
  • Price: sale price or rent (MYR)
  • Bedrooms and Bathrooms
  • Property Type: condo, terrace, semi-D, bungalow, commercial
  • Area: built-up / land size (sq ft)
  • Tenure: freehold, leasehold

Listing Details

  • Description: full listing text
  • PSF: price per square foot
  • Photos: image URLs
  • Project: development / project name
  • Added Date

Agent Information

  • Agency: agency name
  • Agent: listing agent name
  • Agent Contact: phone where published

Location Data

  • State and District
  • LRT / MRT Proximity
  • City / Region
  • Coordinates: latitude and longitude

API Endpoints

Get Property Details

from propapis import PropAPIS api = PropAPIS(api_key='your_api_key') # Get a listing by URL or ID property_data = api.platforms.propertyguru_my.get_property( listing_id='12345678' ) print(f"Title: {property_data.title}") print(f"Price: RM{property_data.price:,}") print(f"Type: {property_data.property_type}") print(f"State: {property_data.state}") print(f"Tenure: {property_data.tenure}")

Search Listings

# Search PropertyGuru Malaysia listings listings = api.platforms.propertyguru_my.search( location='Kuala Lumpur', purpose='for-sale', min_price=500000, property_type='Condo' ) for listing in listings[:10]: print(f"{listing.title} - RM{listing.price:,}") print(f" {listing.bedrooms} bed | {listing.state}")

Search New Launches

# Search new developer projects projects = api.platforms.propertyguru_my.search( location='Johor Bahru', purpose='new-launch' ) for project in projects[:5]: print(f"{project.title} - from RM{project.price:,}")

Quick Start

from propapis import PropAPIS api = PropAPIS(api_key='your_api_key') # Search PropertyGuru Malaysia listings listings = api.platforms.propertyguru_my.search( location='Kuala Lumpur', purpose='for-sale' ) for listing in listings[:5]: print(f"{listing.title} - RM{listing.price:,}")
import { PropAPIS } from 'propapis'; const api = new PropAPIS({ apiKey: 'your_api_key' }); // Search PropertyGuru Malaysia listings const listings = await api.platforms.propertyguru_my.search({ location: 'Kuala Lumpur', purpose: 'for-sale', }); listings.slice(0, 5).forEach((l) => { console.log(`${l.title} - RM${l.price.toLocaleString()}`); });
curl "https://api.propapis.com/v1/platforms/propertyguru-my/search?location=Kuala+Lumpur&purpose=for-sale" \ -H "Authorization: Bearer your_api_key"

Frequently asked questions