Homely.com.au - Buy, Rent, Sold, Agents, Suburbs Reviews avatar

Homely.com.au - Buy, Rent, Sold, Agents, Suburbs Reviews

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Homely.com.au - Buy, Rent, Sold, Agents, Suburbs Reviews

Homely.com.au - Buy, Rent, Sold, Agents, Suburbs Reviews

Scrape Homely.com.au properties for sale, rent, and sold, plus agent finder, suburb reviews, ratings, and Q&A. Search by suburb or use URLs. Returns 50+ fields, including price, beds, baths, parking, geo, agent contacts, photos, and inspections.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

1

Bookmarked

7

Total users

2

Monthly active users

20 hours ago

Last modified

Features

Limited permissions

Share

Homely.com.au Scraper: Buy, Rent, Sold, Agents & Suburb Reviews

Homely.com.au Scraper turns Homely.com.au, Australia's community-driven property portal, into a clean data API. Get properties for sale, for rent and sold, the agent finder (agents with contact details, plus offices), community suburb reviews and ratings, and suburb Q&A, all from one actor. Search by suburb name, or paste exact Homely links, then export to JSON, CSV or Excel, or pull the results straight into your app through the API.

Why This Scraper?

  • Six datasets, one actor. Buy, rent and sold listings, the agent finder (agents and offices), suburb reviews, and community Q&A, all under one input form.
  • Two ways to find data. Search by suburb name, or paste exact Homely links; URL mode reads whatever kind of page you paste, from a search-results page to a single listing or agent profile.
  • Filters that follow you into URL mode. Price, bedrooms, bathrooms, car spaces, property type, required features and under-offer status narrow a suburb search AND a pasted search-results link.
  • Richer records on demand. Turn on full details for a listing agent's email, the full description, council rates and floor plans, or for an agent's job title, website, areas of expertise and performance stats.
  • Suburb context on every listing. Attach a suburb's community rating, score, pros/cons and "great for" tags to every property record, with one extra request per suburb, not per listing.
  • Built for schedules. Incremental mode returns only new and changed records on recurring runs, and unchanged records are never billed.
  • Optional export to your apps. Pipe a summary of every record into Notion, Linear, Airtable or Apify via MCP connectors, on top of the full dataset.

Use Cases

  • Buyers and renters: track new listings for sale or rent in a suburb, filtered by price, bedrooms and property type.
  • Agencies and PropTech teams: monitor competitor agents and offices, their ratings, listing counts and transaction history.
  • Investors and market researchers: follow sold prices and suburb ratings over time to spot trends before they show up elsewhere.
  • Content and community sites: pull suburb reviews, pros/cons and community Q&A to build local suburb guides.
  • Lead generation: collect agent contact details, including email and mobile, from a suburb's agent finder.

Data You Get

Sample shape: values are illustrative placeholders, not from a live record.

FieldExample
mode"buy" (also "rent", "sold", "agents", "offices", "suburb", "questions")
id13342139
urllink to the listing, agent, office, suburb or question page
title"3 Bedroom House For Sale" (listing records)
propertyType"House"
price / priceValue{"display": "$1,450,000", "short": "$1.45M"} / 1450000
features{"bedrooms": 3, "bathrooms": 2, "cars": 1}
address / locationfull street address / {"latitude": -33.891, "longitude": 151.274}
agents[{"name": "Jane Smith", "phone": "...", "mobile": "...", "email": "..."}] (email requires full details)
officeagency or office name, on listing and agent-finder records alike
imagesarray of photo URLs
inspections / auctionupcoming inspection windows / auction date, when scheduled
rental{"bond": 2900, "availableOn": "2026-10-01"} (rent listings only)
soldOn / soldPriceValue"2026-08-15" / 1380000 (buy and sold listings)
name / email / mobile / phoneagent contact details (agent-finder records); offices carry name and company but no direct contact fields
reviewSummary{"reviewCount": 42, "rating": 4.8} (agent and office records)
listingSummary / transactionscounts of active listings and past transactions per agent or office
rating / scorecommunity suburb rating and numeric score (suburb records)
pros / cons / greatForsuburb pros, cons and "great for" tags
reviewsthe suburb's full reviews, inline: title, body, rating, helpful count, author
replyCount / followerCountengagement counts on a community question
changeTypeNEW, UPDATED, UNCHANGED, REAPPEARED or EXPIRED (Incremental mode only)
scrapedAt / sourceUrlwhen the record was read, and the page it came from

