bunnings.com.au APIbunnings.com.au ↗
Search Bunnings products, retrieve detailed product data, and list store locations by Australian state via a simple REST API with 3 endpoints.
curl -X GET 'https://api.parse.bot/scraper/f23cbafe-8973-4247-b121-01c19c99372f/search_products?page=1&sort=BoostOrder&query=drill' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword on Bunnings Australia. Returns paginated results with product name, price, brand, rating, and availability.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| sort | string | Sort order. Accepted values: 'BoostOrder', 'PriceAsc', 'PriceDesc'. |
| queryrequired | string | Search keyword (e.g. 'drill', 'paint', 'timber') |
{
"type": "object",
"fields": {
"page": "integer current page number",
"query": "string the search query used",
"products": "array of product objects with name, price, brand, item_number, sku, url, image, rating, rating_count, in_stock",
"total_count": "integer total number of matching products"
},
"sample": {
"data": {
"page": 1,
"query": "drill",
"products": [
{
"sku": "0715241",
"url": "https://www.bunnings.com.au/ryobi-18v-one-drill-driver-starter-kit-r18dd22_p0715241",
"name": "Ryobi 18V ONE+ Drill Driver Starter Kit R18DD22",
"brand": "Ryobi One+",
"image": "https://media.bunnings.com.au/api/public/content/d6600a629b9846ecac51d6cb2513873d?v=c072b07c",
"price": 99.98,
"rating": 4.82,
"in_stock": true,
"item_number": "0715241",
"rating_count": 101
}
],
"total_count": 423
},
"status": "success"
}
}About the bunnings.com.au API
The Bunnings Warehouse Australia API provides 3 endpoints to query the Bunnings product catalogue and store network. Use search_products to find products by keyword with price, brand, rating, and stock status; get_product_detail to pull full product data including images, categories, and description; and list_stores to retrieve every Bunnings location in a given Australian state or territory.
Product Search
The search_products endpoint accepts a required query string (e.g. 'drill', 'timber', 'paint') and returns a paginated list of matching products. Each product object includes name, price, brand, item_number, sku, url, image, rating, rating_count, and in_stock status. Use the sort parameter to order results by BoostOrder, PriceAsc, or PriceDesc, and the page parameter to walk through large result sets. The total_count field tells you how many matching products exist across all pages.
Product Detail
The get_product_detail endpoint takes a product_slug — the URL slug including the item number suffix, such as 'decor-8-x-50mm-hot-dipped-galv-clouts-1kg_p1234567' — and returns a detailed record. Response fields include code, name, brand, brand_url, price, currency (AUD), an images array with full and thumbnail URLs, a categories array with category name and code, and a description object containing descriptive text and pointers. Product slugs are available from search_products results via the url field.
Store Locations
The list_stores endpoint accepts an Australian state or territory abbreviation (nsw, vic, qld, wa, sa, tas, act) and returns an array of store objects. Each store record includes name, slug, state, and url. The total field gives the count of stores in that state. This is useful for proximity lookups or building store-selector features when combined with external geocoding.
- Compare prices across Bunnings product categories by sorting
search_productsresults withPriceAscorPriceDesc - Build a product availability checker using the
in_stockfield fromsearch_products - Populate a product catalogue page with images, descriptions, and category breadcrumbs from
get_product_detail - Generate a Bunnings store finder feature using
list_storesfiltered by state abbreviation - Track price changes on specific SKUs over time using the
pricefield fromget_product_detail - Build a brand-focused product browser using the
brandandbrand_urlfields returned by product endpoints - Aggregate rating and review counts across a product range using
ratingandrating_countfrom search results
| 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 Bunnings have an official public developer API?+
What does `get_product_detail` return beyond what `search_products` provides?+
search_products returns a summary record per product: name, price, brand, item_number, sku, rating, rating_count, and in_stock. get_product_detail extends this with a full images array (including thumbnails), a categories array with codes, a structured description object, brand_url, and the currency field. It does not include seller ratings, delivery estimates, or stock counts.Does the API return individual store details like address, phone number, or trading hours?+
list_stores returns each store's name, slug, state, and url. Address, phone number, and trading hours are not currently included in the response. You can fork this API on Parse and revise it to add a store-detail endpoint that returns that data.Does `search_products` support filtering by category or brand in addition to keyword?+
search_products endpoint accepts a free-text query, a sort value, and a page number. Filtering by category code or brand name is not supported as a dedicated parameter. You can fork this API on Parse and revise it to add category or brand filter parameters.How does pagination work in `search_products`?+
page parameter is an integer that selects which page of results to return. The response includes total_count (total matching products) and page (current page number), so you can calculate the number of pages needed. Page size is fixed and cannot be configured via the API inputs.