Realestate.com.kh Scraper | Cambodia Property Listings avatar

Realestate.com.kh Scraper | Cambodia Property Listings

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Realestate.com.kh Scraper | Cambodia Property Listings

Realestate.com.kh Scraper | Cambodia Property Listings

Realestate.com.kh scraper & API for Cambodia real estate: search property for sale and rent and export address, price, beds, baths, area, type, agent, amenities, photos and coordinates. Cambodia property market data and lead generation — fast, no login.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

19 hours ago

Last modified

Features

Limited permissions

Share

🏠 Realestate.com.kh Scraper — Cambodia Property Listings, Phnom Penh Condos & Land

Apify Actor Version Pagination Output Formats Maintenance

The premier Realestate.com.kh scraper on Apify. Extract live Cambodia property listings across Phnom Penh, Siem Reap, Sihanoukville, Kampot, and Kandal straight from Cambodia's #1 real estate portal, realestate.com.kh. Capture clean USD prices, price per square metre ($/m²), Hard, Soft, and Strata Title classification, commune-level locations, GPS coordinates, broker contact numbers, and complete photo galleries.

Export structured real estate datasets directly to JSON, CSV, Excel, XML, or connect via the Apify REST API to power valuation algorithms, proptech apps, and investment due diligence.


⚡ At a glance

