Realestate.co.nz Property Listings Scraper
Pricing
Pay per event
Realestate.co.nz Property Listings Scraper
🏠 Extract public New Zealand sale and rental listings with prices, specifications, descriptions, coordinates, images, open homes, listing agents, and agencies from Realestate.co.nz.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Collect structured New Zealand residential property listings from public Realestate.co.nz search pages and individual property pages. Export prices, addresses, specifications, descriptions, coordinates, photos, open homes, listing agents, and agencies to JSON, CSV, Excel, or your own workflow.
No Realestate.co.nz login is required. Start with a sale or rental search URL, choose a listing limit, and receive one clean dataset row per unique property.
- 🏠 Track residential inventory across NZ regions and suburbs
- 💰 Compare asking prices and property specifications
- 📅 Monitor new listings and upcoming open-home times
- 🤝 Build property and agency research workflows
What does Realestate.co.nz Property Listings Scraper do?
The Actor turns public residential sale and rental pages into analysis-ready records. It accepts URLs you already use on Realestate.co.nz, follows search pagination, deduplicates properties by listing ID, and can visit each detail page for richer fields.
Use search-card-only mode for quick inventory snapshots. Keep detail enrichment enabled when you need descriptions, latitude and longitude, full image sets, title type, open homes, or agent context.
The scraper supports:
- residential sale search URLs;
- residential rental search URLs;
- individual residential sale listing URLs;
- individual residential rental listing URLs;
- multiple start URLs in one run;
- optional Apify Proxy or custom proxy routing.
Who is it for?
Property analysts and investors
Build comparable-property tables, watch regional inventory, identify new stock, and compare bedroom, bathroom, land-area, and price attributes.
Buyer agents and brokerages
Schedule suburb searches, collect open-home times, and connect each property with its advertised listing agent and agency.
Portals and data teams
Feed normalized public listing records into a warehouse, dashboard, CRM, spreadsheet, or internal search product.
Researchers and journalists
Capture time-stamped snapshots of public sale and rental markets without manually copying every listing page.
Why use this Realestate.co.nz scraper?
- ✅ No account needed — the Actor uses public anonymous pages.
- ✅ Search and detail inputs — run broad inventory jobs or one-property lookups.
- ✅ Rich records — combine visible page fields with public JSON-LD structured data.
- ✅ Predictable limits — cap records and search pages before a run starts.
- ✅ Unique results — duplicate listing IDs are saved only once across all inputs.
- ✅ Ready to integrate — export from Apify or call through API and MCP clients.
What property data can you extract?
| Field | Description |
|---|---|
listingId | Realestate.co.nz property identifier from the URL |
listingNumber | Advertised listing reference when available |
url | Canonical public property URL |
status | sale or rental |
address | Full advertised address |
suburb, district, region | NZ location hierarchy |
headline, description | Listing marketing copy |
priceDisplay | Visible price or sale method text |
priceAmount, priceCurrency | Numeric structured price when published |
bedrooms, bathrooms | Main room counts |
garages, otherParking | Parking details when shown |
floorAreaM2, landAreaM2 | Published areas in square metres |
propertyType, titleType | House/unit/etc. and title information |
latitude, longitude | Public listing coordinates |
listedDate, listedAge | Detail date and search-card age |
imageUrl, imageUrls | Primary and additional listing photos |
openHomeStarts, openHomeEnds | ISO open-home event times |
agentNames, agentUrls | Advertised listing agents |
agencyName, agencyUrl | Listing office context |
scrapedAt | UTC collection timestamp |
Fields are optional when the source listing does not publish them. Numeric values are emitted as numbers rather than formatted strings whenever the source provides a parseable value.
How much does it cost to scrape Realestate.co.nz listings?
This Actor uses pay-per-event pricing:
- Actor start: $0.005 per run
- Property listing: tiered by your Apify plan; BRONZE is $0.00011815 per saved property
Your final charge depends on the number of unique dataset records, not the number of HTML pages requested. The Apify Console shows an estimate before and during a run.
A one-property lookup costs the start event plus one property event. A 100-property inventory snapshot costs the start event plus 100 property events at your plan tier. Apify Free plan users can test the prefilled one-property example within normal platform credits.
How to scrape Realestate.co.nz in 5 steps
- Open a public residential sale, rental, or property page on Realestate.co.nz.
- Copy the complete URL, including search filters you want to preserve.
- Add the URL under Search or property URLs.
- Set Maximum property listings and choose whether to visit detail pages.
- Click Start, then download the default dataset as JSON, CSV, Excel, XML, or RSS.
For a cheap first run, keep the prefilled single property URL and maxItems: 1.
Input parameters
| Parameter | Type | Default | Purpose |
|---|---|---|---|
startUrls | array | required | Realestate.co.nz residential search/detail URLs |
maxItems | integer | 10 | Global cap on unique saved properties |
includeDetails | boolean | true | Follow each property page for rich fields |
maxPages | integer | 20 | Pagination safety limit per search URL |
proxyConfiguration | object | direct | Optional Apify/custom proxy settings |
Only realestate.co.nz residential sale/rental search and detail URLs are accepted. Unsupported domains and unrelated paths fail before scraping, which prevents accidental out-of-scope runs.
Example input: Auckland sale listings
{"startUrls": [{ "url": "https://www.realestate.co.nz/residential/sale/auckland?by=latest&oad=true" }],"maxItems": 25,"includeDetails": true,"maxPages": 3,"proxyConfiguration": { "useApifyProxy": false }}
To monitor rentals, use a public /residential/rental/... search URL with the same settings.
Example output
{"listingId": "43070114","listingNumber": "936151","url": "https://www.realestate.co.nz/43070114/residential/sale/46-mountain-road-epsom","status": "sale","address": "46 Mountain Road, Epsom, Auckland City","suburb": "Epsom","district": "Auckland City","region": "Auckland","priceDisplay": "$5,280,000","priceAmount": 5280000,"priceCurrency": "NZD","bedrooms": 5,"bathrooms": 4,"landAreaM2": 1212,"propertyType": "House","titleType": "Freehold","latitude": -36.869541168213,"longitude": 174.76983642578,"agentNames": ["Wayne Guo"],"agencyName": "Barfoot & Thompson Ltd (Licensed: REAA 2008) - Epsom","scrapedAt": "2026-07-18T00:00:00.000Z"}
Actual values reflect the source at run time. Listings may omit numeric prices when they advertise negotiation, auction, tender, or another sale method.
Search-card-only versus detailed mode
Set includeDetails to false when you primarily need IDs, URLs, listed age, addresses, displayed prices, basic specifications, property types, main images, and agency names. This avoids detail requests and is useful for frequent inventory-change detection.
Keep includeDetails at true for full research. Detail mode adds descriptions, structured price values, coordinates, listed dates, title type, more images, open-home events, and agent links.
Both modes save one property entity per dataset row and charge the same per saved item.
Tips for reliable property collection
- 🎯 Reuse filtered source URLs so the website determines region, suburb, category, and price scope.
- 🔢 Start with a small
maxItemswhile validating a new workflow. - 📄 Raise
maxPagesonly when your item cap requires more than one search page. - ⚡ Disable detail enrichment for high-frequency inventory checks.
- 🌐 Enable an Apify proxy only if direct access becomes unreliable at your desired scale.
- 🕒 Schedule recurring Actors at a considerate interval rather than continuously polling.
Integrations and workflow patterns
Google Sheets or Airtable inventory
Schedule a regional search, export the dataset, and upsert by listingId. Compare priceDisplay, listedAge, and open-home arrays between snapshots.
Property CRM enrichment
Send new dataset items through Make, Zapier, or a webhook. Map the address, URL, agency, and agent fields into a property or opportunity record.
Data warehouse analysis
Use the Apify API client to pull JSON into BigQuery, Snowflake, PostgreSQL, or S3. Partition on scrapedAt and retain listingId as the stable source key.
Open-home calendar
Expand matching openHomeStarts and openHomeEnds arrays into calendar events, grouped by property URL and agent.
API usage with JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/realestate-co-nz-property-listings-scraper').call({startUrls: [{ url: 'https://www.realestate.co.nz/residential/sale/auckland?by=latest&oad=true' }],maxItems: 10,includeDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/realestate-co-nz-property-listings-scraper").call(run_input={"startUrls": [{"url": "https://www.realestate.co.nz/residential/rental/auckland"}],"maxItems": 10,"includeDetails": True,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
API usage with cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~realestate-co-nz-property-listings-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url":"https://www.realestate.co.nz/residential/sale/auckland?by=latest&oad=true"}],"maxItems": 10,"includeDetails": true}'
Poll the returned run ID or use an Apify client to wait for completion, then read defaultDatasetId.
Use the scraper through Apify MCP
Connect the Actor to Claude Code:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/realestate-co-nz-property-listings-scraper"
For Claude Desktop, Cursor, or VS Code, add this HTTP server configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/realestate-co-nz-property-listings-scraper"}}}
Example prompts:
- “Collect the 20 latest Auckland residential sale listings and summarize prices by suburb.”
- “Extract this Realestate.co.nz property page and list its next open-home time and agency.”
- “Run a rental search without detail enrichment and return listing IDs not present in yesterday's file.”
Scheduling and change monitoring
Create an Apify schedule with a stable filtered search URL. Save each run to a downstream table keyed by listingId, then classify IDs as new, continuing, or missing.
A missing ID does not necessarily prove a sale or withdrawal: search rankings, filters, source updates, and item caps can change. Confirm important status changes against the current public property page.
Use scrapedAt, listedDate, and listedAge to distinguish the collection timestamp from the source's own listing-age labels.
Data quality and limitations
The Actor reports what Realestate.co.nz publicly renders at run time. It does not estimate property values, infer sale prices, reveal hidden contact details, or bypass private account features.
Some listings publish a sale method instead of a numeric price. Some omit floor area, title type, coordinates, open homes, or agents. Those optional fields are absent rather than invented.
Detail-page markup can change. The extractor uses public JSON-LD and stable test attributes, bounded retries, and total-failure detection, but no scraper can guarantee that every upstream field remains available forever.
Is it legal to scrape Realestate.co.nz?
Public web data can often be collected for legitimate research and business purposes, but your use case, jurisdiction, contractual obligations, and treatment of personal information matter.
Use the Actor responsibly. Review Realestate.co.nz terms, respect applicable laws, avoid excessive request rates, and collect only data you need. Agent names and agency details are professional context on public listing pages; do not use them for spam, harassment, discrimination, or unlawful profiling.
You are responsible for deciding whether your collection and downstream use are permitted.
Troubleshooting
Why did my input fail immediately?
Check that every URL uses realestate.co.nz and points to a residential sale/rental search or property detail path. Homepage, agent-directory, commercial, rural, and third-party URLs are intentionally rejected.
Why is a field missing?
The source listing may not publish it. Compare the public detail page and keep includeDetails: true for fields unavailable on search cards.
Why did the run save fewer listings than requested?
Your source search may contain fewer unique listings, maxPages may stop pagination, or individual details may have disappeared between discovery and fetch. Review logs for skipped URLs.
When should I enable a proxy?
Direct anonymous HTTP is the default and works for normal runs. For large recurring jobs that encounter network blocks, enable Apify Proxy and retry with conservative limits.
Frequently asked questions
Can I scrape both sale and rental listings in one run?
Yes. Add multiple residential sale and rental URLs to startUrls. maxItems applies globally and results deduplicate by listing ID.
Can I pass a single property URL?
Yes. This is the cheapest way to enrich or monitor one known listing.
Does the Actor scrape sold prices or valuations?
No. This release focuses on current public residential sale/rental listing pages and does not claim private, inferred, or separately licensed valuation data.
Does it download image files?
It exports public image URLs. Your downstream system can download media separately when your use is authorized.
How do I avoid duplicate rows?
Duplicates within one run are removed by listing ID. Across runs, upsert into your destination using listingId as the key.
Related property scrapers
- Zillow Scraper — US property search and detail workflows.
- Realtor.com Scraper — US Realtor.com property data.
- Realtor.ca Property Listings Scraper — Canadian property listings.
- Property Finder Scraper — Property Finder market listings.
Choose this Actor specifically for public residential listings on New Zealand's Realestate.co.nz domain.
Support
For reproducible support, share the Actor run URL, the affected public source URL, and what you expected to receive. Do not include private credentials or unrelated personal data.
The run log records pagination, skipped detail pages, total discovered listings, and saved records. This evidence helps distinguish invalid input, a removed listing, source markup changes, and transient network failures.