Realestate.com.kh Scraper - Cambodia Property Listings avatar

Realestate.com.kh Scraper - Cambodia Property Listings

Pricing

from $1.32 / 1,000 property searches

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

Realestate.com.kh Scraper - Cambodia Property Listings

Scrape realestate.com.kh, Cambodia's top property portal: USD price, rent, size, bedrooms, title type and GPS for Phnom Penh, Siem Reap and Sihanoukville.

Pricing

from $1.32 / 1,000 property searches

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

11 hours ago

Last modified

Share

Realestate.com.kh Scraper - Cambodia Property Listings 🇰🇭

SIÁN Agency Store FazWaz Thailand PropertyGuru Batdongsan Vietnam

🎉 About 46,000 live Cambodian property listings in US dollars, past the site's 1,000-result limit, from $1.50 per 1,000

Built for Phnom Penh agents, investors, developers, relocation firms and anyone pricing property in Cambodia


🔎 What is the Realestate.com.kh Property Scraper — and when should you use it?

The Realestate.com.kh Property Scraper turns public realestate.com.kh property listings from anywhere in Cambodia into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

Use it when you need: Cambodian rental and sale listings as rows: condos, apartments, serviced apartments, houses, villas, shophouses, land, offices and warehouses. Every search row carries the sale price and monthly rent in US dollars as numbers, price per m², bedrooms, bathrooms, floor and land area, the commune, district and province, a map point and the agency. Open each listing in full and you also get the advertiser's description, the title type, completion year, amenities, views and every photo.

Use something else when: you want property elsewhere in Southeast Asia. Use FazWaz Thailand Scraper for Thai sale and rent listings. Use PropertyGuru Scraper for Singapore, Malaysia and Thailand. Use Batdongsan Scraper for Vietnamese property listings. This actor reads realestate.com.kh only, for live listings. Sold prices are not returned, and private owners' names and phone numbers are never collected.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/realestate-kh-property-scraper

Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want Cambodian property listings with US-dollar prices and rents from realestate.com.kh using the Apify Actor `sian.agency/realestate-kh-property-scraper`.
Use it when I need: Cambodian rental and sale listings as rows: condos, apartments, serviced apartments, houses, villas, shophouses, land, offices and warehouses. Every search row carries the sale price and monthly rent in US dollars as numbers, price per m², bedrooms, bathrooms, floor and land area, the commune, district and province, a map point and the agency. Open each listing in full and you also get the advertiser's description, the title type, completion year, amenities, views and every photo.
Don't use it when: you want property elsewhere in Southeast Asia — use fazwaz-property-scraper or propertyguru-property-scraper or batdongsan-property-scraper instead.
How to call it: set `listingType` (`rent` or `sale`), `propertyType` (`residential`, `apartment`, `serviced-apartment`, `house`, `villa`, `shophouse`, `flat`, `land`, `commercial`, `offices`, `warehouse`, `building`, `business`) and `location` (a commune such as `bkk-1`, a Phnom Penh district such as `toul-kork`, a province such as `siem-reap`, or `all-cambodia`). `minPrice` and `maxPrice` set a range in US dollars, `minBedrooms` a floor. Set `maxResults` above 1000 to collect a whole district. `includeDetails` opens each listing for the description, title type, amenities and every photo, for an extra charge per listing. For a place not in the list, pass its results address in `searchUrls`. To expand listings you already have, set `operation` to `detail` and pass `listingUrls`.
Start with this input:
{
"operation": "search",
"listingType": "rent",
"propertyType": "apartment",
"location": "bkk-1",
"maxPrice": 1500,
"minBedrooms": "2",
"maxResults": 200
}
Ask me which commune, district or province to cover, which property type, and whether it is for rent or for sale, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • List 2-bedroom condos for rent in BKK 1 under $1,500 a month and give me the median rent per m².
  • Compare asking prices and monthly rents for condos in Toul Kork and Chroy Changvar and estimate the gross rental yield.
  • Find hard-title land for sale in Siem Reap with its price per m² and land area.

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/realestate-kh-property-scraper.md.

📋 Overview

