Bunnings Price & Stock Change Monitor (per store)
Pricing
from $10.50 / 1,000 change detecteds
Bunnings Price & Stock Change Monitor (per store)
Watch Bunnings products and get ONLY the changes: price rises/drops and per-store stock movements, per storeId. Schedule daily and feed alerts, repricing or buying decisions.
Pricing
from $10.50 / 1,000 change detecteds
Rating
0.0
(0)
Developer
Daniel Matthee
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Watch any set of Bunnings (bunnings.com.au) products and get only what
changed since the last run: price rises, price drops, and per-store stock
movements — checked directly against Bunnings' own product APIs, per
storeId, as often as you schedule it (daily works great).
Existing Bunnings actors are one-shot scrapers: they hand you thousands of rows and leave the "what's different?" work to you. This monitor keeps a baseline between runs and emits a clean change feed instead — ideal for alerting, repricing and buying decisions.
- First run seeds the baseline and emits nothing (clearly logged).
- Every later run emits one record per changed field per store.
- A product that vanishes from the site emits a stock change to
"unavailable"— exactly once.
Example change record
{"sku": "0299328","name": "Ozito 710W Hammer Drill","field": "price","oldValue": 53.98,"newValue": 49.98,"storeId": "6400","productUrl": "https://www.bunnings.com.au/ozito-710w-hammer-drill_p0299328","detectedAt": "2026-08-31T02:15:04Z"}
Stock changes look the same with "field": "stock" and values
in_stock / out_of_stock / unavailable.
Input options
| Field | Type | Default | What it does |
|---|---|---|---|
watchUrls | array | [] | Bunnings product page URLs to watch (product code is read from the _p0299328 suffix). |
watchQueries | array | [] | Bunnings search terms; every matching product is added to the watch list. |
storeIds | array | ["6400"] | Store location codes to check price and stock at. One feed entry per product per store. |
maxItems | integer | 500 | Cap on change records emitted per run. |
maxProductsPerQuery | integer | 25 | How many products each query may add. |
stateStoreName | string | bunnings-monitor-state | Named key-value store holding the baseline; use different names for independent watch lists. |
proxyConfiguration | object | Apify residential (AU) | Bunnings sits behind Cloudflare — keep Australian residential proxies on. |
Use cases
- Trade buyers: watch your consumables list (fixings, sealants, timber, PPE) at your two nearest stores and get pinged the morning a price drops or stock lands, before you send the ute.
- Resellers & price-matchers: track competitor-relevant SKUs per store and feed the change records straight into your repricing sheet — no diffing of full catalogue dumps.
- Ranging & availability watch: suppliers and category analysts get a
clean audit trail of when a product went
out_of_stock, came back, or was delisted (unavailable) at specific stores.
Pricing (pay per event)
| Event | Price | Charged when |
|---|---|---|
| Actor start | $0.005 | Once per run. |
| Change detected | $0.015 | Per change record emitted. |
| Item checked | $0.0002 | Per product/store pair checked. |
A daily watch of 100 products at 2 stores costs about $0.045/run in checks plus $0.015 per actual change — you pay for signal, not for pages.
Scheduling
Run it on an Apify Schedule (e.g. daily at 6:00 Australia/Sydney). State lives in a named key-value store, so every scheduled run diffs against the previous one automatically.
Update & maintenance promise
Bunnings' API schema is checked weekly; parser drift is logged (never crashes a run) and fixed promptly. Field set above is stable — new fields are only ever added.
Changelog
- 0.1 (2026-08-31) — Initial release: price + per-store stock change feed, named-KV baseline, pay-per-event pricing.