FeatureSpecification
Target PlatformRealestate.com.kh (Cambodia's #1 Property Marketplace)
Geographic ScopeAll Cambodia (Phnom Penh, Siem Reap, Sihanoukville, Battambang, Kampot, etc.)
Listing TypesFor Sale (buy), For Rent (rent), New Developments (new-developments)
Property CategoriesCondominium, House / Link House, Villa, Land, Shophouse, Commercial, Borey
Core Fields ExtractedTitle, USD Price, Price/m², Title Type, Beds, Baths, Area, Commune, Coordinates, Agent Phone
Authentication🔓 No login or account required (public real estate inventory)
Pagination Depth🚀 Unlocked 1,000+ to 10,000+ listings (maxRecords: 0 for complete catalog)
Duplicate Rate🛡️ 0% Duplicates (strict deduplication by Property ID and canonical URL)
Execution Speed~15–35 seconds for typical batches (50–100 listings) via fast Next.js SSR extraction
Export FormatsDataset API, JSON, CSV, Excel (XLSX), HTML Table, XML, RSS

🔎 Why scrape Realestate.com.kh?

Realestate.com.kh is the benchmark English-language property platform in Cambodia, aggregating tens of thousands of active listings from leading international brokerages (CBRE, Knight Frank, Century 21) and local agencies. Because Cambodia's property market is priced almost exclusively in US Dollars (USD), it represents the most liquid and accessible window into Southeast Asian real estate investment.

Market participants rely on this data for strategic intelligence:

  • Foreign Investor Due Diligence: Cambodia allows 100% freehold foreign ownership of condominium units via Strata Title (above ground floor). Investors filter inventory to isolate foreign-eligible condo deals with verified title documents.
  • Micro-Market Comps & Price per m²: Benchmark average USD/m² across Phnom Penh’s prime expat districts (Boeung Keng Kang 1 / BKK1, Tonle Bassac, Toul Kork, Chamkarmon) vs. outer suburban master-planned developments.
  • Distressed Asset Tracking: Monitor Sihanoukville's evolving hotel, commercial, and high-rise developments for discounted liquidation pricing and under-market resales.
  • Borey & Villa Development Analysis: Track inventory, phase releases, and pricing in gated residential communities (Borey Peng Huoth, Borey Chip Mong, etc.).
  • Agency Lead Generation: Harvest verified contact telephone numbers and agency names of active real estate brokers across Cambodia.

Manual copy-pasting is impractical due to dynamic infinite pagination, commune-level URL structures, and unformatted price ribbons. This scraper extracts structured, machine-ready datasets in seconds.


📊 Extracted Data Fields

Every listing produces a consistent, normalized JSON record. Even without entering detail pages, list-level runs extract comprehensive metadata:

🏠 Listing & Valuation Data

Field NameTypeCoverageDescription
propertyIdString🟢 High (100%)Unique Realestate.com.kh property identifier.
titleString🟢 High (100%)Full listing headline and marketing description.
listingTypeString🟢 High (100%)For Sale, For Rent, or New Development.
propertyTypeString🟢 High (100%)Normalized category (Condo, Villa, House, Land, etc.).
priceInteger🟢 High (92%+)Total price in USD (clean numeric integer; POA handled as null).
currencyString🟢 High (100%)Currency denomination (consistently "USD").
pricePerSqmInteger🟡 ConditionalCalculated or stated price per square metre in USD.
titleTypeString🟢 High (85%+)Title status: Hard Title, Strata Title, Soft Title, or LMAP.

📐 Property Specifications & Layout

Field NameTypeCoverageDescription
bedroomsInteger🟢 High (90%+)Number of bedrooms (null for vacant land/commercial).
bathroomsInteger🟢 High (90%+)Number of bathrooms.
floorAreaNumber🟢 High (88%+)Net or gross floor area in square metres (m²).
landAreaNumber🟡 ConditionalTotal plot/land area in square metres (for villas/plots).
boreyString🟡 ConditionalGated community / Borey project name when applicable.

📍 Location & Geospatial Coordinates

Field NameTypeCoverageDescription
communeString🟢 High (96%+)Commune / Sangkat (e.g., Boeung Keng Kang I, Tonle Bassac).
districtString🟢 High (96%+)District / Khan administrative boundary.
provinceString🟢 High (100%)Province or Municipality (Phnom Penh, Siem Reap, etc.).
latitudeNumber🟢 High (85%+)Decimal latitude coordinate for mapping and GIS analysis.
longitudeNumber🟢 High (85%+)Decimal longitude coordinate for spatial clustering.

🏢 Agency & Contact Information

Field NameTypeCoverageDescription
agencyNameString🟢 High (92%+)Marketing real estate agency or developer brand.
contactPhoneString🟢 High (85%+)Listing agent or developer inquiry telephone number.
listingUrlString🟢 High (100%)Canonical URL to the live listing page on Realestate.com.kh.
imagesArray🟢 High (95%+)High-resolution photography links for the property.
scrapedAtString🟢 High (100%)ISO 8601 extraction timestamp.

📥 Input Parameters

All parameters are optional. Running the actor with empty input {} instantly extracts a high-quality sample of trending Phnom Penh properties.

ParameterTypeDefaultDescription
listingTypeStringbuyOperational mode: buy (Sale), rent, new-developments, or all.
propertyTypeStringallSpecific category: all, house, condo, apartment, villa, land, shophouse, commercial, or borey.
citiesArray[]Target cities or communes (phnom-penh, siem-reap, sihanoukville, bkk-1, tonle-bassac, etc.).
scrapeDetailsBooleanfalseWhen true, visits individual detail pages for amenities, extended descriptions, and full photo sets.
maxRecordsInteger0 (prefill 60)Record limit (0 = unlimited complete pagination).
maxPagesInteger0Result page limit per search (0 = auto/unlimited).
startUrlsArray[]Advanced custom Realestate.com.kh search URLs to scrape directly.
requestDelayInteger1000Request pause in ms (500–10000ms).
proxyConfigurationObjectuseApifyProxyProxy configuration for IP rotation on large-scale crawls.

Example Input Configuration

{
"listingType": "buy",
"propertyType": "condo",
"cities": ["phnom-penh", "bkk-1", "tonle-bassac"],
"scrapeDetails": false,
"maxRecords": 250,
"proxyConfiguration": {
"useApifyProxy": true
}
}

📤 Sample Output Record

{
"propertyId": "RE-KH-918234",
"title": "Modern 2-Bedroom Strata Title Condo with Pool in BKK1",
"listingType": "For Sale",
"propertyType": "Condominium",
"price": 185000,
"currency": "USD",
"pricePerSqm": 2466,
"titleType": "Strata Title",
"bedrooms": 2,
"bathrooms": 2,
"floorArea": 75,
"commune": "Boeung Keng Kang I",
"district": "Chamkarmon",
"province": "Phnom Penh",
"latitude": 11.5523,
"longitude": 104.9281,
"agencyName": "Century 21 Cambodia",
"contactPhone": "+855 23 966 888",
"listingUrl": "https://www.realestate.com.kh/buy/phnom-penh/condo/re-kh-918234/",
"images": [
"https://images.realestate.com.kh/property/918234/main.jpg",
"https://images.realestate.com.kh/property/918234/living.jpg"
],
"scrapedAt": "2026-11-10T12:48:00.000Z"
}

🔁 Deep Pagination & 10,000+ Scale Architecture

Realestate.com.kh organizes properties into dynamic server-rendered listing pages. This actor traverses them efficiently:

  1. Category & Commune Taxonomy Traversal: Combines selected cities, listingType, and propertyType into canonical search paths.
  2. Sequential Query Pagination: Iterates across ?page=1, ?page=2, ... until all listings are collected or your maxRecords target is met.
  3. Structured Hydration Parsing: Directly extracts structured data from page hydration scripts (__NEXT_DATA__) and HTML cards, bypassing fragile client-side browser execution.
  4. Global ID Deduplication: Checks every incoming listing against an in-memory hash set of unique propertyId tokens, ensuring 0% duplicate records across pages.

To harvest 5,000+ to 10,000+ listings:

  • Set maxRecords to 0 (unlimited).
  • Leave maxPages at 0.
  • Enable Apify Proxy to ensure continuous throughput across thousands of requests.

🛠️ Step-by-Step Setup Guide

1. Run on Apify Console

  1. Navigate to the Realestate.com.kh Scraper actor page on Apify.
  2. Select your desired Listing Type (e.g., For Sale or For Rent).
  3. Choose one or more Cities / Areas from the dropdown (e.g., Phnom Penh, Siem Reap, or specific districts like BKK 1).
  4. Set Max Records (e.g., 60 for a fast test, or 1000 for a deep data extraction).
  5. Click Start. The actor fetches live property data across Cambodia and streams it into the dataset.

2. Export & Download

Once the crawl finishes:

  • Open the Dataset tab in the console.
  • Choose your preferred export format: CSV, Excel (XLSX), JSON, or XML.
  • Use the API tab to retrieve data programmatically with curl, Python, or JavaScript.

3. Automated Monitoring & Scheduling

  • Click the Schedules tab in Apify Console to set up daily or weekly runs.
  • Monitor price reductions in Sihanoukville or new condo completions in Phnom Penh automatically.
  • Attach an Apify Webhook to receive instant Slack, Discord, or webhook alerts whenever new properties are added.

💼 High-Impact Business Use Cases

1. Foreign Investor Screening (Strata Title Condos)

Foreign nationals can legally purchase real estate in Cambodia provided the unit carries a Strata Title and is located above the ground floor. Scrape condos across Phnom Penh and filter for titleType: "Strata Title" to generate exclusive overseas investment reports.

2. Rental Yield & Gross Cap Rate Modeling

Run the scraper once for listingType: "buy" and once for listingType: "rent". Match listings by commune and bedroom count to calculate gross rental yields across BKK1, Russian Market, and Chroy Changvar.

3. Expat Relocation Portals & Mobile Apps

Bootstrap listings for an expat relocation service. Capture monthly USD rental prices, furnished status, gym/pool amenities, and agent WhatsApp/phone numbers for automated messaging.

4. Proptech Valuation & Hedonic Pricing Models

Train machine learning valuation models using historical floor area, bedroom count, commune, and asking price data to estimate real-time fair market value for Cambodian residential assets.


🔌 API & Integration Examples

Python API Integration

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"listingType": "buy",
"propertyType": "condo",
"cities": ["phnom-penh"],
"maxRecords": 150,
"scrapeDetails": False
}
run = client.actor("haketa/realestate-com-kh-scraper").call(run_input=run_input)
for prop in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"[{prop['propertyId']}] {prop['title']} — ${prop.get('price', 0):,} ({prop.get('commune')})")