The dataset has ready-made Console views: Overview, Listings (buy, rent, sold), Agents, Offices, Suburbs, Suburb reviews (one row per review), Questions and Changes (incremental mode).

Turning on full details adds description, councilRates, floorPlans, buildingFeatures and documents to listing records, and jobTitle, websiteUrl, areasOfExpertise, servicedLocations and performance stats to agent records. Suburb records can also carry ranking, whoLivesHere, numberOfFollowers, bestLocations, otherLocations and popularQuestions for that suburb, and a listing record gains a suburbInsights object when suburb insights are switched on.

How to Use

  1. Pick how you supply input: search by suburb, or paste exact Homely links.
  2. In search mode, pick what to scrape (buy, rent, sold, agents, offices, suburb or questions), give it a suburb, and set any listing filters or agent sort order.
  3. Turn on Fetch full details or Add suburb insights for the richer fields, and set Max records to control run size and cost.
  4. Click Start, then download the dataset as JSON, CSV or Excel, or read it through the API.

Properties for sale in a suburb, filtered:

{
"mode": "search",
"dataset": "buy",
"location": "Bondi NSW 2026",
"bedroomsMin": 2,
"priceMax": 2000000,
"maxItems": 50
}

Agent finder with contact details:

{
"mode": "search",
"dataset": "agents",
"location": "Surry Hills NSW 2010",
"agentSpecialty": "sale",
"detail": true,
"maxItems": 30
}

Suburb reviews and community rating:

{
"mode": "search",
"dataset": "suburb",
"location": "Bondi NSW 2026"
}

Paste a search-results link, still filtered:

{
"mode": "url",
"startUrls": ["https://www.homely.com.au/for-rent/bondi-nsw-2026/real-estate"],
"bedroomsMin": 2,
"maxItems": 40
}

