Rumah123 Scraper With Agents | Fast & Reliable
Pricing
from $1.50 / 1,000 results
Rumah123 Scraper With Agents | Fast & Reliable
Extract structured Indonesian property listings from Rumah123 with agent data, pricing, locations, and property details. Built for enterprise-grade real estate intelligence, lead generation, and automated CRM or analytics pipelines across Indonesia markets.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Fatih Tahta
Maintained by CommunityActor stats
1
Bookmarked
18
Total users
5
Monthly active users
12 days ago
Last modified
Categories
Share
Rumah123 Scraper
Slug: fatihtahta/rumah123-scraper
Overview
Rumah123 Scraper collects structured property listing data from Rumah123, including titles, prices, property types, listing status, locations, room counts, sizes, facilities, media, and agent or agency details when available. It is designed for teams that need consistent listing data from search pages or specific listing URLs without manual copy-paste. Rumah123 is one of Indonesia's major real estate marketplaces, making it a useful source for property market analysis, inventory tracking, lead enrichment, and localized research. The actor automates repetitive collection workflows and returns standardized JSON records you can use directly in reports, pipelines, and operational systems. This helps reduce manual effort, improve consistency across runs, and save time when working at scale.
Why Use This Actor
- Market researchers and analysts: Track listing supply, pricing, property mix, and geographic trends across cities, districts, and listing types.
- Product and content teams: Build property directories, landing pages, market snapshots, and neighborhood content with structured listing data.
- Developers and data engineers: Feed ETL jobs, dashboards, warehouses, and APIs with JSON records that are easy to store, transform, and join.
- Lead generation and enrichment teams: Identify listings, agents, agencies, and location-level inventory for outreach, enrichment, or qualification workflows.
- Monitoring and competitive tracking: Watch changes in price ranges, promotions, furnishing mix, and available inventory for selected markets or URL sets.
Input Parameters
Provide any combination of URLs, queries, and filters to define the listings you want to collect.
| Parameter | Type | Description | Default |
|---|---|---|---|
listingType | string | Listing category to collect. Allowed values: sale (for sale), rent (for rent). | sale |
sortOrder | string | Sort order for results. Allowed values: recommended, price-asc, price-desc, posted-desc, posted-asc, land-size-desc, building-size-desc. | recommended |
location | string | Location keyword such as a city, district, neighborhood, street, or landmark. Example: Jakarta Selatan, Bandung, Nusa Dua. | – |
promotions | string[] | Promotional filters to include. Allowed values: promotion, price-reduced, free-fees, zero-dp, bank-owned, njop. | [] |
property-type | string[] | Property categories to include. Allowed values: house, apartment, land, shophouse, factory, office, commercial-space, warehouse, villa, boarding-house, hotel. | [] |
min_price | integer | Minimum listing price in IDR. Leave empty to avoid a lower price bound. | – |
max_price | integer | Maximum listing price in IDR. Leave empty to avoid an upper price bound. | – |
min_bedrooms | string | Minimum bedroom count. Allowed values: 1, 2, 3, 4. | – |
min_bathrooms | string | Minimum bathroom count. Allowed values: 1, 2, 3, 4. | – |
min_floors | string | Minimum number of floors. Allowed values: 1, 2, 3, 4. | – |
furninshing_condition | string[] | Furnishing preferences to include. Allowed values: fully-furnished, partially-furnished, unfurnished. | [] |
property_facilities | string[] | Facilities the listing should mention. Allowed values: air-conditioning, parking, cctv, security, wifi. | [] |
min_land_size | integer | Minimum land size in square meters. | – |
max_land_size | integer | Maximum land size in square meters. | – |
min_building_size | integer | Minimum building size in square meters. | – |
max_building_size | integer | Maximum building size in square meters. | – |
startUrls | string[] | One or more direct Rumah123 URLs. You can provide search result pages or individual listing URLs. When present, these URLs are used instead of the search filters above. | – |
limit | integer | Maximum number of listings to collect per search or start URL. Leave empty to collect all available results. | – |
Example Inputs
Scenario: Search by location and price band
{"listingType": "sale","sortOrder": "price-desc","location": "Jakarta Selatan","property-type": ["house"],"min_price": 1500000000,"max_price": 5000000000,"min_bedrooms": "3","limit": 150}
Scenario: Direct URL collection
{"startUrls": ["https://www.rumah123.com/jual/cari/?location=bali","https://www.rumah123.com/properti/badung/hos40272095/"],"limit": 100}
Scenario: Filtered rental search
{"listingType": "rent","location": "Bandung","property-type": ["apartment"],"max_price": 120000000,"min_bathrooms": "1","furninshing_condition": ["fully-furnished"],"property_facilities": ["parking", "security", "wifi"],"limit": 80}
Output
6.1 Output destination
The actor writes results to an Apify dataset as JSON records. And the dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs without post-processing.
6.2 Record envelope
Every normal listing row uses the shared real estate shape:
- record_type (string, required): Current value is
property_listing. - record_id (string, required): Stable Rumah123 listing identifier when available.
- source_context (object, required): Source name, source URLs, seed metadata, page index, and external IDs.
- entity (object, optional): Human-readable listing title, description, and public URL.
- listing (object, optional): Listing ID, sale/rent label, status dates, auction data, and listing flags.
- pricing (object, optional): Display price, numeric price, currency, price range, installments, and rent variants.
- location (object, optional): Address text, district, city, province, postal code, country, and coordinates.
- property (object, optional): Property type, rooms, parking, areas, furnishing, condition, certificates, and amenities.
- media (object, optional): Main image, image URLs, and media count.
- contact_details (object, optional): Direct phone, WhatsApp, email, website, and contact records when available.
- relationships (object, optional): Embedded agent, agency, developer, project, and source profile URLs.
- attributes (object, optional): Rumah123 tags, badges, flags, preserved detail payloads, and source-specific metadata.
Recommended idempotency key: record_type + ":" + record_id.
6.3 Example
{"record_type": "property_listing","record_id": "hos41615716","source_context": {"source_name": "Rumah123","source_domain": "rumah123.com","source_url": "https://www.rumah123.com/jual/cari/?q=hos41615716","listing_url": "https://www.rumah123.com/properti/jakarta-selatan/hos41615716/","seed_id": "b34d3e147863","seed_type": "url","seed_value": "https://www.rumah123.com/properti/jakarta-selatan-pejaten/brand-new-luxury-american-classic-pejaten-barat-jakarta-selatan-hos41615716/","seed_url": "https://www.rumah123.com/jual/cari/?q=hos41615716","page_index": 1,"external_ids": {"listing_id": "hos41615716","fingerprint": "c2bb14da0a46208bfbf3"}},"entity": {"title": "Brand New Luxury American Classic Pejaten Barat Jakarta Selatan","description": "Luxury American Classic Pejaten Barat Detail : SHM LT 360 m2 LB 1.100 m2...","short_description": "Luxury American Classic Pejaten Barat Detail : SHM LT 360 m2 LB 1.100 m2...","url": "https://www.rumah123.com/properti/jakarta-selatan/hos41615716/"},"listing": {"listing_id": "hos41615716","listing_type": "Dijual","listing_type_code": "0","posted_at": "2026-05-24T11:38:22+00:00","created_at": "2026-05-23T07:17:45+00:00","updated_at": "2026-05-23T07:17:46+00:00","is_primary_project": false,"rent_type": -1},"pricing": {"price_text": "Rp 17,7 Miliar","price_numeric": 17700000000,"currency": "IDR","price_min": 17700000000,"price_max": 17700000000,"price_per_land_meter_numeric": 0,"price_tag": "Rp 17,7 Miliar","advertised_installment": "Cicilan : Rp 80 Jutaan/bulan","installments": [{"amount": 86965970,"tenor": 20,"formattedAmount": "Rp 86 Jutaan","formattedTenor": "Tenor 20 Tahun"}]},"location": {"address": "Pejaten, Jakarta Selatan","full_address": "Pejaten, Jakarta Selatan","district": "Pejaten","city": "Jakarta Selatan","province": "DKI Jakarta","latitude": -6.27799,"longitude": 106.842484,"coordinates": {"latitude": -6.27799,"longitude": 106.842484}},"property": {"property_type": "Rumah","property_taxonomy": {"property_type_code": "0","listing_type_code": "0"},"bedrooms": 6,"bathrooms": 7,"parking_spaces": 2,"carports": 2,"garages": 2,"floors": 4,"land_area_sqm": 360,"floor_area_sqm": 1100,"furnishing": "Semi Furnished","condition": "Bagus","certificate": "SHM","electricity": "Lainnya","payment_method": "Cash Keras, KPR","amenities": ["Tempat Jemuran", "Kolam Renang", "Teras", "AC"],"features": ["Bisa Nego", "Cash Keras/KPR", "Perumahan/Komplek"]},"media": {"main_image_url": "https://picture.rumah123.com/r123-images/1080x720-fit/customer/1417790/listing/hos41615716/enhanced/fda97a62a647173e059640cf50d269d7.jpg","image_urls": ["https://picture.rumah123.com/r123-images/1080x720-fit/customer/1417790/listing/hos41615716/enhanced/fda97a62a647173e059640cf50d269d7.jpg"],"media_count": 25},"contact_details": {"name": "Farah Maulina","phone": "+6282297811004","whatsapp": "+6282297811004","email": "maulinafarah@gmail.com","website": "https://www.rumah123.com/agen-properti/magna-selaras/farah-maulina-1417790/"},"relationships": {"agent": {"id": "1417790","uuid": "9adfb9c3-6455-4da9-9b02-6383b52c62f3","name": "Farah Maulina","profile_url": "https://www.rumah123.com/agen-properti/magna-selaras/farah-maulina-1417790/","agency_name": "Magna Selaras"},"agency": {"name": "Magna Selaras","url": "https://www.rumah123.com/agen-properti/magna-selaras-385238/"}},"attributes": {"tags": ["Bisa Nego", "Cash Keras/KPR", "Perumahan/Komplek"],"badges": [{"label": "Dekat Sekolah","active": true,"sequence": 19,"category": "Quick Label"}],"flags": {"isUnderNjop": false,"isFavorite": false,"isNpl": false,"isPrimaryProject": false},"source_specific": {"slug": "/properti/jakarta-selatan-pejaten/brand-new-luxury-american-classic-pejaten-barat-jakarta-selatan-hos41615716/","detail": {"listingId": "hos41615716","listingStatus": 1}}}}
6.4 Field preservation
The previous flat fields are preserved in nested groups:
id,url,sourceUrl,seedId,seedType,seedValue,seedUrl,pageIndex,domain, andfingerprintmoved torecord_id,source_context, andentity; source slugs remain underattributes.source_specific.slug.- Price fields such as
price,priceNumeric,priceMin,priceMax,priceTotal,priceTag,priceDrop,installments,rentType, andrentPricesmoved topricingandlisting. - Address, city, province, district, postal code, country, latitude, and longitude moved to
location. - Property facts such as
propertyType,bedrooms,bathrooms,carports,garages,landSize,buildingSize,furnishing,condition,certificate,electricity,paymentMethod,facilities, andoverviewmoved toproperty. - Media URLs moved to
media.image_urls, with the first image also exposed asmedia.main_image_url. - Agent, agency, developer, and project fields moved to
contact_detailsandrelationships. - Rumah123-specific badges, flags, codes, partner fields, project labels, and the rich
detailpayload are preserved underattributes.
Data guarantees & handling
- Best-effort extraction: fields may vary by region, session, listing availability, or UI experiments on the source site.
- Optional fields: null-check in downstream code.
- Deduplication: recommend
record_type + ":" + record_id.
How to Run on Apify
- Open the actor in Apify Console.
- Configure your search parameters, such as listing type, location, property type, price range, and optional filters.
- Set the maximum number of outputs to collect.
- Click Start and wait for the run to finish.
- Download results in JSON, CSV, Excel, or other supported formats.
Scheduling & Automation
Scheduling
Automated Data Collection
You can schedule recurring runs to keep your property dataset fresh without starting each run manually. This is useful for tracking inventory, price changes, and market activity over time.
- Navigate to Schedules in Apify Console
- Create a new schedule (daily, weekly, or custom cron)
- Configure input parameters
- Enable notifications for run completion
- Optional: add webhooks for automated processing
Integration Options
- Webhooks: Trigger downstream actions when a run completes
- Zapier: Connect to 5,000+ apps without coding
- Make (Integromat): Build multi-step automation workflows
- Google Sheets: Export results to a spreadsheet
- Slack/Discord: Receive notifications and summaries
- Email: Send automated reports via email
Performance
Estimated run times:
- Small runs (< 1,000 outputs): ~2–3 minutes
- Medium runs (1,000–5,000 outputs): ~5–15 minutes
- Large runs (5,000+ outputs): ~15–30 minutes
Execution time varies based on filters, result volume, and how much information is returned per record.
Compliance & Ethics
Responsible Data Collection
This actor collects publicly available property listing information from https://www.rumah123.com for legitimate business purposes, including:
- Real estate research and market analysis
- Lead enrichment and inventory monitoring
- Competitive benchmarking and reporting
Users are responsible for ensuring their use of collected data complies with applicable laws, regulations, and the source website's terms. This section is informational and not legal advice.
Best Practices
- Use collected data in accordance with applicable laws, regulations, and the target site's terms
- Respect individual privacy and personal information
- Use data responsibly and avoid disruptive or excessive collection
- Do not use this actor for spamming, harassment, or other harmful purposes
- Follow relevant data protection requirements where applicable (e.g., GDPR, CCPA)
Support
For help, use the actor page discussion area or open an issue with the run details. Include the input used with sensitive values redacted, the run ID, the expected versus actual behavior, and, if helpful, a small output sample.