Grocery Price Monitor - Coles & Woolworths AU Change Feed avatar

Grocery Price Monitor - Coles & Woolworths AU Change Feed

Pricing

from $15.00 / 1,000 change detecteds

Go to Apify Store
Grocery Price Monitor - Coles & Woolworths AU Change Feed

Grocery Price Monitor - Coles & Woolworths AU Change Feed

Daily change feed for Australian grocery prices: what changed price, went on special, or came back in stock at Coles and Woolworths since your last run. Emits only changes - schedule it and get alerts-ready diffs, not full dumps.

Pricing

from $15.00 / 1,000 change detecteds

Rating

0.0

(0)

Developer

Daniel Matthee

Daniel Matthee

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Grocery Price Monitor — Coles & Woolworths AU Change Feed

Get a daily diff of Australian grocery prices, not another full dump. Point this actor at the searches and products you care about on coles.com.au and woolworths.com.au, schedule it, and every run emits only what changed since the last run: price moves, products going on special (or coming off one), and stock coming back or disappearing.

Important — the first run emits nothing. Run 1 seeds the baseline into a persistent state store and logs FIRST RUN: seeded baseline state.... From run 2 onwards you get the change feed. That's the whole point: an empty dataset on a scheduled run means nothing changed, not a failure.

Example change record

{
"retailer": "coles",
"sku": "8638285",
"name": "Shapes Original Chicken Crimpy Cracker Biscuits",
"field": "price",
"oldValue": 4.0,
"newValue": 2.0,
"pctChange": -50.0,
"productUrl": "https://www.coles.com.au/product/shapes-original-chicken-crimpy-cracker-biscuits-8638285",
"detectedAt": "2026-08-31T09:15:04Z"
}

field is one of price, special, or availability. Special changes carry the offer text ("Half Price", "Buy 2 for $4.80", "2 for $10.00 - $2.78/100G") as newValue — and null when a special ends. Availability changes flip between true and false. pctChange is set only on price changes.

Input options

FieldTypeDefaultWhat it does
watchQueriesarray["milk"]Search terms watched on each selected retailer. Every product they return is monitored.
watchUrlsarray[]Coles browse/category URLs and/or Woolworths product URLs (.../shop/productdetails/<stockcode>/...). Routed to the right retailer automatically.
retailersarraybothcoles, woolworths-au, or both.
maxItemsPerRetailerinteger500Hard cap on products checked per retailer per run.
changeThresholdPctinteger0Suppress price moves smaller than this %. Special and availability changes are always reported.
proxyConfigurationproxyAU residentialBoth sites run bot protection (Imperva / Akamai); keep the residential AU default.

Use cases

  • "Tell me when Weet-Bix or my baby formula goes on half price" — watch a handful of queries, schedule daily, wire the dataset to an email/Slack integration. You only ever get pinged on actual changes.
  • "Track competitor shelf prices for my brand across Coles and Woolies" — brand managers watch their product searches and get an auditable feed of every price move and promo start/end, with percentages.
  • "Build a price-history dataset for the products I resell" — the change feed is the history: append each run's dataset and you have a compact time series of every move, without storing thousands of unchanged rows.

How it behaves

  • One retailer failing (site change, bot-block burst) degrades to a warning — the other retailer still runs, and the failed retailer's items keep their previous state so you get no false changes. The run still succeeds.
  • State lives in the named key-value store grocery-price-monitor-state and survives across runs. Products that drop out of search ranking are kept in state untouched — never reported as fake availability changes.
  • Newly watched products (new query, new URL) are seeded silently; you'll see changes for them from their second sighting.
  • Schema drift on either site logs a clear warning naming the field and keeps going — a renamed field never crashes your scheduled feed.

Update & maintenance promise

Both retailers' response schemas are checked weekly and after any observed drift warning spike. Field contract changes (never renames without notice) are announced in the changelog below.

Changelog

  • 0.1 (2026-08-31) — Initial release: Coles + Woolworths AU, price / special / availability change feed, per-item seeding, price-move threshold, pay-per-event pricing.