Homely.com.au at a glance
Homely.com.au is a ready-to-run Apify actor from abotapi for collecting real estate data. Its documented output includes mode, id, title, name and url, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.20 per 1,000 results on the Apify Free plan and from $1.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
- Real Estate, Automation, Social Media
- Region
- Oceania
- Pricing
- $2.20 per 1,000 results (Free plan), from $1.00 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 32 options
- Run success
- 98.2% of completed public runs in the last 30 days
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.
What Homely.com.au can do
- 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.
Choose what to collect
These inputs let you configure Homely.com.au - Buy, Rent, Sold, Agents, Suburbs Reviews. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | Search = tell us a suburb and we find the records. URL = paste exact Homely links. In URL mode the link itself decides what gets scraped, so the dataset picker and every search filter below are ignored. |
datasetstring | The kind of record to return. Buy / Rent / Sold are property listings. Agents and Offices come from Homely's agent finder. Suburb returns the community profile (rating, score, pros and cons, reviews). Questions returns the suburb's community Q&A. Ignored when the input method is URL. |
locationstring | Suburb to scrape, e.g. 'Bondi NSW 2026', 'Bondi, NSW', or a Homely slug like 'bondi-nsw-2026'. The state and postcode help disambiguate same-named suburbs. Required for every dataset in Search mode. |
locationIdsarray | Optional pre-resolved numeric Homely location IDs (Agents mode can use these directly without a name lookup). |
agentSpecialtystring | Filter agents by what they list. |
officeIdinteger | List all agents in a specific office by its numeric Homely office ID. |
sortstring | Ordering for the Agents / Offices datasets. Property listings come back in Homely's own order and are not re-sorted. |
Show 25 more inputs
| Input | What it controls |
|---|---|
startUrlsarray | Paste exact Homely URLs: for-sale / for-rent / sold-properties result pages (short form, paginated, or with price / bedroom query filters), suburb-profile and questions pages, a listing page (/homes//) or the open listing API link, agent finder and agent profile pages, agency finder and agency property pages. Used only in URL mode. Left untouched, URL mode runs one example of each supported shape. |
priceMininteger | Only keep listings at or above this price. For Rent this is the weekly rent. Applied to Buy/Rent/Sold. Applies in BOTH search mode and URL mode: it narrows the listings collected from a pasted search-results URL as well. |
priceMaxinteger | Only keep listings at or below this price (weekly rent for Rent). Applies in BOTH search mode and URL mode: it narrows the listings collected from a pasted search-results URL as well. |
bedroomsMininteger | Minimum number of bedrooms. Applies in BOTH search mode and URL mode: it narrows the listings collected from a pasted search-results URL as well. |
bedroomsMaxinteger | Maximum number of bedrooms. Applies in BOTH search mode and URL mode: it narrows the listings collected from a pasted search-results URL as well. |
bathroomsMininteger | Minimum number of bathrooms. Applies in BOTH search mode and URL mode: it narrows the listings collected from a pasted search-results URL as well. |
bathroomsMaxinteger | Maximum number of bathrooms. Applies in BOTH search mode and URL mode: it narrows the listings collected from a pasted search-results URL as well. |
carSpacesMininteger | Minimum number of car spaces. Applies in BOTH search mode and URL mode: it narrows the listings collected from a pasted search-results URL as well. |
carSpacesMaxinteger | Maximum number of car spaces. Applies in BOTH search mode and URL mode: it narrows the listings collected from a pasted search-results URL as well. |
propertyTypesarray | Keep only these property types. Leave empty for all. Applies in BOTH search mode and URL mode: it narrows the listings collected from a pasted search-results URL as well. |
propertyFeaturesarray | Keep only listings whose tags include ALL of these (e.g. 'pool', 'air conditioning'). Leave empty to skip. Applies in BOTH search mode and URL mode: it narrows the listings collected from a pasted search-results URL as well. |
isUnderOfferboolean | If on, keep only listings currently under offer. Leave off to include all. Applies in BOTH search mode and URL mode: it narrows the listings collected from a pasted search-results URL as well. |
detailboolean | Open each record's detail source for extra fields: listing agent EMAIL + full description + council rates + floor plans; agent job title, website, areas of expertise, performance. Adds one request per record. |
includeSuburbInsightsboolean | Attach the suburb's community rating, score, pros and cons and 'great for' tags to every property record. Costs one extra request per suburb, not per listing. Applies to the Buy / Rent / Sold datasets. Off by default. |
maxItemsinteger | THE cap for the run: stop after this many records (default 20, at most 100000). 0 means the 100000 maximum. |
maxPagesinteger | How many result pages to read per location. Leave empty (or 0) for the hard limit of 400 pages per location; the run is also bounded by Max records. |
resumeFromRunIdstring | Paste a previous run ID or dataset ID to continue an interrupted crawl without returning or charging for records already collected there. Use this after an interrupted run, or to continue a large pull in another run. For recurring monitoring of the same search, use Incremental mode below instead. |
incrementalModeboolean | Turn this on for daily or recurring monitoring. The first run returns all matching records as NEW. Later runs normally return only NEW, UPDATED, and REAPPEARED records. Every field of a record is compared with its saved copy (a value that is missing on one side is not a change) except scrapedAt, sourceUrl, the days-on-market counters (daysOnMarket, daysOnHomely, isNew) and suburbInsights, which never cause UPDATED; add more with Ignore fields below. Turn on "Emit unchanged" or "Emit expired" only when you also want those records returned (and billed). State is kept separately per search/filter/detail setup; use State key to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from a previous run above. |
stateKeystring | Optional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the search/filters/detail settings -- different searches then never mix state with each other. |
emitUnchangedboolean | Off by default. Turn on to also return records that have not changed since the last run, marked UNCHANGED. This returns -- and bills -- extra rows you already have, so leave it off unless you specifically want the full snapshot every run. |
emitExpiredboolean | Off by default. Turn on to also return records that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search -- not when Max records capped it or when Resume was used. This returns -- and bills -- extra synthetic rows, so leave it off unless you need expiry tracking. |
ignoreFieldsForChangesarray | Optional. Field names (or dotted paths such as agents.phone, applied inside lists) that must NOT count as a change when Incremental mode compares a record with its saved copy. Ignored fields stay in the output; they just never turn a record into UPDATED or appear in changedFields. Already ignored by default: scrapedAt, sourceUrl, daysOnMarket, daysOnHomely, isNew, suburbInsights. |
mcpConnectorsarray | Optionally send the scraped results into apps you use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed summary per item; the full record stays in the dataset. Supported: Notion, Linear, Airtable, Apify. |
notionParentPageUrlstring | URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors. |
maxNotifyListingsinteger | Cap on items written to each connector per run. Does not affect the dataset. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
modeModeidIDtitleTitlenameNameurlURLpropertyTypeTypepricepricepriceValuePricefeaturesfeaturesaddressaddresslocationlocationagentsagentsShow 50 more fields
officeofficescorescoreratingRatingnumberOfReviewsnumberOfReviewsreplyCountreplyCountchangeTypeChange type (incremental mode)changedFieldsChanged fields (incremental mode) (array)firstSeenAtFirst seen (incremental mode) (date)lastSeenAtLast seen (incremental mode) (date)scrapedAtScraped AtstatusTypestatusTypedaysOnMarketDays on marketsoldOnSold onsoldPricesoldPricesoldPriceValueSold pricerentalrentalauctionauctioninspectionsinspectionsimagesimagesusernameusernameemailEmailmobileMobilephonePhonereviewSummaryreviewSummarylistingSummarylistingSummarytransactionstransactionsfollowerCountFollowersisPremierisPremierfullNameFull nameuriURIcompanycompanylocationIdLocation IDfullAddressAddresspostcodepostcodecitycitynumberOfFollowersFollowersrankingrankingprosprosconsconsgreatForgreatFornotGreatFornotGreatForreviews.idReview IDreviews.titleTitlereviews.descriptionReviewreviews.ratingRatingreviews.prosreviews.prosreviews.consreviews.consreviews.numberOfHelpfulsHelpfulreviews.createdOnCreated onreviews.userreviews.userExample output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"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"
}Ways to use this data
- 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.
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 Homely.com.au return?
The documented output for Homely.com.au includes mode, id, title, name, url, type, price and price. Availability of each field depends on the source page and the selected mode.
How much does Homely.com.au cost?
It costs $2.20 per 1,000 results on the Apify Free plan and from $1.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. 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.
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.
