Pinhome Property Scraper Indonesia
Pricing
from $4.00 / 1,000 property results
Pinhome Property Scraper Indonesia
Scrape Pinhome property listings across Indonesia for sale and rent. Extract prices, price per m², locations, land and building area, bedrooms, bathrooms, agents, developers, financing, and rental terms. Monitor NEW, PRICE_CHANGED, UPDATED, and safely verified REMOVED listings.
Pricing
from $4.00 / 1,000 property results
Rating
0.0
(0)
Developer
ProdukDigitalAli
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Unofficial and independent. This Actor is not affiliated with, endorsed by, sponsored by, or operated by Pinhome.
What is this Actor?
Pinhome Property Scraper Indonesia extracts public Pinhome sale and rent listings into structured, analysis-ready property data.
Use it for:
- property aggregation,
- market and price analysis,
- price-per-m² research,
- agent and developer intelligence,
- listing monitoring,
- price-change monitoring,
- dashboards, APIs, scheduled workflows, and AI/data pipelines.
The default input starts from https://www.pinhome.id/jual/rumah. You can also provide other public Pinhome search URLs or direct property detail URLs.
Main output fields
The Actor aims to extract:
- stable
listingIdand canonicallistingUrl, - sale/rent transaction type,
- property type and new/secondary listing type,
- exact or range price,
- structured rental
pricePeriodandminimumLeaseMonthswhen Pinhome publishes them, - Pinhome price per m² when public,
- transparent calculated price-per-land/building-m² fallbacks for exact-price records,
- location and address,
- bedrooms and bathrooms,
- land/building area,
- floors, certificate, furnishing, electricity, water source, carports,
- facilities and financing options,
- agent/developer information,
- description and public update label,
- monitoring state and price-change fields.
Source values can be missing when Pinhome does not publish them for a listing.
Quick start
{"startUrls": [{"url": "https://www.pinhome.id/jual/rumah"}],"maxItems": 20,"maxPages": 5,"concurrency": 8,"monitorMode": false,"emitChangesOnly": false,"detectRemoved": false,"maxRemovedChecks": 50,"monitorKey": "default","proxyConfiguration": {"useApifyProxy": false},"requestTimeoutSeconds": 30,"maxRetries": 3}
Price-per-m² fields
The Actor keeps source and calculated metrics separate:
pricePerM2— preferred usable price-per-m² metric,pricePerM2Source = PINHOME— Pinhome published the value,pricePerM2Source = CALCULATED_LAND— calculated from exact price / exact land area,pricePerM2Source = CALCULATED_BUILDING— calculated from exact price / exact building area,pricePerLandM2Calculated— explicit land-area calculation,pricePerBuildingM2Calculated— explicit building-area calculation.
For listings with price or area ranges, the Actor does not invent a single calculated price-per-m² value.
For rental listings, calculated price-per-m² values inherit the listing's rental period. Use pricePeriod (year, month, week, or day) to interpret the metric. minimumLeaseMonths is extracted from Pinhome's public minimum-duration label when available.
Privacy and public listing data
The Actor is designed for public property metadata. It keeps public agent/developer names when shown on the listing, but direct phone numbers, WhatsApp links, and email addresses are redacted from description.
Monitoring
Enable monitorMode to persist state for a repeatable scope.
Change types:
NEW— first observation,PRICE_CHANGED— exact price or price range changed,UPDATED— another meaningful property field changed,UNCHANGED— meaningful data stayed the same,REMOVED— a missing prior listing was independently confirmed unavailable.
Relative source labels such as Diperbarui 1 hari lalu are retained in output but excluded from the meaningful fingerprint, so time passing alone does not create UPDATED noise.
With emitChangesOnly: true, unchanged rows are suppressed. A successful monitoring run can therefore emit zero dataset items.
A property disappearing from the current search page is not enough to mark it removed. The Actor verifies the original detail URL and requires repeated 404/410 confirmation. Network errors, timeouts, 5xx responses, or an inconclusive 200 response never become REMOVED.
Local VS Code testing
This project includes ready-to-run inputs under test_inputs/ and a PowerShell helper.
Parser smoke test:
powershell -ExecutionPolicy Bypass -File scripts/run_local_test.ps1 INPUT_20.json
Larger parser test:
powershell -ExecutionPolicy Bypass -File scripts/run_local_test.ps1 INPUT_100.json
Monitoring sequence — do not purge storage between runs:
powershell -ExecutionPolicy Bypass -File scripts/run_local_test.ps1 MONITOR_NEW.jsonpowershell -ExecutionPolicy Bypass -File scripts/run_local_test.ps1 MONITOR_UNCHANGED.jsonpython scripts/seed_price_change_test.pypowershell -ExecutionPolicy Bypass -File scripts/run_local_test.ps1 MONITOR_PRICE_CHANGED.jsonpowershell -ExecutionPolicy Bypass -File scripts/run_local_test.ps1 MONITOR_REMOVED.json
The price-change seeder modifies only local monitoring state; it does not modify production Actor code or live Pinhome data.
Expected local monitoring validation
A stable test sequence should look approximately like:
- baseline:
NEW ≈ 30, - repeat:
UNCHANGED ≈ 30,emittedResults = 0, - controlled price test: one
PRICE_CHANGED, - removal safety: lowering
maxItemscreates removal candidates, but still-active detail URLs remain in state and are not emitted asREMOVED.
Live inventory can change between runs, so a genuine new listing or real price change is not automatically a bug.
API and schedules
After deployment, the Actor can be run from Apify Console, API, schedules, tasks, and integrations. For recurring monitoring, keep both the same monitorKey and comparable startUrls.
Limitations
- Only public Pinhome pages are supported.
- Website markup and URL patterns can change.
- Search pages can change ordering between runs.
- New development pages can represent project-level price/specification ranges rather than one exact physical unit.
maxItemsis a ceiling, not a guarantee that a specific query currently exposes that many reachable detail pages.- Large-scale collection should be validated for reliability and cost before publication pricing is finalized.
Responsible use
Use this Actor responsibly and only for publicly available information. Users are responsible for ensuring that their collection and use of data complies with applicable laws, contractual obligations, and platform requirements.
This Actor is unofficial and independent. It is not affiliated with, endorsed by, sponsored by, or operated by Pinhome.