Rumah123 Scraper - Indonesia Property Listings & Prices avatar

Rumah123 Scraper - Indonesia Property Listings & Prices

Pricing

from $2.20 / 1,000 property searches

Go to Apify Store
Rumah123 Scraper - Indonesia Property Listings & Prices

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Ü

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Rumah123 Scraper - Indonesia Property Listings & Prices 🚀

Store SIÁN Agency Store OLX Property Scraper Store Apartments.com Scraper Store Immowelt Scraper

🎉 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: jual or sewa, 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

FieldTypeRequiredDescription
operationstringNosearch (default) or detail
locationsarrayNoRumah123 city slugs, e.g. jakarta-selatan, bandung — defaults to Jakarta Selatan
dealTypestringNojual for sale (default) or sewa for rent
propertyTypesarrayNoRumah123 property types; defaults to rumah
maxResultsintegerNoWhole-run listing budget, default 100
includeDetailsbooleanNoOpen each listing for the full advert text, dates and agent profile
minPrice / maxPriceintegerNoPrice bounds in rupiah; 0 means no bound
searchUrlsarrayNoRumah123 search addresses, including district pages
listingUrlsarrayNoRumah123 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:

FieldTypeDescription
listingIdstringRumah123 listing number, e.g. hos42135855
propertyTitlestringThe listing headline, in Indonesian
urlstringCanonical listing address
pricenumberExact rupiah asking price, or the rent over its period
priceDisplaystringThe price as the card shows it, e.g. Rp 1,48 Miliar
pricePeriodstringFor rentals: monthly, yearly or daily
pricePerSqmnumberPrice divided by land area, computed on every row
landSize / buildingSizenumberBoth areas, in square metres
bedrooms / bathrooms / floorsnumberThe room counts the listing declares
certificationstringLand certificate, e.g. SHM
furnishing / condition / electricitystringAs the listing states them
locationText / province / city / districtstringWhere the property is
latitude / longitudenumberGPS, from the portal's own record
installmentstringThe portal's KPR quote, e.g. Cicilan : Rp 6 Jutaan/bulan
overviewarrayHighlight badges, e.g. Bisa Nego, Bebas Banjir
promotedAsstringThe card's promotion label, e.g. Premier
agentName / agentTypestringThe listing agent and their kind
photos / photoCountarray, numberPhoto URLs and how many there are
descriptionTextstringThe agent's full advert text (includeDetails)
datePosted / dateModifiedstringPosted 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 ApifyClient
client = 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
EventBRONZEWhat it buys
Run started$0.005The run itself, once
Listing returned$0.0025One search row, all fields
Full advert added$0.0035One 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