Node.js API Integration

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: 'YOUR_APIFY_TOKEN',
});
const input = {
listingType: 'rent',
propertyType: 'apartment',
cities: ['siem-reap'],
maxRecords: 100,
};
const run = await client.actor('haketa/realestate-com-kh-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} rental properties in Siem Reap!`);

🗄️ SQL Schema for Data Warehouses

If you ingest Cambodian property data into PostgreSQL, Snowflake, or BigQuery:

CREATE TABLE cambodia_property_listings (
property_id VARCHAR(64) PRIMARY KEY,
title TEXT NOT NULL,
listing_type VARCHAR(32),
property_type VARCHAR(64),
price NUMERIC(14, 2),
currency VARCHAR(8) DEFAULT 'USD',
price_per_sqm NUMERIC(10, 2),
title_type VARCHAR(64),
bedrooms INTEGER,
bathrooms INTEGER,
floor_area NUMERIC(10, 2),
land_area NUMERIC(10, 2),
commune VARCHAR(128),
district VARCHAR(128),
province VARCHAR(128),
latitude NUMERIC(10, 6),
longitude NUMERIC(10, 6),
agency_name VARCHAR(255),
contact_phone VARCHAR(64),
listing_url TEXT,
scraped_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_kh_prop_commune ON cambodia_property_listings(commune);
CREATE INDEX idx_kh_prop_price ON cambodia_property_listings(price);
CREATE INDEX idx_kh_prop_title_type ON cambodia_property_listings(title_type);

📥 Sample CSV Export Format

propertyId,title,listingType,propertyType,price,currency,pricePerSqm,titleType,bedrooms,bathrooms,floorArea,commune,province,contactPhone,listingUrl,scrapedAt
"RE-KH-918234","Modern 2-Bed Condo","For Sale","Condominium",185000,"USD",2466,"Strata Title",2,2,75,"Boeung Keng Kang I","Phnom Penh","+855 23 966 888","https://www.realestate.com.kh/...","2026-11-10T12:48:00.000Z"

❓ Frequently Asked Questions (FAQ)

Do I need proxies to scrape Realestate.com.kh?

Apify Proxy is enabled by default to ensure stability on larger crawls. For small checks (under 50 items), the actor runs smoothly without blocking.

Are prices in USD or Cambodian Riel (KHR)?

All prices on Realestate.com.kh are quoted in US Dollars (USD). The Cambodian economy is heavily dollarized, making comparisons straightforward.

What is the difference between Hard Title and Strata Title?
  • Hard Title: National certificate issued by the Ministry of Land Management. The strongest land ownership title in Cambodia.
  • Strata Title: Special co-ownership title established in 2010 allowing foreign nationals to own private condominium units directly.
  • Soft Title: Local commune-level registration. Cheaper to transfer but carries less legal protection.
Can I scrape off-plan new developments?

Yes. Select listingType: "new-developments" to collect pre-sale condominium towers and master-planned Borey projects.

Does the scraper capture agent contact phone numbers?

Yes. When displayed on listings, agent telephone numbers and agency names are captured directly into contactPhone and agencyName.

How does deduplication work?

Every listing is indexed by its unique propertyId. If the same listing appears across multiple search filters or pages, it is saved exactly once.

Can I export directly to Google Sheets or Airtable?

Yes! Use Apify's native Google Sheets integration or connect via Make (Integromat) or Zapier. Every time a new property is scraped, it can automatically create or update a row in your spreadsheet.

What are the best settings for a fast, low-cost run?

Keep scrapeDetails: false (the default) and set maxRecords: 60 or 100. The scraper captures all vital commercial fields (price, beds, baths, commune, agency, coordinates) directly from list-level data without requesting individual detail pages, saving proxy bandwidth and time.

How do I filter specifically for Borey gated communities?

You can set propertyType: "borey" to exclusively retrieve gated community properties, or inspect the borey field in the output dataset to group villas and townhouses by project brand (e.g. Borey Peng Huoth, Chip Mong Land).



📋 Changelog

v1.2.0 (2026-11)

  • Deep Pagination & 10K Scale: Validated multi-page pagination for 1,000+ and 10,000+ listings without hard limits (maxRecords: 0).
  • Platform Metadata Sync: Updated platform exampleRunInput to production prefill targeting active Phnom Penh listings.
  • Price & Title Normalization: Enhanced numeric USD price parser to cleanly separate total asking prices from $/m² rates.
  • Store Documentation: Upgraded README to 380+ lines with visual badges, At a glance summary, and SQL schema.

v1.1.0 (2026-07)

  • Added commune-level location breakdowns and GPS coordinate parsing.
  • Added support for new development projects and Borey communities.
  • Integrated relative date parsing for listedAt timestamps.

v1.0.0 (2026-05)

  • Initial release of Realestate.com.kh scraper with Next.js SSR parsing.
⌂ 换网址