Run it from your code

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("abotapi/homely-com-au-scraper").call(
run_input={"mode": "search", "dataset": "buy", "location": "Bondi NSW 2026", "maxItems": 50}
)
for listing in client.dataset(run["defaultDatasetId"]).iterate_items():
print(listing["title"], listing["priceValue"])

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('abotapi/homely-com-au-scraper').call({
mode: 'search', dataset: 'buy', location: 'Bondi NSW 2026', maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.

Caps and pagination

Max records stops the whole run once that many records have been pushed (default 20; 0 means the maximum of 100000). Max pages per location additionally caps how many result pages are read per suburb; leave it empty for the hard limit of 400 pages per suburb, also bounded by Max records. Listing filters run after each page is fetched, so a tightly filtered search may need to read several pages to fill Max records.

Resume and recurring updates

  • Resume from a previous run (resumeFromRunId) continues ONE interrupted crawl: paste its run or dataset ID and this run skips every record already collected there, so a large pull can be split across runs without duplicates or double charges.
  • Incremental mode (incrementalMode) is for scheduling the SAME search again and again. Each record is classified NEW, UPDATED (with changedFields), UNCHANGED (suppressed and not billed unless emitUnchanged is on), REAPPEARED, or EXPIRED. REAPPEARED and EXPIRED only exist once a prior run has fully scanned this exact search with emitExpired on and marked a record as no longer found; nothing can reappear before that has happened at least once. EXPIRED records are only produced after a run that fully scanned the tracked search, never when Max records capped it or Resume was used, since a partial scan cannot tell "gone" apart from "not reached yet". Every field is compared with the saved copy except scrapedAt, sourceUrl, daysOnMarket, daysOnHomely, isNew and suburbInsights, which stay in the output but never cause UPDATED or appear in changedFields; numbers compare by value (25.0 equals 25). ignoreFieldsForChanges adds your own field names or dotted paths (for example agents.phone, applied inside lists); changing it never causes a one-time wave of UPDATED rows. Records excluded by a link's query filters are never reported as EXPIRED. stateKey names or deliberately shares a monitoring campaign; leave it empty and the actor derives one automatically from the search, filters and detail settings.

Send results into your apps (MCP connectors)

Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.

What gets written to the connector: a condensed, human-readable summary of each record, not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.

  1. Authorize a connector once under Apify -> Settings -> Integrations (Notion, Linear, Airtable, or Apify).
  2. Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
  3. For Notion, also set notionParentPageUrl to the page where items should be created.

The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.

Input Parameters

ParameterTypeDefaultDescription
modestringsearchsearch (tell us a suburb) or url (paste Homely links).
datasetstringbuyWhat to scrape in search mode: buy, rent, sold, agents, offices, suburb, or questions. Ignored in URL mode.
locationstringno default (prefill: Bondi NSW 2026)Suburb to scrape, e.g. "Bondi NSW 2026" or a Homely slug.
locationIdsarrayno default (prefill: empty list)Optional pre-resolved numeric Homely location IDs (agent finder can use these directly).
agentSpecialtystringanyFilter agents by what they list: any, sale, or rent.
officeIdintegerno defaultList all agents in one specific office by its numeric Homely office ID.
sortstringdefaultOrdering for the Agents / Offices datasets: default, rating, reviews, sales, or listings. Listings are returned in Homely's own order.
startUrlsarrayone example of every supported link shape (see the table below)Homely URLs to scrape (URL mode). Any mix of the shapes in the table below.
priceMinintegerno defaultMinimum price (weekly rent for Rent). Applies in search mode and to a pasted search-results URL.
priceMaxintegerno defaultMaximum price (weekly rent for Rent). Applies in search mode and to a pasted search-results URL.
bedroomsMinintegerno defaultMinimum number of bedrooms. Applies in search mode and to a pasted search-results URL.
bedroomsMaxintegerno defaultMaximum number of bedrooms. Applies in search mode and to a pasted search-results URL.
bathroomsMinintegerno defaultMinimum number of bathrooms. Applies in search mode and to a pasted search-results URL.
bathroomsMaxintegerno defaultMaximum number of bathrooms. Applies in search mode and to a pasted search-results URL.
carSpacesMinintegerno defaultMinimum number of car spaces. Applies in search mode and to a pasted search-results URL.
carSpacesMaxintegerno defaultMaximum number of car spaces. Applies in search mode and to a pasted search-results URL.
propertyTypesarrayno default (prefill: empty list)Keep only these property types (house, unit, apartment, townhouse, villa, land, and more). Leave empty for all.
propertyFeaturesarrayno default (prefill: empty list)Keep only listings whose tags include ALL of these. Leave empty to skip.
isUnderOfferbooleanno defaultIf on, keep only listings currently under offer.
detailbooleanfalseFetch each record's detail source for extra fields: listing agent email, full description, council rates and floor plans; or agent job title, website, areas of expertise and performance. Adds one request per record.
includeSuburbInsightsbooleanfalseAttach the suburb's community rating, score, pros/cons and "great for" tags to every listing record. Costs one extra request per suburb, not per listing.
maxItemsinteger20Stop after this many records (at most 100000). 0 = the maximum.
maxPagesintegerno defaultHow many result pages to read per location. Leave empty (or 0) for the hard limit of 400 pages per location; also bounded by Max records.
proxyobjectApify Proxy (datacenter)Network connection. The default works on all plans; the first page can take longer while the site's check is cleared. Residential answers fastest.
resumeFromRunIdstringno defaultContinue one interrupted run without returning or charging for records already collected there.
incrementalModebooleanfalseReturn only new and changed records on scheduled runs of the same search.
stateKeystringno defaultName or deliberately share an Incremental mode monitoring campaign.
ignoreFieldsForChangesarray[]Ignore fields when detecting changes (incremental mode only): field names or dotted paths that never cause UPDATED.
emitUnchangedbooleanfalseAlso return (and bill) records that have not changed since the last run.
emitExpiredbooleanfalseAlso return (and bill) records that were present before but are no longer found.
mcpConnectorsarrayno defaultOptional: send a summary of each record to apps you authorized under Integrations.
notionParentPageUrlstringno defaultNotion connector only: page under which item pages are created.
maxNotifyListingsinteger50Cap on items written to each connector per run. Does not affect the dataset.

URL mode reads every link shape below. Behaviour change: if you switch to URL mode and leave Homely URLs untouched (or omit it from an API call), the run now scrapes one example of each shape (a few more variants than the table rows) instead of nothing; cap it with Max records. A link in any other shape is skipped with a warning in the log and the run is flagged as partial; it is never silently counted as empty.

Link shapeExampleResult
Buy results (also page-N, the short form without /real-estate, and the bare homely.com.au host)https://www.homely.com.au/for-sale/bondi-nsw-2026/real-estateListings
Rent results (also page-N)https://www.homely.com.au/for-rent/bondi-nsw-2026/real-estateListings
Sold results (also page-N)https://www.homely.com.au/sold-properties/bondi-nsw-2026Listings
Results with query filtershttps://www.homely.com.au/for-sale/bondi-nsw-2026/real-estate?priceMin=1000000Listings narrowed by the filters in the link (priceMin, priceMax, bedrooms, bathrooms, carSpaces); the site ignores these, so they are applied to the results
Suburb profilehttps://www.homely.com.au/suburb-profile/bondi-nsw-2026Suburb
Suburb questions (also page-N)https://www.homely.com.au/bondi-waverley-sydney-greater-new-south-wales/questionsQuestions
Listing pagehttps://www.homely.com.au/homes/11-1a-sandridge-street-bondi-nsw-2026/13687042One listing with full details
Listing page, legacy form (/listings/<id>, or any slug before the id)https://www.homely.com.au/listings/13687042One listing with full details
Listing API linkhttps://api.homely.com.au/v1/listings/13687042One listing with full details
Agent finderhttps://www.homely.com.au/real-estate-agents/bondi-nsw-2026Agents in the suburb
Agent finder, nationalhttps://www.homely.com.au/real-estate-agentsAgents across Australia (cap it with Max records)
Agent profilehttps://www.homely.com.au/agent/benl36One agent with full details
Agency finderhttps://www.homely.com.au/real-estate-agencies/bondi-nsw-2026Agencies (offices) in the suburb
Agency properties (also /properties-for-rent)https://www.homely.com.au/real-estate-agency/lj-hooker-bondi-beach-26374/properties-for-saleEvery page of the agency's listings with full details (up to Max pages and Max records)
Agency sold listingshttps://www.homely.com.au/real-estate-agency/lj-hooker-bondi-beach-26374/sold-propertiesEvery page of the agency's sold listings with full details (up to Max pages and Max records)

A bare listing id link such as /homes/13687042 is not a valid Homely page and is skipped with a warning.

Output Example

Sample shape: values are illustrative placeholders, not from a live record.

{
"mode": "buy",
"id": 13342139,
"uri": "/property/3-bed-house-bondi-nsw-2026/13342139",
"url": "https://www.homely.com.au/property/3-bed-house-bondi-nsw-2026/13342139",
"title": "3 Bedroom House For Sale",
"statusType": "forSale",
"propertyType": "House",
"isUnderOffer": false,
"daysOnMarket": 14,
"price": {
"display": "$1,450,000",
"short": "$1.45M"
},
"priceValue": 1450000,
"address": {
"streetAddress": "12 Sample Street",
"suburb": "Bondi",
"state": "NSW",
"postcode": "2026"
},
"location": {
"address": "12 Sample Street, Bondi NSW 2026",
"isHidden": false,
"latitude": -33.891,
"longitude": 151.274
},
"features": {
"bedrooms": 3,
"bathrooms": 2,
"cars": 1
},
"featureTags": ["pool", "air conditioning"],
"agents": [
{
"id": 5001,
"name": "Jane Smith",
"phone": "0282001234",
"mobile": "0412345678",
"email": null
}
],
"office": {
"name": "Sample Realty Bondi",
"company": "Sample Realty"
},
"images": [
"https://img.homely.com.au/photo1.jpg",
"https://img.homely.com.au/photo2.jpg"
],
"inspections": [
{ "startsOn": "2026-10-04T10:00:00+11:00", "endsOn": "2026-10-04T10:30:00+11:00" }
],
"auction": null,
"soldOn": null,
"soldPrice": null,
"soldPriceValue": null,
"sourceUrl": "https://www.homely.com.au/for-sale/bondi-nsw-2026/real-estate",
"scrapedAt": "2026-09-29T04:00:00+00:00"
}

Plan Requirement

The default connection works on every plan, including plans without Apify proxy access. Homely challenges plain datacenter connections on its result pages (measured: the first request is refused with a check page); the actor clears that check on its own, so the first page of a run can take longer than the following ones (seconds on a good connection, up to a couple of minutes when a connection has to be replaced). When the selected connection is refused outright, the actor continues on a backup connection and tells you so in the log. For large or frequent runs, the Residential proxy group answers fastest and needs no check; pick it under Proxy & connection. If no results page can be loaded at all, the run ends with the message "Could not load any results page (the requests failed), so nothing was collected. This is a connection problem, not an empty search. Please try again later." If some pages could not be read, the message is "No records matched, but N request(s) could not be read this run, so this result may be incomplete. Please run the actor again." If a page loads but its data cannot be read, the run ends with "The page loaded but its data could not be read (the site layout may have changed), so nothing was collected. This is not an empty result. Please report it so the extractor can be updated."

FAQ

How much does it cost?

You pay a small run-start fee, plus per record returned, plus a smaller surcharge only for records whose detail source was fetched: every record when Fetch full details is on, plus any single listing or agent page (including a listing API link, or the properties of an agency page) pasted directly in URL mode regardless of that setting. The Pricing tab shows the current rates. Use Max records to cap the cost of any run.

This actor collects only publicly available information from Homely.com.au. You are responsible for how you use scraped data, including any personal data of agents: follow Homely's terms and the laws that apply to you (including GDPR/CCPA where relevant), and get legal advice if you plan commercial redistribution.

Can I get only new or changed records on a schedule?

Yes. Schedule the actor from the Schedules tab against the same search and turn on Incremental mode. Each run then returns only new and updated records; unchanged ones are not billed unless you turn on Emit unchanged. Reappeared and expired records only appear once Emit expired is also on and a run completes a full, uncapped scan.

Do the filters still work when I paste a URL instead of searching?

Yes, for a pasted search-results link (for-sale, for-rent, or sold-properties). Price, bedrooms, bathrooms, car spaces, property type, required features and under-offer status all narrow the listings collected from that link, exactly as they would in search mode. A property-type path such as /houses, /apartments, /units, /townhouses, /land, /block-of-units or /studio-apartments on a pasted for-sale or for-rent link is applied as the property-type filter (combined with the Property types field, only types in both are kept), and the link is read as that type's own results list, so a page number on it (for example /houses/page-2) counts pages of that typed list. They have no effect when the pasted link is a single listing, agent, suburb, or questions page, since there is no result list left to filter.

Why did my run fail instead of returning an empty dataset?

The run fails when nothing could be collected because no page could be read at all (the connection was refused, or a page loaded but its data could not be read). If only some requests fail once a run is underway, the run ends with a partial dataset and a status message explaining why. Try again, or switch Proxy to Residential, if an empty result looks wrong.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

๐Ÿ”— Want more real estate data?

Pair this actor with these related scrapers from the same team:

๐Ÿ  Domain.com.au
Extract enriched Domain.com.au property listings across buy, rent, and sold, with...
๐Ÿ  REIWA Scraper
Scrape REIWA.com.au across sale, rental, sold, commercial, business and rural properties...
๐Ÿ  Realestate.co.nz Scraper
Scrape Realestate.co.nz property listings across New Zealand. Search properties for sale...
๐Ÿ  Real Estate AU Agents Scraper
Scrape Australian real estate agent and agency profiles by suburb or profile URLs...
๐Ÿค– AU Residential Property Scraper
Scrape Australian real estate listings with detailed property information. Extract...
๐Ÿ  Property Finder UAE Scraper
Scrape PropertyFinder.ae listings at scale. Extract prices, property details, images...

๐Ÿ‘‰ Browse all abotapi scrapers

๐Ÿ’ฌ Support

  • ๐Ÿž Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
  • ๐Ÿ› ๏ธ Need another site, extra fields or a private build? Email contact@abotapi.com.
  • โญ Enjoying it? A quick review on the actor page helps other users find it.
⌂ ๆข็ฝ‘ๅ€