Realestate.com.kh Scraper | Cambodia Property Listings
Pricing
from $2.50 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
0
Monthly active users
19 hours ago
Last modified
Categories
Features
Share
🏠 Realestate.com.kh Scraper — Cambodia Property Listings, Phnom Penh Condos & Land
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
| Feature | Specification |
|---|---|
| Target Platform | Realestate.com.kh (Cambodia's #1 Property Marketplace) |
| Geographic Scope | All Cambodia (Phnom Penh, Siem Reap, Sihanoukville, Battambang, Kampot, etc.) |
| Listing Types | For Sale (buy), For Rent (rent), New Developments (new-developments) |
| Property Categories | Condominium, House / Link House, Villa, Land, Shophouse, Commercial, Borey |
| Core Fields Extracted | Title, 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 Formats | Dataset 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 Name | Type | Coverage | Description |
|---|---|---|---|
propertyId | String | 🟢 High (100%) | Unique Realestate.com.kh property identifier. |
title | String | 🟢 High (100%) | Full listing headline and marketing description. |
listingType | String | 🟢 High (100%) | For Sale, For Rent, or New Development. |
propertyType | String | 🟢 High (100%) | Normalized category (Condo, Villa, House, Land, etc.). |
price | Integer | 🟢 High (92%+) | Total price in USD (clean numeric integer; POA handled as null). |
currency | String | 🟢 High (100%) | Currency denomination (consistently "USD"). |
pricePerSqm | Integer | 🟡 Conditional | Calculated or stated price per square metre in USD. |
titleType | String | 🟢 High (85%+) | Title status: Hard Title, Strata Title, Soft Title, or LMAP. |
📐 Property Specifications & Layout
| Field Name | Type | Coverage | Description |
|---|---|---|---|
bedrooms | Integer | 🟢 High (90%+) | Number of bedrooms (null for vacant land/commercial). |
bathrooms | Integer | 🟢 High (90%+) | Number of bathrooms. |
floorArea | Number | 🟢 High (88%+) | Net or gross floor area in square metres (m²). |
landArea | Number | 🟡 Conditional | Total plot/land area in square metres (for villas/plots). |
borey | String | 🟡 Conditional | Gated community / Borey project name when applicable. |
📍 Location & Geospatial Coordinates
| Field Name | Type | Coverage | Description |
|---|---|---|---|
commune | String | 🟢 High (96%+) | Commune / Sangkat (e.g., Boeung Keng Kang I, Tonle Bassac). |
district | String | 🟢 High (96%+) | District / Khan administrative boundary. |
province | String | 🟢 High (100%) | Province or Municipality (Phnom Penh, Siem Reap, etc.). |
latitude | Number | 🟢 High (85%+) | Decimal latitude coordinate for mapping and GIS analysis. |
longitude | Number | 🟢 High (85%+) | Decimal longitude coordinate for spatial clustering. |
🏢 Agency & Contact Information
| Field Name | Type | Coverage | Description |
|---|---|---|---|
agencyName | String | 🟢 High (92%+) | Marketing real estate agency or developer brand. |
contactPhone | String | 🟢 High (85%+) | Listing agent or developer inquiry telephone number. |
listingUrl | String | 🟢 High (100%) | Canonical URL to the live listing page on Realestate.com.kh. |
images | Array | 🟢 High (95%+) | High-resolution photography links for the property. |
scrapedAt | String | 🟢 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
listingType | String | buy | Operational mode: buy (Sale), rent, new-developments, or all. |
propertyType | String | all | Specific category: all, house, condo, apartment, villa, land, shophouse, commercial, or borey. |
cities | Array | [] | Target cities or communes (phnom-penh, siem-reap, sihanoukville, bkk-1, tonle-bassac, etc.). |
scrapeDetails | Boolean | false | When true, visits individual detail pages for amenities, extended descriptions, and full photo sets. |
maxRecords | Integer | 0 (prefill 60) | Record limit (0 = unlimited complete pagination). |
maxPages | Integer | 0 | Result page limit per search (0 = auto/unlimited). |
startUrls | Array | [] | Advanced custom Realestate.com.kh search URLs to scrape directly. |
requestDelay | Integer | 1000 | Request pause in ms (500–10000ms). |
proxyConfiguration | Object | useApifyProxy | Proxy 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:
- Category & Commune Taxonomy Traversal: Combines selected
cities,listingType, andpropertyTypeinto canonical search paths. - Sequential Query Pagination: Iterates across
?page=1,?page=2, ... until all listings are collected or yourmaxRecordstarget is met. - Structured Hydration Parsing: Directly extracts structured data from page hydration scripts (
__NEXT_DATA__) and HTML cards, bypassing fragile client-side browser execution. - Global ID Deduplication: Checks every incoming listing against an in-memory hash set of unique
propertyIdtokens, ensuring 0% duplicate records across pages.
To harvest 5,000+ to 10,000+ listings:
- Set
maxRecordsto0(unlimited). - Leave
maxPagesat0. - Enable Apify Proxy to ensure continuous throughput across thousands of requests.
🛠️ Step-by-Step Setup Guide
1. Run on Apify Console
- Navigate to the Realestate.com.kh Scraper actor page on Apify.
- Select your desired Listing Type (e.g.,
For SaleorFor Rent). - Choose one or more Cities / Areas from the dropdown (e.g.,
Phnom Penh,Siem Reap, or specific districts likeBKK 1). - Set Max Records (e.g.,
60for a fast test, or1000for a deep data extraction). - 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 ApifyClientclient = 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).
🔗 Related Real Estate Scrapers
- Lamudi Philippines Real Estate Scraper — Manila, Cebu, and Davao property listings.
- Chotot Vietnam Scraper — Real estate and classifieds in Vietnam.
- Zameen Pakistan Real Estate Scraper — Karachi, Lahore, and Islamabad properties.
- Domain.com.au Property Scraper — Australian residential real estate data.
- Realtor.ca Scraper — Canadian MLS property listings.
📋 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
exampleRunInputto 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
listedAttimestamps.
v1.0.0 (2026-05)
- Initial release of Realestate.com.kh scraper with Next.js SSR parsing.