Realestate.com.kh is Cambodia's number-one property portal. This Actor reads its public results and listing pages and returns every listing as a flat row: condos in BKK 1, villas in Chroy Changvar, shophouses in Sen Sok, land in Siem Reap.

What you get:

  • ✅ The numbers a Cambodian valuation needs: sale price and monthly rent in US dollars, price per m², bedrooms, bathrooms, floor and land area, floor level, as typed numbers.
  • ✂️ Whole districts in one run. The site stops every search at 1,000 results. This Actor splits a bigger search into price bands and merges them without duplicates, so all 6,000 BKK 1 rentals are within reach.
  • 🎯 Filters checked on every row. Sale-only listings that slip into rent searches, and off-type featured cards, are skipped and never charged.
  • 📍 Commune, district and province as separate columns, plus the site's own GPS point on every row.
  • 💰 $1.50 per 1,000 properties, charged per delivered row and never for a row that failed.
  • 📜 Title type on the full listing: hard, soft or strata title (or a long-term lease), which decides what a foreign buyer can own.

✨ Features

  • 🏢 Thirteen property types: apartments and condos, serviced apartments, houses, villas, shophouses, flats, land, offices, warehouses, whole buildings, businesses, plus all residential or all commercial in one go.
  • 🔑 Rent or sale: monthly rents and asking prices, both on one row when a listing is offered both ways.
  • 📍 31 places in the list: Phnom Penh as a whole, its districts and the expat communes (BKK 1, Tonle Bassac, Toul Tum Poung, Phsar Chas), Siem Reap, Sihanoukville, Kampot, Kep, Kandal and Battambang.
  • 💵 Price and bedroom filters that the site applies and the Actor checks again on each row.
  • 🏗️ Project and borey names on units in new developments.
  • 🏢 Agency and agent contacts: agency name, office phone and page on every agency row; the agent's name and phone when the listing names one.
  • 📄 Full listing option: the advertiser's description, title type, agency reference, completion year, features, amenities, views and every photo.
  • 🔗 Paste any realestate.com.kh search link, in English, Khmer, Chinese or any language the site offers. Fields come back in English.
  • 📦 About 50 flat fields, ready for CSV, Excel, JSON or the API.

🎬 Quick Start

Pick rent or sale, a property type and a place, then press Start. Rows land in the dataset as they are found. A run report goes to the key-value store with the counts and what they cost.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~realestate-kh-property-scraper/runs?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"operation":"search","listingType":"rent","propertyType":"apartment","location":"bkk-1","maxResults":100}'

🚀 Getting Started (3 Simple Steps)

Step 1: Choose what and where

Pick rent or sale, a property type and a place: Phnom Penh, a district like Toul Kork, a commune like BKK 1, or a province like Siem Reap.

Step 2: Narrow it

Add a price range in US dollars or a minimum number of bedrooms if you want one. Leave them empty to get everything.

Step 3: Press Start

Set how many properties to collect. Switch on "Open each listing in full" when you need the description, title type, amenities and every photo.

That's it. Within a minute you'll have:

  • Every matching property as a spreadsheet row
  • Price, size, bedrooms and commune on each one
  • A run report showing what was found, what failed and what it cost

📥 Input Configuration

FieldTypeRequiredDescription
operationstringNosearch (default) or detail
listingTypestringNorent (default) or sale
propertyTypestringNoresidential, apartment (default), serviced-apartment, house, villa, shophouse, flat, land, commercial, offices, warehouse, building, business
locationstringNophnom-penh (default), a district or commune such as bkk-1, toul-kork or sen-sok, a province such as siem-reap, or all-cambodia
minPrice / maxPriceintegerNoPrice range in US dollars; monthly rent for rentals
minBedroomsstringNo1 to 5: at least this many bedrooms
sortBystringNonewest (default), relevance, price-asc, price-desc
maxResultsintegerNoProperties to collect across the run (default 100, up to 20,000); Property Detail opens every listing you paste
includeDetailsbooleanNoAlso open every listing page (billed as Property Detail)
searchUrlsarrayNorealestate.com.kh results pages to use instead of the fields above
listingUrlsarrayDetail moderealestate.com.kh listing pages to open in full

