Distressed Property Scraper at a glance
Distressed Property Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes record id, country, source, title and distress type, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.60 per 1,000 results on the Apify Free plan and from $2.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Web data
- Region
- Oceania
- Pricing
- $2.60 per 1,000 results (Free plan), from $2.00 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 25 options
Find mortgagee-sale and distressed-property listings in Australia and New Zealand. NZ results require a confirmed mortgagee-sale flag; AU results use keyword filtering. Get property, price, location and agent details, plus auction dates where available. Resume runs or track incremental changes
What Distressed Property Scraper can do
- Two registers, one actor. Walk New Zealand mortgagee-sale listings and Australian mortgagee-sale search results. Each lane keeps its own native filters, and every record comes back normalized to one schema.
- Distress evidence on every row. New Zealand rows carry the register's own mortgagee-sale flag; Australian rows carry the keyword match plus auction dates lifted from the listing's event data where published.
- Detail enrichment built in. Every record can be opened on its source page for the full description, agent and agency contacts, photo galleries, and auction details.
- Made for recurring monitoring. Resume an interrupted run from its ID, or let incremental mode remember what you already scraped and return only NEW and UPDATED records, with EXPIRED markers when a record leaves the source.
- Search the way each register wants. New Zealand district and listing-pool filters; Australian state, listing type, property type, bedroom and price ranges. Or just paste links and let URL mode sort them out.
- Honest by design. If a register refuses every request the run fails loudly instead of returning an empty dataset that looks like "no results". A genuine empty search says so.
Choose what to collect
These inputs let you configure Distressed Property Scraper - Mortgagee Sales AU & NZ. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring | How to discover records. 'search' walks the selected country lanes with your filters. 'url' reads only the links you paste into urls. Pasted links are ignored in search mode; the run log tells you when that happens. |
countryarray | Which registers to walk, in order. New Zealand = mortgagee-flagged listings from the national property register. Australia = keyword-filtered mortgagee-sale results. Each selected lane uses its own filters below. |
urlsarray | Pasted source links (any supported site); grouped by site automatically. Read in url mode. |
nzRegionstring | Limit the New Zealand walk to one district. Empty = national walk. |
nzListingTypestring | Limit to one New Zealand listing pool. Empty = residential sale, the mortgagee-sale pool. |
auStatestring | Limit the Australian walk to one state or territory. Empty = national walk. |
auListingTypestring | Which Australian listing pool to walk. Buy is the mortgagee-sale pool; rent and sold are supported for completeness. |
Show 18 more inputs
| Input | What it controls |
|---|---|
auPropertyTypestring | Limit to one Australian property type. Empty = all types. |
auBedroomsMininteger | Minimum bedrooms. Selects the bedroom path segment of the search URL. |
auBedroomsMaxinteger | Maximum bedrooms (upper bound). Rides the search as a query filter. |
auPriceMininteger | Minimum price in AUD. Lower bound of the price path segment. |
auPriceMaxinteger | Maximum price in AUD. Upper bound of the price path segment. |
auExcludesarray | Advanced: drop rows whose title contains any of these words (case-insensitive). Example: ["sold", "leased"]. |
fetchDetailsboolean | Open each result's detail page (full description, extra fields). Adds one request per record; disable for fast listing-only runs. |
maxItemsinteger | Stop after this many results total across all lanes. 0 = no limit (run until the walks end). |
maxPagesinteger | Stop each search walk after this many result pages. 0 = walk until the natural end. Max items always applies too. |
resumeFromRunIdstring | Continue a previous run: only records not already in that run's dataset are pushed. Leave empty for a fresh run. |
incrementalModeboolean | Track records across scheduled runs with the same scope: only NEW or UPDATED records are returned (UNCHANGED suppressed), and records that disappear are marked EXPIRED. Mutually exclusive with Resume. |
stateKeystring | Name for the incremental baseline when you want to share one baseline across different filter variants. Leave empty to derive it from the scope automatically. |
emitUnchangedboolean | In incremental mode, also return records that did not change (marked UNCHANGED). |
emitExpiredboolean | In incremental mode, also return records seen previously that no longer appear (marked EXPIRED). |
ignoreFieldsForChangesarray | Advanced: record fields that should never count as a change (in addition to the built-in ignore list). Example: ["updatedAt"]. |
mcpConnectorsarray | Optionally send a summary of each returned property to connected apps. Authorize a connector under Apify > Settings > Integrations, then select it here. Notion creates a page per record; other connectors receive a best-effort write or digest. Leave empty to skip. Dataset results are unaffected. |
notionParentPageUrlstring | URL or ID of the Notion page where record pages should be created. Required for Notion; ignored by other connectors. |
maxNotifyListingsinteger | Maximum number of records written to each connector. Does not affect dataset output. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
recordIdRecord ID (text)countryCountry (text)sourceSource (text)titleTitle (text)distressTypeDistress type (text)auctionDateAuction (text)locationLocation (text)valueAmountValue (number)valueCurrencyCCY (text)valueTextValue (text) (text)statusStatus (text)portalIdPortal ID (text)Show 10 more fields
publishedAtPublished (date)urlURL (link)changeTypeChange (incremental mode) (text)firstSeenAtFirst seen (date)lastSeenAtLast seen (date)descriptionDescription (text)partiesParties (text)attachmentsAttachments (text)detailsDetails (text)changedFieldsChanged fields (text)Example output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"recordId": "nz:realestate.co.nz:43000000",
"country": "nz",
"source": "realestate.co.nz",
"title": "123 Sample Road, Sampleton",
"distressType": "mortgagee-sale",
"portalId": "000000",
"publishedAt": "2026-10-01T02:32:41+13:00",
"location": {
"address": "123 Sample Road, Sampleton",
"city": "Sampleton",
"region": "Auckland",
"country": "NZ"
},
"valueAmount": 850000,
"valueCurrency": "NZD",
"valueText": "Asking price $850,000",
"status": "active",
"parties": [
{
"role": "agent",
"name": "Sample Agent"
}
],
"description": "Sample listing description.",
"attachments": [
{
"label": "photo",
"url": "https://www.realestate.co.nz/listings/43000000/sample.crop.140x178.jpg"
}
],
"url": "https://www.realestate.co.nz/43000000/residential/sale/123-sample-road-sampleton",
"raw": {}
}Ways to use this data
- Who: Investors and buyers hunting below-market property across Australasian mortgagee-sale channels.
- Who: Buyers advocates and agents monitoring mortgagee listings by district or state for clients.
- Who: Lead-generation teams feeding distressed-property signals into CRM systems and alerting pipelines on a schedule.
- Who: Analysts comparing distressed inventory levels across Australia and New Zealand from one dataset.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does Distressed Property Scraper return?
The documented output for Distressed Property Scraper includes record id, country, source, title, distress type, auction, location and value. Availability of each field depends on the source page and the selected mode.
How much does Distressed Property Scraper cost?
It costs $2.60 per 1,000 results on the Apify Free plan and from $2.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Can I get only new or changed records on a schedule?
Yes. Use incremental mode: the actor remembers its baseline per scope and returns only what changed (NEW, UPDATED), with optional EXPIRED markers for records that left the source. Use stateKey to share one baseline across slightly different filter variants.
Why does a run return fewer records than I expected?
Max items (20 by default) stops the run once the cap is reached, walking the selected country lanes in order; raise it or set it to 0 to collect everything. A narrow filter combination (for example a single district plus a listing pool) can also simply match few records; clear a filter to widen the search.
Why did my run fail instead of returning an empty dataset?
One of the registers refused every request in that run (temporary rate limiting or an outage). The run is failed loudly rather than returning an empty dataset that would look like "no results". Wait a little and rerun.
Can I use it with AI agents or MCP?
Yes. The dataset is JSON, and you can optionally select Apify MCP connectors to send record summaries into connected apps. Notion requires a parent page URL or ID; connector exports are capped separately from the dataset.
