Hipages Scraper [$0.90/1K💰] | AU Tradie Leads & Reviews avatar

Hipages Scraper [$0.90/1K💰] | AU Tradie Leads & Reviews

Pricing

from $0.88 / 1,000 results

Go to Apify Store
Hipages Scraper [$0.90/1K💰] | AU Tradie Leads & Reviews

Hipages Scraper [$0.90/1K💰] | AU Tradie Leads & Reviews

Scrape hipages.com.au tradie profiles: trade categories, service areas, phone, email, ABN, licences and ratings, plus a separate reviews dataset. Ideal for Australian home-services lead generation and review monitoring.

Pricing

from $0.88 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Categories

Share

Hipages Scraper: Australian Tradie & Home-Services Data

Scrape hipages.com.au, Australia's largest home-services marketplace, and export tradie business profiles with trade categories, service areas, phone, email, website, ABN, licences, ratings and quote links as clean structured JSON. Individual review texts go to a separate, separately priced reviews dataset. It reads hipages' own turbo-stream JSON endpoints, so there is no browser and no Cloudflare challenge.

Built for Australian home-services lead generation, franchise-expansion research, tradie-competitor intelligence, and review-monitoring teams.

Main use cases

  • Lead generation australia: build targeted lists of tradies by trade, state and suburb, with phone, email and quote links.
  • Tradie competitor intelligence: compare ratings, recommendation counts, hired counts and service areas across trades.
  • Franchise and market-expansion research: measure how many businesses of a trade operate in each state or capital city.
  • Review monitoring: track hipages and Google review volume and sentiment by category over time (separate reviews dataset).
  • Vendor and procurement sourcing: shortlist licensed, insured tradies with verified licence and insurance data.
  • Home-improvement market datasets: assemble structured Australian home-services records for analytics.

How it works

hipages.com.au is a React Router 7 (Remix-style) app. Every route exposes its server loader data as a turbo-stream .data payload: structured JSON with no HTML, no cookies and no Cloudflare challenge. This actor queries those internal endpoints directly with plain HTTP (CheerioCrawler, no browser):

SurfaceEndpointReturns
Listing (search results)https://hipages.com.au/find/<category>/<state>/<suburb>.data{ businesses: [{ key, name, ... }], ... }
Business profilehttps://hipages.com.au/connect/<profile-key>.data{ site, page, hipagesReviews, reviewsSummary, insurances, ... }
Reviews paginationhttps://hipages.com.au/api/profile-reviews.data?slug=<key>&source=<hipages|google>&page=<n>&pageSize=<n>&sort=recent_desc{ ok, items: [review...], page: { index, size, total, hasMore } } (pageSize <= 50)

The payload is a turbo-stream flat array (objects whose keys look like _<n> reference chunk n; negative indexes are undefined/null sentinels), decoded by a dependency-free decoder and mapped into flat dataset rows. Because the .data endpoints return the exact loader JSON the site renders from, every field (ratings, all review texts, licences, service-area links, phones) is available without executing JavaScript, solving CAPTCHAs, or paying for an anti-bot service.

Extract Australian Tradie Leads For Lead Generation

For every business found on a listing page, the actor returns a full profile row: business name, profile key and URL, request-a-quote URL, primary category plus all categories, service areas (suburb/state/postcode), phone, mobile, email, website, ABN, address, suburb and state, hipages star rating and rating count, hired count, recommendation counts (yes/no/total), Google rating and count, licence details (authority, number, verification URL), review count, insurance data, description, headline, join date and image URL.

Build A Tradie Directory Without A hipages API

No public or open hipages API is documented; the site is JavaScript-driven and its listing data is not present in the served HTML. This actor sidesteps that by reading hipages' own internal .data loader endpoints, which return structured JSON directly. The reverse-engineering order considered was: embedded JSON blob (not applicable, the data is not in the HTML) then third-party search backend (none found, no Algolia/Meilisearch/Elasticsearch in the page JS) then the internal .data JSON API (used) then static HTML then Playwright (not needed).

If hipages ever changes its format, the first place to look is the site's JS bundle for the single-fetch route modules (routes/_connect.connect.$profile, routes/_banner.find.*) and the .data suffix convention.

Cost notes

  • Cheerio/JSON actor, 256 MB memory, no browser and no paid anti-bot API needed.
  • Requests are capped (maxRequestsPerCrawl, concurrency 20, 3 retries) so runs stay fast and cheap; the .data endpoints are lightweight JSON.
  • Set includeReviews to false or maxReviewsPerBusiness to 0 to skip reviews entirely.

Input Parameters

