hipages APIhipages.com.au ↗
Search Australian trade businesses by category and location, retrieve detailed profiles with ABN and aggregate ratings, and access customer reviews via the hipages.com.au API.
What is the hipages API?
The hipages.com.au API covers 4 endpoints for searching trade and home-service businesses across Australia, retrieving full business profiles, reading customer reviews, and listing all available trade categories. The search_businesses endpoint returns paginated results with star ratings, phone numbers, service areas, and recommendation counts — filtered by category slug and Australian state or city.
curl -X GET 'https://api.parse.bot/scraper/e35f5f42-04f5-4e59-a376-018509c54b99/search_businesses?city=sydney&page=1&state=nsw&category=air_conditioning' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace hipages-com-au-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""
Search for tradespeople on Hipages, browse categories, and fetch business reviews.
"""
from parse_apis.hipages_api import Hipages, Business, Category, State
hipages = Hipages()
# Browse available trade categories
for category in hipages.categories.list(limit=5):
print(category.name, category.slug)
# Search for electricians in NSW
for business in hipages.businesses.search(category="electricians", state=State.NSW, city="sydney", limit=3):
print(business.name, business.service_area, business.star_rating, business.profile_url)
# Fetch reviews for each business
for review in business.reviews.list(limit=2):
print(review.author_name, review.rating_value, review.review_body)
Search for businesses by trade category and location on hipages.com.au. Returns a paginated list of business listings including ratings, contact info, service area, and a sample recommendation. Paginated by integer page number. Each business carries a 'key' slug usable with get_business_profile and get_business_reviews.
| Param | Type | Description |
|---|---|---|
| city | string | City name (e.g. 'sydney', 'melbourne', 'brisbane'). |
| page | integer | Page number for pagination, starting at 1. |
| state | string | Australian state or territory code. |
| category | string | Trade category slug (e.g. 'electricians', 'plumbers', 'air_conditioning'). Use list_categories to discover available slugs. |
{
"type": "object",
"fields": {
"meta": "object with relatedSuburbs, relatedCategories, and relatedRegions arrays",
"category": "string, the category slug used in the search",
"location": "string, formatted as 'city, state'",
"businesses": "array of business listing objects with id, name, key, starRating, phone, mobile, serviceArea, profilePageFullUrl, recommendation, and more"
},
"sample": {
"data": {
"meta": {
"relatedRegions": [
{
"regionId": 64,
"regionKey": "blue_mountains",
"regionName": "Blue Mountains Region"
}
],
"relatedSuburbs": [
{
"state": "NSW",
"postcode": 2009,
"suburbId": 217,
"suburbKey": "pyrmont",
"suburbName": "Pyrmont"
}
],
"relatedCategories": [
{
"id": 292,
"name": "24/7 Emergency Electricians",
"seoKey": "247_emergency_electricians"
}
]
},
"category": "electricians",
"location": "sydney, nsw",
"businesses": [
{
"id": "2287688",
"key": "emcoelectricalservices",
"name": "Emco Electrical Services",
"type": "business",
"phone": "",
"mobile": "0412993597",
"hasLicense": 1,
"starRating": {
"rating": 5,
"totalHired": 51,
"totalRatings": 27
},
"hasValidAbn": 1,
"serviceArea": "Sydney",
"recommendation": {
"comment": "Emilio was prompt with his quote & follow up.",
"userName": "Usha"
},
"profilePageFullUrl": "https://hipages.com.au/connect/emcoelectricalservices",
"totalRecommendations": 32
}
]
},
"status": "success"
}
}About the hipages API
Search and Discovery
The search_businesses endpoint accepts a category slug (e.g. electricians, plumbers), a city name, and a state code (nsw, vic, qld, etc.) to return a paginated list of matching business listings. Each listing object includes id, name, key (the slug used in other endpoints), starRating, phone, mobile, serviceArea, profilePageFullUrl, and recommendation data. The meta object in the response also surfaces relatedSuburbs, relatedCategories, and relatedRegions, which are useful for building location-aware browsing UIs. Use list_categories first to get valid slugs before querying.
Business Profiles and Structured Data
The get_business_profile endpoint accepts a business slug (the key field from search_businesses) and returns structured profile data. The profile.business_info object follows schema.org conventions and includes @type, name, aggregateRating, an additionalProperty field carrying the ABN, a review array, and a hasOfferCatalog object listing the services the business offers. This makes it straightforward to extract both identity data (ABN) and service scope in one call.
Reviews
The get_business_reviews endpoint returns review objects for a given business slug. Each item in the recommendations array includes @type, reviewRating, author, and reviewBody text. The total_found integer indicates how many reviews were retrieved. This endpoint is scoped to reviews visible on the business profile page — it does not aggregate reviews from external platforms.
Category Reference
The list_categories endpoint takes no inputs and returns a flat array of category objects, each with a name (display label) and a slug suitable for passing to search_businesses. Running this first is the recommended way to enumerate all supported trade categories before constructing search queries.
The hipages API is a managed, monitored endpoint for hipages.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hipages.com.au changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official hipages.com.au API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a tradesperson comparison tool using
starRating,recommendation, andserviceAreafields fromsearch_businesses - Enrich a business database with ABN data by calling
get_business_profilefor each slug - Aggregate customer sentiment by collecting
reviewBodytext fromget_business_reviewsacross a category - Power a local-services directory filtered by Australian state using the
stateparameter insearch_businesses - Map service coverage by extracting
serviceAreafrom business listings across multiple cities - Auto-generate category navigation menus using slugs returned by
list_categories - Monitor aggregate ratings over time using
aggregateRatingfromget_business_profile
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does hipages.com.au have an official developer API?+
What does `get_business_profile` return beyond what `search_businesses` already includes?+
get_business_profile returns the full structured business_info object, which includes the ABN via additionalProperty, the aggregateRating object, the hasOfferCatalog listing specific services offered, and a review array. The search endpoint returns only summary fields like starRating, phone, and recommendation.Does the API cover businesses outside Australia?+
state parameter accepts Australian state codes only.Can I retrieve photos or portfolio images from a business profile?+
How does pagination work in `search_businesses`?+
page parameter accepts a page number string to step through results. The meta object in the response includes relatedSuburbs and relatedRegions arrays, but does not expose a total page count, so you should increment page until an empty businesses array is returned.