Realestate.co.nz Property Listings Scraper avatar

Realestate.co.nz Property Listings Scraper

Pricing

Pay per event

Go to Apify Store
Realestate.co.nz Property Listings Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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?

FieldDescription
listingIdRealestate.co.nz property identifier from the URL
listingNumberAdvertised listing reference when available
urlCanonical public property URL
statussale or rental
addressFull advertised address
suburb, district, regionNZ location hierarchy
headline, descriptionListing marketing copy
priceDisplayVisible price or sale method text
priceAmount, priceCurrencyNumeric structured price when published
bedrooms, bathroomsMain room counts
garages, otherParkingParking details when shown
floorAreaM2, landAreaM2Published areas in square metres
propertyType, titleTypeHouse/unit/etc. and title information
latitude, longitudePublic listing coordinates
listedDate, listedAgeDetail date and search-card age
imageUrl, imageUrlsPrimary and additional listing photos
openHomeStarts, openHomeEndsISO open-home event times
agentNames, agentUrlsAdvertised listing agents
agencyName, agencyUrlListing office context
scrapedAtUTC 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

  1. Open a public residential sale, rental, or property page on Realestate.co.nz.
  2. Copy the complete URL, including search filters you want to preserve.
  3. Add the URL under Search or property URLs.
  4. Set Maximum property listings and choose whether to visit detail pages.
  5. 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

ParameterTypeDefaultPurpose
startUrlsarrayrequiredRealestate.co.nz residential search/detail URLs
maxItemsinteger10Global cap on unique saved properties
includeDetailsbooleantrueFollow each property page for rich fields
maxPagesinteger20Pagination safety limit per search URL
proxyConfigurationobjectdirectOptional 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 maxItems while validating a new workflow.
  • 📄 Raise maxPages only 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 ApifyClient
client = 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().items
print(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.

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.

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.