FieldTypeRequiredDefaultNotes
categorystringNoplumbershipages trade category key, e.g. plumbers, electricians, painters, concretors, tilers, builders, handyman, pest_control, cleaning_services, air_conditioning.
locationstringNo-state/suburb (e.g. nsw/sydney, vic/melbourne) or a state key (nsw, vic, qld, wa, sa, tas, act, nt). Leave empty to scrape the major capital cities.
startUrlsarray (requestListSources)No[]Explicit hipages listing pages (https://hipages.com.au/find/plumbers/nsw/sydney) or business profiles (https://hipages.com.au/connect/<key>). Overrides category/location.
maxBusinessesintegerNo100Maximum number of business profiles to output.
includeReviewsbooleanNotrueCollect the individual review texts embedded in each profile into the separate reviews dataset.
maxReviewsPerBusinessintegerNo10Maximum reviews per business written to the reviews dataset. Higher values page through hipages' reviews API (up to 50 per page). 0 skips reviews entirely.
proxyobject (proxy)NouseApifyProxy: falseStandard Apify proxy picker. Off by default; enable (residential) if hipages adds bot protection later.

Output Fields

Default dataset: one row per business

The default overview view shows Business, Trade, Suburb, State, Rating, Reviews, Phone and Website.

FieldTypeDescription
businessNamestringBusiness / tradie name.
profileKeystringhipages profile key (slug).
profileUrlstringhipages profile URL.
quoteUrlstringURL of the request-a-quote page.
primaryCategorystringPrimary trade category.
categoriesarrayAll trade categories / services.
serviceAreasarraySuburbs/postcodes served ({suburb, state, postcode}).
phonestringBusiness phone.
mobilestringMobile number.
emailstringBusiness email.
websitestringBusiness website.
abnstringAustralian Business Number.
addressstringBusiness address.
suburbstringSuburb.
statestringState.
ratingnumberAverage hipages star rating.
ratingCountintegerNumber of ratings.
hiredCountintegerNumber of jobs hired through hipages.
recommendYesintegerPositive recommendations.
recommendNointegerNegative recommendations.
totalRecommendationsintegerTotal recommendations.
googleRatingnumberGoogle rating.
googleRatingCountintegerGoogle rating count.
licensesarrayLicence authority, number and verification URL.
reviewCountintegerReview count.
insuranceobjectInsurance details.
descriptionstringBusiness description.
headlinestringBusiness headline.
joinedDatestringDate the business joined hipages.
imageUrlstringProfile image URL.
scrapedAtstringISO timestamp.

reviews dataset: one row per review

reviewId, source (hipages/google), reviewerName, rating, comment, date, location, category, hired, verified, reply ({comment, author, date}), plus the owning business's profileKey, profileUrl, businessName, primaryCategory and scrapedAt, so each review row is self-contained and joinable back to the business.

Example Input And Output

Input

{
"category": "plumbers",
"location": "nsw/sydney",
"maxBusinesses": 100,
"includeReviews": true,
"maxReviewsPerBusiness": 10
}

Output (default dataset, one row)

{
"businessName": "Hoppy's Plumbing",
"profileKey": "hoppysplumbing",
"profileUrl": "https://hipages.com.au/connect/hoppysplumbing",
"quoteUrl": "https://hipages.com.au/connect/hoppysplumbing",
"primaryCategory": "Plumbers",
"categories": ["Plumbers", "Gas Fitters"],
"serviceAreas": [{ "suburb": "Sydney", "state": "NSW", "postcode": "2000" }],
"phone": "02 9000 0000",
"mobile": "0400 000 000",
"email": "info@hoppysplumbing.com.au",
"website": "https://hoppysplumbing.com.au",
"abn": "12 345 678 901",
"address": "1 Example St, Sydney NSW 2000",
"suburb": "Sydney",
"state": "NSW",
"rating": 4.9,
"ratingCount": 128,
"hiredCount": 96,
"recommendYes": 120,
"recommendNo": 3,
"totalRecommendations": 123,
"googleRating": 4.8,
"googleRatingCount": 64,
"licenses": [{ "authority": "NSW Fair Trading", "number": "123456C", "verified": true, "verifyUrl": "https://..." }],
"reviewCount": 128,
"insurance": { "publicLiability": true },
"description": "Licensed plumber serving Sydney ...",
"headline": "24/7 emergency plumbing",
"joinedDate": "2018-05-01",
"imageUrl": "https://.../logo.png",
"scrapedAt": "2026-10-11T09:00:00.000Z"
}

Output (reviews dataset, one row)

{
"reviewId": "abc123",
"source": "hipages",
"reviewerName": "Sarah M.",
"rating": 5,
"comment": "Fast, tidy and well priced.",
"date": "2026-08-20",
"location": "Sydney",
"category": "Plumbers",
"hired": true,
"verified": true,
"reply": { "comment": "Thanks Sarah!", "author": "Hoppy's Plumbing", "date": "2026-08-21" },
"profileKey": "hoppysplumbing",
"profileUrl": "https://hipages.com.au/connect/hoppysplumbing",
"businessName": "Hoppy's Plumbing",
"primaryCategory": "Plumbers",
"scrapedAt": "2026-10-11T09:00:00.000Z"
}

Integrations & Automation

Every Apify actor is reachable through the Apify API, and this one plugs into webhooks, Zapier and Make so results can flow into a Google Sheet, Airtable base, CRM or data warehouse. For lead generation and review monitoring, run it on a schedule: a weekly snapshot of your target trades and cities keeps your lead list fresh and tracks rating and review changes, and recurring runs also improve the actor's Store recommendation signals.

FAQ

Is there an official hipages API?

No public or open hipages API is documented; the site is JavaScript-driven with a React Router 7 turbo-stream backend. This actor reads hipages' own internal .data loader endpoints, which return the same structured JSON the site's frontend renders from, so you get tradie data without an API key, a browser or an anti-bot service.

What are the alternatives to this actor / this data source?

For Australian home-services data you can combine this with Airtasker, ServiceSeeking or Yellow Pages Australia scrapers. hipages is the largest dedicated tradie marketplace, so it is worth having alongside general directory sources to widen coverage of trade businesses, licences and reviews.

How do I build a tradie lead list by trade and location?

Set category to the trade (e.g. electricians) and location to a state or state/suburb (e.g. vic/melbourne), then set maxBusinesses. The actor returns one row per tradie with phone, mobile, email, website, ABN, service areas and rating, ready for a spreadsheet or CRM.

Where do the review texts go?

Review texts are written to a separate reviews dataset, one row per review, so you can export them independently. Business rows in the default dataset and review rows are charged separately.

Why are some businesses missing a licence or email?

Only what hipages exposes on the profile is returned. Some tradies do not publish a licence, insurance record or email, so those fields can be empty for those rows.

Does hipages block scrapers?

The internal .data endpoints return plain JSON without cookies or a Cloudflare challenge, so scrapers work directly. If hipages adds bot protection later, enable the Apify proxy input (residential group) and re-test before scaling.

SEO Keywords

hipages, hipages scraper, hipages api, tradie, tradies, home services australia, tradie directory, lead generation australia, plumber sydney, electrician melbourne, australian tradies, tradesman directory, home improvement australia, tradie reviews, abn builder leads, hipages alternative, hipages data, australia home services, tradie leads, tradie marketplace

For AI Agents & LLM Apps

Purpose: return one structured Australian tradie business row per hipages profile for a given trade category and location, plus optional per-review rows in a separate dataset.

Minimal working input:

{ "category": "plumbers", "location": "nsw/sydney", "maxBusinesses": 50 }

Output fields (default dataset): businessName, profileKey, profileUrl, quoteUrl, primaryCategory, categories, serviceAreas, phone, mobile, email, website, abn, address, suburb, state, rating, ratingCount, hiredCount, recommendYes, recommendNo, totalRecommendations, googleRating, googleRatingCount, licenses, reviewCount, insurance, description, headline, joinedDate, imageUrl, scrapedAt.

Output fields (reviews dataset): reviewId, source, reviewerName, rating, comment, date, location, category, hired, verified, reply, profileKey, profileUrl, businessName, primaryCategory, scrapedAt.

Behaviors an agent should know:

  • category and location drive discovery; if startUrls is set, both are ignored and only those pages are scraped.
  • location accepts state/suburb or a bare state key; empty means the five major capital cities.
  • maxBusinesses defaults to 100; free-plan runs are capped at 10 businesses.
  • includeReviews defaults to true; reviews are written to a separate dataset, not into the business rows.
  • maxReviewsPerBusiness defaults to 10; higher values page through hipages' reviews API (up to 50 per page). 0 skips reviews entirely.
  • The proxy is off by default; enable it only if hipages starts blocking.

Billing: pay-per-event: $0.0009 per business result ($0.90 / 1,000) via the default-dataset item event, $0.0009 per review ($0.90 / 1,000) via the custom review event, plus a $0.00005 actor-start event.

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by hipages. It accesses only publicly available hipages pages and internal JSON surfaces; it does not log in, bypass authentication, or solve CAPTCHAs on anyone's behalf. Users are responsible for ensuring their use complies with hipages' Terms of Service and with applicable data-protection law (including the Australian Privacy Act). Where output includes business contact details such as phone numbers, mobiles or emails, it must not be used for unsolicited commercial outreach in violation of applicable law.