Example: 2-bedroom condos for rent in BKK 1 between $500 and $1,500 a month

{
"operation": "search",
"listingType": "rent",
"propertyType": "apartment",
"location": "bkk-1",
"minPrice": 500,
"maxPrice": 1500,
"minBedrooms": "2",
"maxResults": 200
}

Example: open listings you already have

{
"operation": "detail",
"listingUrls": [
{ "url": "https://www.realestate.com.kh/rent/bkk-1/1-bed-1-bath-condo-262621/" },
{ "url": "https://www.realestate.com.kh/new-developments/vue-aston/2-bed-1-bath-condo-264555/" }
]
}

📤 Output

Results are saved to the Apify dataset with about 50 fields, including:

FieldTypeDescription
propertyTitlestringThe advertiser's headline
listingTypestringrent, sale or sale and rent
propertyCategorystringCondo, Apartment, Villa, Shophouse, Land, Office…
salePrice / rentPricenumberAsking price and monthly rent in USD; empty when the price is on application
salePricePerSqm / rentPricePerSqmnumberPrice per m² as the site shows it
bedrooms / bathroomsintegerRoom counts
floorAreaSqm / landAreaSqmnumberFloor and land area in m²
projectNamestringThe new development or borey a unit belongs to
commune / district / provincestringLocation split from the address
latitude / longitudenumberThe site's map point
sellerTypestringagency or private
agencyName / agencyPhonestringThe agency behind the listing (agency rows only)
listedAtstringWhen the listing was created
titleTypestringHard, soft or strata title, or a long-term leasehold (full listing)
descriptionText / amenities / imageUrlsstring / arrayThe advertiser's text, amenities and every photo (full listing)

Example (a real search row):

{
"mainImageUrl": "https://images.realestate.com.kh/__sized__/listings/original/2024-07/img_7858-thumbnail-1040x780-70.jpeg",
"listingId": 244635,
"propertyTitle": "1bedroom for rent sale at De Castle Royal",
"listingUrl": "https://www.realestate.com.kh/new-developments/de-castle-royal-condominium/1-bed-1-bath-condo-244635/",
"listingType": "sale and rent",
"propertyCategory": "Condo",
"salePrice": 125000,
"rentPrice": 700,
"priceText": "Sale $125,000 · Rent $700",
"currency": "USD",
"bedrooms": 1,
"bathrooms": 1,
"floorAreaSqm": 76,
"floorLevel": 8,
"projectName": "De Castle Royal Condominium",
"commune": "BKK 1",
"district": "Boeng Keng Kang",
"province": "Phnom Penh",
"latitude": 11.538952035522229,
"longitude": 104.92166256295803,
"sellerType": "agency",
"agencyName": "Elyza&Hellen-REAKH",
"agencyPhone": "+855 99 343 811",
"agentName": "Elyza Hen",
"adTier": "premium",
"badge": "Price Negotiable",
"highlights": ["Brand Developer", "Project Complete"],
"photoCount": 9,
"listedAt": "2024-07-29T13:28:41.413281+07:00",
"status": "success"
}

💼 Use Cases & Examples

1. Rent per m² by Phnom Penh commune

Relocation consultants and landlords compare rents across BKK 1, Toul Kork and Tonle Bassac. Input: apartments for rent in each commune, newest first. Output: monthly rent, floor area and commune on every row. Use: one pivot table gives the median rent per m² for each commune.

2. Rental yield for investors

Overseas buyers check whether a condo pays before they wire money. Input: the same district once for sale and once for rent. Output: asking prices and monthly rents, with listings offered both ways carrying both on one row. Use: gross yield by commune and bedroom count.

3. Condo supply in new developments

Developers and analysts track how many units each project is still trying to sell. Input: apartments for sale in Phnom Penh, up to several thousand rows. Output: project names, bedrooms and asking prices per unit. Use: spot projects where supply is piling up and prices are being cut.

4. Agency lead lists

Proptech and service companies find the agencies with the most live stock. Input: all residential listings in a district. Output: agency name, office phone and page on every agency row. Use: rank agencies by live listings per district.

