Bunnings Products Scraper, All in one
Pricing
from $0.80 / 1,000 per results
Bunnings Products Scraper, All in one
Fast, HTTP-only Bunnings (bunnings.com.au) scraper. Get products by store, category, or search — with prices, stock status, and (for product-mode results) GTIN/EAN barcodes. No browser. Proxies included, pay only for what you scrape.
Pricing
from $0.80 / 1,000 per results
Rating
0.0
(0)
Developer
Vladimir Efimenco
Maintained by CommunityActor stats
2
Bookmarked
5
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
🔨 Bunnings Scraper: Fast Bunnings Scraper to Scrape Bunnings Products (Store, Category & Product Data)
This is a guide on how to scrape Bunnings Warehouse (bunnings.com.au, Australia). It's a pure HTTP scraper, so there's no browser, no waiting on Cloudflare challenges, no headless overhead. If you need to scrape Bunnings products, this actor talks directly to Bunnings' own mobile API, which makes it a genuinely fast Bunnings scraper compared to anything running a real browser.
You can get store specific pricing and stock, category or search listings, or full product details including GTIN/EAN barcodes. All from one actor with three modes.
⚡ Why use this Bunnings scraper
- Pure HTTP, not browser based. No Playwright or Puppeteer instance to spin up for every request. That's what makes this a fast Bunnings scraper with lower cost per result than anything browser based.
- Our own dedicated proxy pool. Not shared or rotating datacenter proxies that get flagged fast.
- Store accurate data. Prices and stock on Bunnings differ by physical store. Every request is tied to a specific store location, so what you get matches what a customer would actually see at checkout.
- GTIN / EAN data. Included on about 95% of products when you scrape Bunnings products in product mode (by product ID or URL). Not available in category or search mode.
🧩 Modes: how to scrape Bunnings Warehouse
1. Search
Scrape Bunnings products matching a search query, for a given store.
2. Category
Scrape all products from a Bunnings category page, for a given store.
3. Product
Scrape full product detail pages: description, specifications, images, dimensions, warranty info, and GTIN/EAN where it's available, from a list of product IDs or URLs.
Tip: if you already ran Search or Category mode and want GTIN/barcode data, take the
product_idorproduct_urlvalues from those results and feed them into Product mode as a second run.
🗺️ Tree of all Bunnings categories
Not sure which category to scrape? Here you can find the full list of all Bunnings categories. Simply move through the category tree and copy the slug for the category you need to use it on the actor page.
📥 Input
| Field | Description |
|---|---|
mode | search, category, or product |
store | Store/location dropdown, all AU Bunnings stores. Prices and stock are store specific. Defaults to Melbourne VIC 3000 if not selected. |
query | Search term (search mode) |
categoryUrl | Bunnings category page URL (category mode) |
productIdsOrUrls | List of product IDs or URLs (product mode) |
maxPages | Max pages to fetch (search/category mode) |
sortOrder | Result sort order |
priceMin / priceMax | Optional price filter |
Accepted formats
Category mode, categoryUrl:
- Full category URL, e.g.
https://www.bunnings.com.au/products/garden/garden-power-tools/lawn-mowers
Product mode, productIdsOrUrls:
- Full product URL, e.g.
https://www.bunnings.com.au/ozito-pxc-18v-300mm-brushless-lawn-mower-4-0ah-kit-pxclmk-1418_p0207447 - Short product URL with just the
_p<id>slug, e.g.https://www.bunnings.com.au/_p0207447 - Raw product ID only, e.g.
0207447
🐍 API usage examples (Python)
These examples use the apify-client library. Install it first:
$pip install apify-client
1. Search mode: scrape Bunnings products by keyword
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run_input = {"mode": "search", # required, tells the actor to run in search mode"query": "cordless drill", # search term to look up on Bunnings"store": "6425", # store code, controls store specific price & stock"maxPages": 5, # fetch up to 5 pages (18 products per page, ~90 products)"sortOrder": "PriceAscending", # cheapest first"priceMin": 50, # skip anything under $50 AUD"priceMax": 300, # skip anything over $300 AUD}run = client.actor("YOUR_USERNAME/bunnings-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
2. Category mode: scrape all Bunnings products in a category
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run_input = {"mode": "category", # required, run in category listing mode"categoryUrl": "https://www.bunnings.com.au/products/garden/garden-power-tools/lawn-mowers","store": "4058", # store used for prices/stock in this run"maxPages": 20, # cap the crawl at 20 pages of this category"sortOrder": "BoostOrder", # Bunnings' default relevance ordering}run = client.actor("YOUR_USERNAME/bunnings-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
3. Product mode: scrape full Bunnings product details plus GTIN/EAN
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run_input = {"mode": "product","store": "6425","productIdsOrUrls": [# mix of full URLs, short "_p<id>" URLs, and raw IDs, all accepted"https://www.bunnings.com.au/ozito-pxc-18v-300mm-brushless-lawn-mower-4-0ah-kit-pxclmk-1418_p0207447","https://www.bunnings.com.au/_p0357650","0335319",],}run = client.actor("YOUR_USERNAME/bunnings-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
📦 Output examples
Search / Category mode, one row per product in the listing:
[{"url": "https://www.bunnings.com.au/_p0335319","product_image": "https://media.bunnings.com.au/api/public/content/6230e5615d104a739d8023935704d6ee?v=b045a72d&t=gen462x462","product_id": "0335319","name": "HiKOKI 2000W 32kg 70J 30mm Corded HEX Demolition Hammer","brand": "HiKOKI Power Tools Pty Ltd","price": 2999,"currency": "AUD","rating": 5,"category": "Tools | Power Tools | Heavy Duty & Construction Tools","reviews": 2,"isInStore": false,"isSpecialOrder": true,"isNewArrival": false,"description": "The HiKOKI 30mm Hex Demolition Hammer (H90SG) makes improvements on previous models with greater power, increased performance, lower vibration and a universal tool retainer.\n\nThe input power of 2000W provides an improved hammering mechanism, which more efficiently transfers energy to the bit, improving demolition performance. The vibration absorbing main handle produces low full-load vibration, resulting in less user fatigue and greater productivity. This hammer employs a sealed grease system and auto-stop brushes for minimal maintenance and durability.","specifications": ["Model Name: 32kg 28.5mm Hex Demolition Hammer","Model Number: H90SG(H1Z)","Weight: 36.3kg"]}]
Product mode, full detail per product including specs, dimensions, images, GTIN etc:
[{"url": "https://www.bunnings.com.au/_p0357650","product_id": "0357650","name": "Uniden Igo Cam 90r 4k Smart Dash Cam","brand": "Uniden","category": "Tools | Automotive | Automotive Electronics | Dash Cams","warrantyReturns": "12 Months","ean": "9322402015828","price": 349.95,"currency": "AUD","stock_info": {"inStorePickUpAvailable": false,"isAvailableInStore": false,"isDeliveryAvailable": true,"stockStatus": "Unknown"},"features": "Plug & play – easy to set up\nLoop recording mode\n2 sticker mounts – rotating design for optimal visibility & stability\nWifi enabled\nSpeed/red light camera warnings","description": "4k (2160p) camera resolution magnetic slide bracket voice control 3.16” wide angle lcd colour screen large speedo display speed / red light camera warnings parking mode* wide view 135° (front camera) wifi enabled supercapacitor small & compact design plug & play – easy to set up 3 axis g-sensor event recording mode loop recording mode auto power off date and time wide dynamic range images (wdr) cigarette charger included 2 sticker mounts – rotating design for optimal visibility & stability records footage onto micro sd card#. 128gb is the max capacity – minimum class u3 required (not included)","specifications": ["Model Number: CAM90R","Weight: 0.16 kg","Warranty info: 12 Months"],"images": ["https://media.bunnings.com.au/api/public/content/95c31e7757ba48678de616cc26ccfee1?v=94b4ace9&t=gen800x800","https://media.bunnings.com.au/api/public/content/fecb28b8bdf44ec7968a209795ab6f79?v=10e51323&t=gen800x800","https://media.bunnings.com.au/api/public/content/48098eb3473d4ee1a358da7b8756f645?v=76cbfbff&t=gen800x800","https://media.bunnings.com.au/api/public/content/66d12336737f41d0872825e53e54e15f?v=277426ca&t=gen800x800","https://media.bunnings.com.au/api/public/content/295206ac7dde4b1ea0f9d66a369dd1c5?v=957a71e8&t=gen800x800","https://media.bunnings.com.au/api/public/content/63f3796e032640c9a304cc4bc03e25a9?v=1c8bf792&t=gen800x800","https://media.bunnings.com.au/api/public/content/9e19ca0bc10f4eab878426c75b90d8ac?v=7b3c715d&t=gen800x800","https://media.bunnings.com.au/api/public/content/4fcefbb5efa249fb8018c832f121c3e3?v=06ff9e4b&t=gen800x800"],"productDimensions": null,"packagingDimensions": null,"installationInformation": null,"rating": 1,"reviews": 1,"totalWeight": "0.16 kg","guideDocuments": []}]
🚧 Limits
A single search or category request returns a maximum of about 1,800 results. That's a limit on Bunnings' own API, not something we added artificially. If your category has more products than that, narrow the result set with sortOrder and priceMin/priceMax, or split the query into separate runs.
❓ FAQ
How do I scrape Bunnings products without getting blocked? This actor talks to Bunnings' mobile API directly over HTTP with dedicated proxies, instead of rendering pages in a browser. That's what makes it a fast Bunnings scraper and keeps it clear of Cloudflare challenge pages, which is usually where browser based scrapers get stuck.
Why don't I see GTIN/EAN in search or category results?
GTIN/EAN data only comes through in Product mode output. If you need it, run Search or Category mode first, then feed the resulting product_ids into Product mode.
What if I don't select a store? The actor defaults to Melbourne VIC 3000. Prices and stock status are store specific, so for accurate local data always pick the store closest to your use case.
Is this affected by Bunnings blocking or Cloudflare challenges? No, it talks to Bunnings' mobile API directly over HTTP with dedicated proxies rather than rendering pages in a browser, so it avoids that whole failure point.
Found a bug or need a custom field? Open an issue on the Issues tab.
💳 Pricing
Pricing depends on your Apify subscription level. Pay per result. You're charged for listings actually delivered, not for pages fetched or requests made.
📝 Notes
Free tier accounts are capped at a smaller number of results per run, and to a limited number of locations per run. Upgrade to a paid Apify plan for full volume and batch scraping.
Data reflects what's publicly listed on bunnings.com.au at the time of the run, and the source updates continuously.
🔗 See also
Need data from another retail or travel platform? Check out: