PropertyGuru Scraper avatar

PropertyGuru Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
PropertyGuru Scraper

PropertyGuru Scraper

Extract detailed real estate data from PropertyGuru, Southeast Asia's leading property portal. Scrape listings, prices, and market trends efficiently for your analysis. For seamless performance and reliability, residential proxies are highly recommended.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(2)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

60

Total users

7

Monthly active users

7 days ago

Last modified

Share

PropertyGuru Listings Scraper

Extract structured property listing data from PropertyGuru Malaysia and PropertyGuru Singapore in a fast, reliable format. Use Malaysia or Singapore PropertyGuru URLs to collect pricing, address context, room counts, tenure, agent metadata, image sets, and listing freshness at scale for research, monitoring, and analytics workflows.

Features

  • Malaysia and Singapore coverage — Collect listings from propertyguru.com.my and propertyguru.com.sg
  • Fast listing collection — Collect hundreds of records quickly with stable pagination support
  • Full listing coverage — Get pricing, specs, recency, codes, agent details, and project references
  • Residential proxy ready — Uses Apify residential proxies for smoother multi-page extraction and fewer block events
  • Multiple images per property — Export both a primary image and full image_urls arrays
  • Clean output quality — Duplicate and empty records are filtered before dataset export
  • Flexible start URLs — Use a root domain, a standard results page, or a filtered search URL

Use Cases

Market Research

Track asking prices, listing volume, and property mix across Malaysia or Singapore. Build weekly or monthly snapshots to monitor direction and momentum.

Investment Screening

Create comparable datasets to shortlist properties by price, size, and location context. Review listing freshness and agent information for faster lead qualification.

Lead Generation

Collect active listings and source URLs to power outreach workflows. Keep records structured for CRM imports and scoring.

Portfolio Monitoring

Watch listing changes around areas where you own or plan to buy. Use recurring runs to spot shifts in supply and pricing.

Real Estate Analytics

Feed BI dashboards with normalized listing data, image coverage metrics, and pagination-based crawl history for reporting.


Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoPropertyGuru Malaysia or PropertyGuru Singapore root URL, sale listings URL, property URL, or filtered search URL to start from
results_wantedIntegerNo20Maximum number of properties to collect
max_pagesIntegerNo10Maximum number of result pages to process
proxyConfigurationObjectNo{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}Recommended proxy settings. Residential proxies are strongly recommended to reduce blocking and improve multi-page reliability.

Output Data

Each dataset item can include:

FieldTypeDescription
listing_idIntegerUnique listing identifier
external_idStringExternal listing reference
titleStringListing title
urlStringListing detail URL
priceStringFormatted price text
price_valueNumberNumeric price value
currencyStringCurrency code
price_per_areaStringPrice per area text
locationStringAddress or area text
bedroomsStringBedroom count
bathroomsStringBathroom count
sizeStringProperty size text
property_typeStringProperty type
listing_type_codeStringListing type code from the source
tenureStringTenure type
tenure_codeStringRaw tenure code from the source
build_yearStringBuild year
listing_typeStringListing category
listing_statusStringListing status code
listed_byStringListing source label
is_verifiedBooleanVerification status
is_official_listingBooleanOfficial listing flag
is_developer_listingBooleanDeveloper listing flag
is_developer_unit_listingBooleanDeveloper unit flag
is_prioritizedBooleanPriority placement flag
posted_onStringPosted date text
recencyStringListing recency label
availabilityStringAvailability text when provided
descriptionStringListing description
image_urlStringPrimary image URL
image_urlsArrayAll available image URLs
image_countIntegerTotal image count detected
agent_nameStringAgent name
agent_companyStringAgency or company name
agent_idIntegerAgent identifier
agent_agency_idIntegerAgency identifier
agent_is_verifiedBooleanAgent verification flag
agent_profile_urlStringAgent profile URL
agent_licenseStringAgent license text
project_idIntegerRelated project identifier
property_type_groupStringHigh-level property group
project_type_codeStringProject type code
area_textStringArea name text
area_codeStringArea code
districtStringDistrict name
district_codeStringDistrict code
regionStringRegion name
region_codeStringRegion code
viewed_labelStringViewed label text
account_type_codeStringAccount type code
cross_listing_typeStringCross-listing type
listing_featuresArrayStructured feature blocks from the listing card
search_originStringSource PropertyGuru domain
search_urlStringSearch URL used for that record
search_pageIntegerResult page number where record was collected

Usage Examples

Quick Start

Use defaults and collect up to 20 properties. The schema already defaults the proxy to Apify residential proxies, which is the recommended setup for smooth runs.

{
"results_wanted": 20
}

Higher Volume Collection

Collect larger batches across more pages.

{
"results_wanted": 300,
"max_pages": 15
}

Custom Search URL

Start from a specific PropertyGuru Malaysia results page.

{
"startUrl": "https://www.propertyguru.com.my/property-for-sale?listingType=sale&isCommercial=false&locale=en&freetext=Kuala+Lumpur",
"results_wanted": 200,
"max_pages": 10
}

Singapore Root Domain Start

Start from a root PropertyGuru domain and let the actor normalize it to sale listings automatically.

{
"startUrl": "https://www.propertyguru.com.sg/",
"results_wanted": 40,
"max_pages": 2
}

Singapore Filtered Search URL

Start from a filtered PropertyGuru Singapore sale results URL.

{
"startUrl": "https://www.propertyguru.com.sg/property-for-sale?listingType=sale&market=residential&freetext=Jurong+East",
"results_wanted": 60,
"max_pages": 3
}

Sample Output

{
"listing_id": 501016902,
"external_id": "501016902",
"title": "Hillview Green",
"url": "https://www.propertyguru.com.sg/listing/for-sale-hillview-green-23177314",
"price": "S$ 2,580,000",
"price_value": 2580000,
"currency": "SGD",
"price_per_area": "S$ 1,724.60 psf",
"location": "67 Hume Avenue",
"bedrooms": "3",
"bathrooms": "3",
"size": "1496 sqft",
"property_type": "Condominium",
"listing_type_code": "SALE",
"property_type_group": "Residential",
"tenure": "999-year Leasehold",
"tenure_code": "L999",
"build_year": "1998",
"listing_type": "For Sale",
"listing_status": "ACT",
"listed_by": "Listed by",
"is_verified": false,
"is_official_listing": true,
"is_developer_listing": false,
"is_developer_unit_listing": false,
"is_prioritized": false,
"posted_on": "7 Jun 2026",
"recency": "Listed on Jun 07, 2026 (2m ago)",
"description": "Rare Ground floor unit at Hillview Green, corner",
"image_url": "https://sg1-cdn.pgimgs.com/listing/23177314/UPHO.150473566.V800/Hillview-Green-Clementi-Park-Upper-Bukit-Timah-Singapore.jpg",
"image_urls": [
"https://sg1-cdn.pgimgs.com/listing/23177314/UPHO.150473566.V800/Hillview-Green-Clementi-Park-Upper-Bukit-Timah-Singapore.jpg",
"https://sg1-cdn.pgimgs.com/listing/23177314/UPHO.124570156.V800/Hillview-Green-Clementi-Park-Upper-Bukit-Timah-Singapore.jpg"
],
"image_count": 17,
"agent_name": "Heng Heng",
"agent_id": 6414,
"agent_agency_id": 4618,
"agent_is_verified": false,
"agent_profile_url": "https://www.propertyguru.com.sg/agent/heng-heng-6414",
"agent_license": "R014221F",
"project_id": 367,
"district": "Clementi Park / Upper Bukit Timah",
"district_code": "D21",
"region": "Newton / Bt. Timah (D11, 21)",
"region_code": "C",
"viewed_label": "Viewed",
"account_type_code": "NORMAL",
"cross_listing_type": "ORIGINAL",
"listing_features": [
{
"id": "listing-card-v2-bedrooms",
"text": "3"
},
{
"id": "listing-card-v2-bathrooms",
"text": "3"
}
],
"search_origin": "https://www.propertyguru.com.sg",
"search_url": "https://www.propertyguru.com.sg/property-for-sale",
"search_page": 1
}

Tips for Best Results

Use Working Search URLs

  • Use a valid PropertyGuru Malaysia or PropertyGuru Singapore URL in startUrl
  • Root domains, property-for-sale pages, and filtered listing URLs are all supported
  • Prefer focused searches for cleaner datasets
  • Re-run periodically for fresh market snapshots

Tune Volume Controls

  • Start with results_wanted: 20 for quick validation
  • Increase max_pages for deeper coverage
  • Balance speed and volume based on your workflow

Keep Proxy Enabled

  • Keep useApifyProxy enabled for stable runs
  • Keep apifyProxyGroups set to ["RESIDENTIAL"] to reduce blocking on PropertyGuru
  • Use repeated scheduled runs for consistency
  • If a run returns fewer records than expected, rerun with the same input

Proxy Configuration

Recommended default:

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Residential proxies are the recommended default for this actor. PropertyGuru can block or throttle non-residential traffic, especially on longer or multi-page runs.


Integrations

Connect your data with:

  • Google Sheets — Share and analyze listing data with teams
  • Airtable — Build searchable listing databases
  • Slack — Send alerts from scheduled runs
  • Webhooks — Deliver records to custom systems
  • Make — Automate enrichment and routing workflows
  • Zapier — Trigger downstream actions from fresh datasets

Export Formats

  • JSON — For APIs and custom processing
  • CSV — For spreadsheet workflows
  • Excel — For reporting and presentations
  • XML — For legacy system integrations

Frequently Asked Questions

How many listings can this scraper collect?

It can collect large batches depending on available pages and your input limits. Use results_wanted and max_pages to control output size.

Do I need to provide startUrl?

No. If startUrl is not provided, the actor starts from a default PropertyGuru sale listings page. You can also pass a Malaysia or Singapore root domain, a property-for-sale URL, or another PropertyGuru listing/search URL and the actor will normalize it automatically.

Can I collect data from multiple pages?

Yes. The actor automatically processes multiple pages up to max_pages.

Which proxy setup should I use?

Use Apify Proxy with the RESIDENTIAL group. That is the recommended configuration in the input schema and is the most reliable option for avoiding blocking on PropertyGuru.

Why are some fields missing on certain records?

Some listings do not expose every field publicly. The actor saves all available fields and skips empty values.

Does output include multiple photos per property?

Yes. Use image_urls for full photo sets and image_count for total image volume.

Is duplicate data filtered?

Yes. Duplicate records are filtered by stable listing keys before export.

Can I automate daily runs?

Yes. Use Apify schedules and connect outputs to integrations such as webhooks, Make, or Zapier.

Is this suitable for commercial analytics?

Yes. Output is structured for market analysis, reporting, lead workflows, and BI pipelines.


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 ensuring compliance with PropertyGuru terms of service and applicable laws. Use data responsibly and respect rate limits.