machineryhouse.com.au APIwww.machineryhouse.com.au ↗
Access Machinery House product listings, prices (ex-GST and inc-GST AUD), specs, and brand data via 2 structured endpoints for Australia's workshop machine supplier.
curl -X GET 'https://api.parse.bot/scraper/5115f7d6-5dea-481f-87c3-8fefdd5b5e1c/search_products?page=1&sort=relevance&query=metal+lathe' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed Python client. Install the CLI, sign in, then pull this API’s generated client:
pip install parse-sdk parse login parse add --marketplace machineryhouse-com-au-api
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.
"""Walkthrough: MachineryHouse SDK — search machines, inspect specs."""
from parse_apis.Machinery_House_API import MachineryHouse, Sort, ProductNotFound
client = MachineryHouse()
# Search for HAFCO metal lathes with default relevance sort
for product in client.products.search(query="metal lathe", sort=Sort.PRICE_LOW_HIGH, limit=5):
print(product.name, product.brand, product.price_inc_gst)
# Drill into the first search result for full specifications
item = client.products.search(query="metal bandsaw", limit=1).first()
if item:
detail = item.details()
print(detail.name, detail.model, detail.brand)
print(detail.price_ex_gst, detail.price_inc_gst)
print(detail.specifications)
# Handle a product that doesn't exist
try:
bad = client.products.search(query="drilling machine", limit=1).first()
if bad:
bad.details()
except ProductNotFound as exc:
print(f"Product not found: {exc.product_code}")
print("exercised: products.search / ProductSummary.details / ProductNotFound")
Search for products on machineryhouse.com.au by keyword. Returns paginated results with product code, name, brand, prices (ex-GST and inc-GST in AUD), and product URL. Results include all brands stocked (HAFCO-METALMASTER, OPTIMUM, etc.). Pagination is page-based with 24 items per page.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| sort | string | Sort order for results. |
| queryrequired | string | Search keywords (e.g. 'metal lathe', 'mill drill', 'metal bandsaw'). |
{
"type": "object",
"fields": {
"page": "integer",
"query": "string",
"products": "array of product summaries with code, name, brand, price_ex_gst, price_inc_gst, product_url",
"total_items": "integer",
"total_pages": "integer"
},
"sample": {
"data": {
"page": 1,
"query": "metal lathe",
"products": [
{
"code": "K008A",
"name": "Centre Lathe & Tooling Package Deal - AL-336D DELUXE Ø300 x 900mm Turning Capacity - Ø38mm Spindle Bore (240V) 18 Geared Head Speeds 65 ~ 1810rpm, Includes Digital Readout System, Quick Change Toolpost, Leadscrew Covers, Foot Brake, Cabinet Stand & Tooling Package",
"brand": "HAFCO-METALMASTER",
"product_url": "https://www.machineryhouse.com.au/k008a",
"price_ex_gst": "6490.00",
"price_inc_gst": "7139.00"
}
],
"total_items": 50,
"total_pages": 3
},
"status": "success"
}
}About the machineryhouse.com.au API
The Machineryhouse.com.au API provides 2 endpoints for searching and retrieving product data from Hare & Forbes Machinery House, an Australian supplier of metalworking, woodworking, and workshop equipment. The search_products endpoint returns paginated results covering product codes, names, brands, and AUD prices, while get_product returns full technical specifications, model details, and descriptions for individual items identified by order code.
Endpoints Overview
The API exposes two endpoints. search_products accepts a required query string (e.g. 'metal lathe', 'mill drill', 'bandsaw') plus optional page and sort parameters. Each page returns up to 24 product summaries including code, name, brand, price_ex_gst, price_inc_gst, and product_url, along with total_items and total_pages for pagination control. Brands in results include HAFCO-METALMASTER, OPTIMUM, and others stocked by Machinery House.
Product Detail
get_product takes a single required parameter — product_code — such as 'L682D' or 'M141D', which you can obtain directly from search_products results. It returns the full name, brand, model, description, both price fields, product_url, and a specifications object containing all technical spec key-value pairs listed for that product (e.g. swing over bed, motor power, spindle speeds, table dimensions, weight). This makes it straightforward to extract structured spec data for any individual machine.
Pricing and Coverage
All prices are returned as strings in Australian dollars and are provided in both ex-GST and inc-GST variants. Coverage spans the live Machinery House catalogue, which includes lathes, milling machines, bandsaws, drills, grinders, and associated tooling and accessories. The API does not require any account credentials to query.
The machineryhouse.com.au API is a managed, monitored endpoint for www.machineryhouse.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when www.machineryhouse.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 www.machineryhouse.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 price-tracking tool for Australian workshop machines using
price_ex_gstandprice_inc_gstfields - Aggregate full technical specifications for metalworking lathes and mills by iterating
search_productsand callingget_productper code - Compare HAFCO-METALMASTER vs OPTIMUM models side-by-side using the
brandandspecificationsfields - Populate a product catalogue or internal procurement tool with live Machinery House inventory and pricing
- Alert purchasing teams when specific product codes return new pricing by polling
get_producton a schedule - Research available spindle speeds, motor power ratings, and table dimensions across drill press models using the
specificationsobject
| 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 | 250 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 Machineryhouse.com.au have an official developer API?+
What does the `specifications` field in `get_product` actually contain?+
Does `search_products` support filtering by brand, category, or price range?+
query, page, and sort parameters. Brand, category, and price-range filters are not exposed as separate parameters. You can fork this API on Parse and revise it to add those filter inputs.Is stock availability or lead time data returned by either endpoint?+
How does pagination work in `search_products`?+
total_items and total_pages so you can determine how many pages exist for a given query, then iterate by incrementing the page parameter starting from 1.