Rumah123 Scraper - Indonesia Property Listings & Prices
Pricing
from $2.20 / 1,000 property searches
Rumah123 Scraper - Indonesia Property Listings & Prices
Scrape Rumah123 listings across Indonesia: exact rupiah price, land and building size, bedrooms, GPS, photos, KPR installment and the listing agent. Sale and rent.
Pricing
from $2.20 / 1,000 property searches
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Rumah123 Scraper - Indonesia Property Listings & Prices 🚀
🎉 Every Rumah123 listing with the exact rupiah price, GPS and the agent named
For analysts pricing the Indonesian market, agencies sourcing stock, and investors watching Jakarta, Bandung and Surabaya by district
🔎 What is the Rumah123 Indonesia Property Scraper — and when should you use it?
The Rumah123 Indonesia Property Scraper turns public Rumah123 property adverts from across Indonesia 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: Indonesian sale and rental adverts as rows. Each row carries the exact rupiah price or the rent with its billing period, plus price per square metre, land and building area separately, bedrooms, floors, furnishing and land certificate. It also carries the KPR installment the portal computed, GPS coordinates, the photo set and the listing agent. Full details on top adds the untruncated advert text, the publication and last-edit dates and the agent profile link.
Use something else when: the property is not on Rumah123 or not in Indonesia. Use OLX Property Scraper for classifieds listings with seller contacts, for marketplaces that mix property with everything else. Use Apartments.com Scraper for US rental listings with rents, amenities and contact details. Use Immowelt Scraper for Germany, asking prices and landlord contacts from one of its two leading portals. This actor covers the public sale (jual) and rent (sewa) search sections of rumah123.com across the 12 property types the portal publishes — houses, apartments, land, shophouses, villas, kost rooms, hotels, warehouses, factories, offices, commercial space and the combined residential view. Sold-price history is not published by the portal and is out of scope, and so are the portal's new-development project pages.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/rumah123-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 property adverts and asking prices from Rumah123 using the Apify Actor `sian.agency/rumah123-property-scraper`.Use it when I need: Indonesian sale and rental adverts as rows. Each row carries the exact rupiah price or the rent with its billing period, plus price per square metre, land and building area separately, bedrooms, floors, furnishing and land certificate. It also carries the KPR installment the portal computed, GPS coordinates, the photo set and the listing agent. Full details on top adds the untruncated advert text, the publication and last-edit dates and the agent profile link.Don't use it when: the property is not on Rumah123 or not in Indonesia — use olx-property-scraper or apartments-com-property-scraper or immowelt-property-scraper instead.How to call it: give `locations` a list of cities from the picker (all five Jakarta halves, the Greater Jakarta ring, Bandung, Surabaya, Medan, Makassar, the Bali resorts — 45 metros verified for both sale and rent) and set `dealType` to `jual` for sale or `sewa` for rent. Add `propertyTypes` to pick houses, apartments, land and the rest; each type is searched separately, so naming types is how a wide run stays organised. Narrow with `minPrice` or `maxPrice` in rupiah — anything a filter excludes is never saved and never billed. `includeDetails` opens each listing for its full advert text, dates and the agent profile link, for an extra charge per listing. To expand listings you already have, set `operation` to `detail` and pass `listingUrls`; to reach a district page such as Kebayoran Baru, or one of the ~360 smaller cities outside the picker, paste its rumah123.com address into `searchUrls`.Start with this input:{"operation": "search","dealType": "jual","locations": ["jakarta-selatan"],"propertyTypes": ["rumah"],"maxResults": 100}Ask me which Indonesian cities to cover, whether they want sale or rental adverts, and whether the full advert text and agent profile link are worth the extra per-listing charge, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- Pull houses for sale in Jakarta Selatan under Rp 2 miliar with land size, price per square metre and GPS, and rank the districts.
- Compare rents for apartments in South Jakarta and Tangerang Selatan with the billing period on every row so monthly and yearly rates are normalisable.
- List land plots in Bogor with price per square metre and coordinates, ready for a development shortlist.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/rumah123-property-scraper.md.
📋 Overview
Rumah123 is where Indonesia's property market actually happens. About 1.5 million visits a month, roughly three times the national number two, and 1.6 million sale adverts on the site. This Actor reads it the way the portal publishes it and hands you the rows.
Why professionals choose us:
- ✅ Exact prices, not rounded strings: the card says "Rp 1,48 Miliar"; your row carries 1,480,000,000, with price per square metre already divided
- ⚡ 24 listings per request: one page fetch returns the complete record for every card, GPS included
- 🎯 Numbers a spreadsheet can use: land and building area separately, bedrooms, floors, certificate, electricity, KPR installment, rent with its period
- 💰 $2.50 per 1,000 listings: the price is on the box, and you are never charged for a row the run did not return
- 💎 Sale and rent in one Actor: one bill, one dataset, one schedule
- ✨ GPS on every priced row: coordinates come straight from the portal's own record, ready for mapping
✨ Features
- 🔍 Two operations in one Actor: search Rumah123's listing pages, or expand specific listings by URL
- 🇮🇩 45 metros in the picker: all five Jakarta halves, Tangerang, Bekasi, Depok, Bogor, Bandung, Surabaya, Medan, Makassar, the Bali resorts and the rest, each one verified in the portal's own sitemaps
- 🏠 All 12 property types: houses, apartments, land, shophouses, villas, kost rooms, hotels, warehouses, factories, offices, commercial space and the combined residential view
- 🤝 Sale and rent in the same Actor:
jualorsewa, with the rent period (monthly or yearly) reported on every rental row - 🗺️ District pages through pasted URLs: Kebayoran Baru, Bintaro, Kemang and the ~360 smaller cities outside the picker, by pasting their rumah123.com address
- 📄 Full details as a paid add-on: untruncated advert text, publication and last-edit dates, the complete photo set and the agent profile link
- 🧭 Coordinates on every row: latitude and longitude come from the portal's record, no geocoding step needed
- 🏦 KPR installment included: the portal's own monthly installment quote and tenor options, on the row
- ⭐ Promotion badges read from the card: when the portal promotes a listing as Premier, the row says so
- 🔗 Paste a URL instead: any Rumah123 search address works, including filtered searches you built on the site
🎬 Quick Start
Pick a city, pick sale or rent, press Start. The defaults return South Jakarta houses, so a run with no configuration at all still gives you real data. Everything below is optional narrowing.
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~rumah123-property-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation":"search","dealType":"jual","locations":["jakarta-selatan"],"maxResults":100}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose your cities
Pick one or more metros from the list. For a district or a smaller city, paste the portal address into Search URLs instead; the run reads the city, district and property type straight off it.
Step 2: Choose sale or rent, and the property types
jual for sale, sewa for rent. Leave the type list at rumah or add apartemen, tanah, ruko and the rest. Each type is searched separately, which keeps big cities organised.
Step 3: Press Start, then export
Watch the run log count the pages. When it finishes, download JSON, CSV or Excel from the dataset, or open the HTML report for a summary with the listing links already collected.
That's it! In under a minute, you'll have:
- Every matching listing with its exact price, areas, bedrooms, certificate and agent
- Price per square metre already calculated on each row
- A copy-ready list of listing links and GPS coordinates
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
operation | string | No | search (default) or detail |
locations | array | No | Rumah123 city slugs, e.g. jakarta-selatan, bandung — defaults to Jakarta Selatan |
dealType | string | No | jual for sale (default) or sewa for rent |
propertyTypes | array | No | Rumah123 property types; defaults to rumah |
maxResults | integer | No | Whole-run listing budget, default 100 |
includeDetails | boolean | No | Open each listing for the full advert text, dates and agent profile |
minPrice / maxPrice | integer | No | Price bounds in rupiah; 0 means no bound |
searchUrls | array | No | Rumah123 search addresses, including district pages |
listingUrls | array | No | Rumah123 listing addresses, for the detail operation |
Houses under Rp 2 miliar in South Jakarta:
{"operation": "search","dealType": "jual","locations": ["jakarta-selatan"],"propertyTypes": ["rumah"],"maxPrice": 2000000000,"maxResults": 500}
Rent and land in the same study, two runs:
{ "operation": "search", "dealType": "sewa", "locations": ["jakarta-selatan"], "propertyTypes": ["apartemen"], "maxResults": 300 }
{ "operation": "search", "dealType": "jual", "searchUrls": [{ "url": "https://www.rumah123.com/jual/bogor/tanah/" }], "maxResults": 300 }
Expand specific listings:
{"operation": "detail","listingUrls": [{ "url": "https://www.rumah123.com/properti/jakarta-selatan-jagakarsa/dijual-rumah-modern-classic-di-jagakarsa-jakarta-selatan-hos42135855/" }]}
📤 Output
Results are saved to the Apify dataset with 45+ fields, including:
| Field | Type | Description |
|---|---|---|
listingId | string | Rumah123 listing number, e.g. hos42135855 |
propertyTitle | string | The listing headline, in Indonesian |
url | string | Canonical listing address |
price | number | Exact rupiah asking price, or the rent over its period |
priceDisplay | string | The price as the card shows it, e.g. Rp 1,48 Miliar |
pricePeriod | string | For rentals: monthly, yearly or daily |
pricePerSqm | number | Price divided by land area, computed on every row |
landSize / buildingSize | number | Both areas, in square metres |
bedrooms / bathrooms / floors | number | The room counts the listing declares |
certification | string | Land certificate, e.g. SHM |
furnishing / condition / electricity | string | As the listing states them |
locationText / province / city / district | string | Where the property is |
latitude / longitude | number | GPS, from the portal's own record |
installment | string | The portal's KPR quote, e.g. Cicilan : Rp 6 Jutaan/bulan |
overview | array | Highlight badges, e.g. Bisa Nego, Bebas Banjir |
promotedAs | string | The card's promotion label, e.g. Premier |
agentName / agentType | string | The listing agent and their kind |
photos / photoCount | array, number | Photo URLs and how many there are |
descriptionText | string | The agent's full advert text (includeDetails) |
datePosted / dateModified | string | Posted and last-edited dates (includeDetails) |
Example:
{"listingId": "hos42135855","url": "https://www.rumah123.com/properti/jakarta-selatan-jagakarsa/dijual-rumah-modern-classic-di-jagakarsa-jakarta-selatan-hos42135855/","propertyTitle": "Dijual Rumah Modern Classic di Jagakarsa Jakarta Selatan","locationText": "Jagakarsa, Jakarta Selatan","city": "Jakarta Selatan","district": "Jagakarsa","dealType": "jual","price": 1480000000,"currency": "IDR","priceDisplay": "Rp 1,48 Miliar","pricePerSqm": 19733333,"landSize": 75,"buildingSize": 120,"bedrooms": 4,"bathrooms": 3,"certification": "SHM","latitude": -6.33406498,"longitude": 106.8222591,"installment": "Cicilan : Rp 6 Jutaan/bulan","photoCount": 12,"agentName": "Ahmad fauzan"}
💼 Use Cases & Examples
1. Indonesian asking-price index
An analyst measuring what a district really asks per square metre.
Input: one or more metros, the types you study, a high maxResults
Output: every listing with its exact price, land and building area, and price per square metre computed
Use: group by district and build the index no portal page gives you, with rupiah integers instead of "Miliar" strings
2. Rental yield screening
An investor comparing what a property costs against what it rents for.
Input: two runs on the same city, one jual and one sewa
Output: sale and rental rows sharing district and area, with each rent's period on the row
Use: normalise yearly villa rates and monthly house rates to the same month, then match on area for a gross-yield picture
3. Agent and agency lead generation
A proptech vendor mapping who holds the stock in a district.
Input: a metro or a pasted district address, full details switched on Output: every listing with the agent's name, role and profile link Use: group by agent, rank by listing count, and approach the ones that dominate your patch
4. Land and development sourcing
A developer shortlisting plots without driving out to look.
Input: propertyTypes: ["tanah"], a city or a pasted district address
Output: plots with exact land area, price per square metre and GPS coordinates
Use: shortlist by price per square metre and map the survivors the same afternoon
5. New listing monitoring
A buying agent who needs to see today's stock today.
Input: a saved search on a daily schedule Output: the current listings, each with the "Diperbarui" freshness text the card shows Use: keep the listing IDs you have seen and pay only for what appeared since yesterday
6. Mortgage-market research
A lender or analyst sizing what the listed market costs per month.
Input: any city sweep, sale adverts Output: the KPR installment the portal itself computed on every priced row Use: average it by district for a picture of financing cost without building a single model
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/rumah123-property-scraper').call({operation: 'search',dealType: 'jual',locations: ['jakarta-selatan'],propertyTypes: ['rumah'],maxResults: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].price, items[0].pricePerSqm, items[0].latitude);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("sian.agency/rumah123-property-scraper").call(input={"operation": "search","dealType": "sewa","locations": ["bandung"],"propertyTypes": ["rumah"],"maxResults": 200,})for item in client.dataset(run["defaultDatasetId"]).list_items().items:print(item["price"], item["pricePeriod"], item["city"])
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~rumah123-property-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation":"search","dealType":"jual","locations":["surabaya"],"propertyTypes":["rumah"],"maxResults":100}'
Automation Workflows (N8N / Zapier / Make)
This Actor is an HTTP API like any Apify Actor, so it plugs straight into the tools you already automate with: trigger it from an N8N workflow on a schedule, send the dataset export to Google Sheets or Airtable from a Zapier zap, or call the run endpoint from a Make scenario. Every row is flat JSON, so no parsing step is needed between the Actor and your sheet.
📊 Performance & Pricing
FREE Tier (Try It Now)
- ✅ 25 listings per run, no card required
- ✅ Every field: prices, GPS, photos, agents
- ✅ Full details available on the same terms as paid
PAID Tier (Production Ready)
| Event | BRONZE | What it buys |
|---|---|---|
| Run started | $0.005 | The run itself, once |
| Listing returned | $0.0025 | One search row, all fields |
| Full advert added | $0.0035 | One listing expanded with its full text and dates |
A 1,000-listing sweep is about $2.50 plus the run start. Higher tiers step the per-listing price down, and nothing is charged for a listing the run did not return: a city with no stock, or an address the portal does not know, costs you nothing.
❓ FAQ
Do I need a proxy or a browser for this? No, and there is no proxy setting in the input. Rumah123 is served as ordinary HTML to a real browser connection, and the actor reaches it over the network routes that already work, trying the cheapest one first. If every route is refused, the run says so before it charges for rows it cannot fetch.
How many listings can one run return? As deep as the portal itself pages: a search page carries 24 listings (20 on rent houses) and Rumah123 links thousands of pages for the big markets. South Jakarta houses alone are 120,245 listings across 6,008 pages. Set Max listings to cap the run; it stops on the first page that crosses your limit.
What is the difference between a listing row and full details? A listing row is everything the search card carries: exact rupiah price, price per square metre, land and building area, bedrooms, certificate, GPS, the photo set and the agent. Full details opens the advert itself and adds the untruncated advert text, the publication and last-edit dates and the agent profile link.
Are prices exact or rounded?
Exact. Each row carries the portal's own rupiah integer (1,480,000,000), not the rounded "Rp 1,48 Miliar" shown on the card. The card text is reported separately in priceDisplay.
How are rental prices reported?
With their period. Rumah123 rents are quoted per month or per year, and every rental row reports which one applies in pricePeriod, so a yearly villa rate is never mistaken for a monthly one.
Can I read a single district or neighbourhood? Yes, through Search URLs. Open the district page on rumah123.com, for example https://www.rumah123.com/jual/jakarta-selatan/kebayoran-baru/rumah/ , and paste the address. Pasted addresses reach districts, neighbourhoods and the smaller cities too.
Why did my run return fewer rows than the portal shows for that city? The Max listings cap and the page-by-page walk both end a run early, by design. An empty result with no error means the city-and-type combination genuinely has no stock right now.
Which property types are covered? All 12 the portal publishes, for sale and for rent: houses, apartments, land, shophouses, villas, boarding rooms (kost), hotels, warehouses, factories, offices, commercial space and the combined residential view.
🚀 Ready to stop scrolling?
Press Start with the defaults and you will have South Jakarta's houses, prices and agents in your dataset before your coffee cools.
📬 Support
Rumah123 (rumah123.com) is operated by 99 Group. This actor is not affiliated with, endorsed by, or sponsored by Rumah123 or 99 Group. Listing content belongs to the advertisers who published it.
Keywords for LLM Discovery
rumah123 scraper, rumah123 API, Indonesia property data, Jakarta property listings, rumah dijual dataset, sewa apartemen data, rumah123.com extractor, Indonesian real estate API, harga properti Indonesia, properti dijual scraper, Jakarta Selatan house prices, Bandung property data, Surabaya listings, tanah dijual, ruko data, KPR installment data, SHM certificate listings, GPS property coordinates Indonesia, rental yield Indonesia, agen properti data, iklan properti, listing monitor Indonesia, 99 Group portal data, south jakarta houses, tangerang property, bekasi depok bogor listings, bali villas data, makassar medan semarang property, kost data Indonesia, commercial property Indonesia, jual rumah murah jakarta, sewa rumah bulanan, harga rumah per meter, data rumah123 excel, property price index Indonesia