5. Expat rental market watch

HR and relocation teams budget housing allowances for staff moving to Phnom Penh. Input: serviced apartments and condos in BKK 1, Daun Penh and Tonle Bassac, run weekly on a schedule. Output: a dated feed of new listings with rents in US dollars. Use: a housing allowance grounded in what is actually on the market.

6. Land and title checks

Land buyers in Siem Reap, Kampot and Sihanoukville screen plots before visiting. Input: land for sale with the full listing switched on. Output: price, price per m², land area and title type. Use: shortlist hard-title plots at the right price per m².


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/realestate-kh-property-scraper').call({
listingType: 'rent',
propertyType: 'apartment',
location: 'bkk-1',
maxResults: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/realestate-kh-property-scraper').call(
run_input={'listingType': 'sale', 'propertyType': 'land', 'location': 'siem-reap', 'maxResults': 200}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['salePrice'], item.get('salePricePerSqm'), item['commune'])

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~realestate-kh-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"listingType":"rent","propertyType":"villa","location":"phnom-penh","maxResults":100}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: a schedule, for example every Monday morning
  2. HTTP Request: call the Actor API with your search
  3. Process: keep the rows newer than last week's run
  4. Action: write them to Google Sheets, Airtable or a CRM, or post a summary to Slack

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 properties per run, with every field and option
  • No credit card required
  • Enough to test a search before you scale it
  • Up to 20,000 properties per run, past the site's 1,000-result limit
  • $1.50 per 1,000 properties on the Bronze plan, less on higher plans
  • $3.00 per 1,000 full listings when you switch the full listing on
  • A small start fee per run ($0.005 on paid plans)
  • Only delivered rows are charged: cards that fail your filters, duplicates and errors cost nothing

A 100-property search finishes in well under a minute. Search rows arrive at roughly 300 a minute, so 5,000 rentals take about 15 minutes. Opening each listing in full is slower, about 30 a minute.

View current pricing


❓ Frequently Asked Questions

Q: Does it cover all of Cambodia? A: Yes. Pick Phnom Penh, one of its districts or communes, Siem Reap, Sihanoukville, Kampot, Kep, Kandal, Battambang or All of Cambodia. For another commune, open it on realestate.com.kh and paste the results address into Search page URLs.

Q: What currency are prices in? A: US dollars, exactly as the listing states. Rent is the monthly rent. A listing marked POA (price on application) returns an empty price, never a zero.

Q: Why can a row have both a sale price and a rent? A: Many Cambodian listings are offered for sale and for rent at once. The row carries both prices and Rent or sale reads "sale and rent". It shows up in rent searches and in sale searches.

Q: The site only shows 1,000 results. How do I get a whole district? A: Set Properties to collect above 1,000. The Actor splits the search into price bands, each under the site's limit, and merges them without duplicates.

Q: Do I get phone numbers? A: Agency listings carry the agency's office phone, and the agent's name and phone when the listing names one. Listings posted by private owners come back without the owner's name, phone or email, and contact details typed into their description are removed.

Q: What is the title type? A: A hard title is registered with the national cadastre and a soft title only with the local authority. A strata title covers a unit in a condo building, which is what foreigners can own. Some listings say long-term leasehold instead. The full listing carries it when the advertiser states it.

Q: What output formats are available? A: JSON, CSV, Excel, XML or HTML, straight from the Apify dataset, or over the API.


🐛 Troubleshooting

The run returned fewer properties than I asked for

  • The search may simply hold fewer listings. The run log prints how many the site has for your search.
  • Cards that failed your filters are skipped and listed in the log, and you are not charged for them.

"No listings match this search right now"

  • Widen the price range, clear the bedroom filter, or pick a larger place.

"realestate.com.kh has no results page at that address"

"realestate.com.kh would not serve this page"

  • This is a temporary refusal. Run it again in a few minutes. Nothing is charged for it.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Realestate.com.kh is a trademark of its respective owner. This Actor is not affiliated with, endorsed by, or sponsored by Realestate.com.kh.


🤝 Support

Join our active support community


Built by SIÁN Agency | More Tools