Discover/Machineryhouse API
live

Machineryhouse APImachineryhouse.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.

This API takes change requests — .
Endpoint health
verified 3d ago
search_products
get_product
2/2 passing latest checkself-healing
Endpoints
2
Updated
12d ago

What is the Machineryhouse 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.

This call costs2 credits / call— charged only on success
Try it
Page number for pagination (1-based).
Sort order for results.
Search keywords (e.g. 'metal lathe', 'mill drill', 'metal bandsaw').
api.parse.bot/scraper/5115f7d6-5dea-481f-87c3-8fefdd5b5e1c/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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'
Python SDK · recommended

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 machineryhouse-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.

"""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")
All endpoints · 2 totalmissing one? ·

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.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based).
sortstringSort order for results.
queryrequiredstringSearch keywords (e.g. 'metal lathe', 'mill drill', 'metal bandsaw').
Response
{
  "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 API

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.

Reliability & maintenanceVerified

The Machineryhouse API is a managed, monitored endpoint for machineryhouse.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when 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 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.

Last verified
3d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a price-tracking tool for Australian workshop machines using price_ex_gst and price_inc_gst fields
  • Aggregate full technical specifications for metalworking lathes and mills by iterating search_products and calling get_product per code
  • Compare HAFCO-METALMASTER vs OPTIMUM models side-by-side using the brand and specifications fields
  • 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_product on a schedule
  • Research available spindle speeds, motor power ratings, and table dimensions across drill press models using the specifications object
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Machineryhouse.com.au have an official developer API?+
No. Machinery House does not publish a public developer API or documented data feed. This Parse API is the structured way to access product and pricing data from machineryhouse.com.au.
What does the `specifications` field in `get_product` actually contain?+
It is a key-value object containing all technical specs listed on the product page for that item — fields vary by product category but typically include dimensions, motor power, weight, speed ranges, and similar machine-specific attributes. The exact keys depend on the product; a metal lathe might include swing over bed and distance between centres, while a bandsaw would have blade speed and throat depth.
Does `search_products` support filtering by brand, category, or price range?+
The endpoint currently accepts 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?+
Not currently. Both endpoints return pricing and specification data but do not include stock availability, lead time, or dispatch status fields. You can fork this API on Parse and revise it to add an availability field if that data is present on the product page.
How does pagination work in `search_products`?+
Results are page-based with 24 items per page. The response includes 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.
Page content last updated . Spec covers 2 endpoints from machineryhouse.com.au.
Related APIs in EcommerceSee all →
walmart.com API
Retrieve product data from Walmart.com including pricing, descriptions, availability, reviews, and category listings. Access real-time product information to search by keyword, look up items by ID or URL, and browse department categories.
homedepot.com API
Search and browse Home Depot's product catalog to compare pricing, check real-time availability, and review detailed product specifications. Find products across all categories, look up store locations and hours, and check fulfillment options including in-store pickup and delivery.
ikea.com API
Search and browse IKEA's full product catalog to find items by category, compare measurements, read customer reviews, and check real-time store availability and current deals. Discover new arrivals and best-selling products to help you shop smarter and find exactly what you need.
amazon.co.uk API
Access data from amazon.co.uk.
idealo.de API
Search for products on Idealo.de and retrieve detailed information including current seller offers, price history, technical specifications, and user and expert reviews. Compare prices across sellers and access comprehensive product data to evaluate deals.
target.com API
Search for products across Target's catalog and instantly check real-time in-store availability at nearby Target locations using your zipcode. Find exactly what you're looking for and discover which stores have it in stock, so you can shop smarter and faster.
amazon.fr API
Scrape product data from Amazon.fr, including search results, product details, specifications, seller offers, customer reviews, and current deals.
element14.com API
Search and browse Newark (element14)'s electronic components catalog to find product details, pricing, stock levels, and technical documentation. Retrieve specifications, explore categories and manufacturers, and access real-time inventory information to compare components.
Machineryhouse API – Search & Product Data · Parse