Australia's grocery prices have become a national topic: specials, "Down Down" campaigns, half-price deals and the endless Coles vs Woolworths debate. If you run a price-comparison app, track FMCG brands, write about cost of living or just want a spreadsheet of what milk costs this week, you need the data — and neither supermarket offers a public API.
In this guide I'll show you how to get Coles and Woolworths product prices, specials, unit prices and barcodes into Excel, Google Sheets or your own code in a few minutes, without writing a scraper yourself.
Disclosure: I built the two tools used in this guide and publish them on the Apify Store. Both have a free trial, so you can test everything below without paying.
What data you can get
For every product, from both supermarkets, in the same columns so you can compare them directly:
| Field | Example |
|---|---|
| Name, brand, size | Nescafe Gold Original Premium Instant Coffee 100g |
| Price / was price | $7.25 / $14.50 |
| On special, savings ($ and %) | yes, $7.25 (50%) |
| Offer text | "1/2 Price", "Pick any 2 for $44" |
| Unit price | $7.25 / 100g |
| Stock, category | in stock, Instant Coffee |
| Barcode (EAN/GTIN) | Woolworths, and Coles with product details |
| Image and product URL | ✔ |
Option 1 — Compare Coles and Woolworths in one run (no code)
- Open the Woolworths & Coles Scraper and click Try for free.
- In Products to search, type what you want, one per line:
milk,coffee pods,nappies,tim tam… - Keep both Woolworths and Coles selected. Tick Specials only if you only want this week's deals.
- Click Start. A few seconds later you get a table like this:
{
"store": "Coles",
"name": "Nescafe Gold Original Premium Instant Coffee 100g",
"price": 7.25,
"wasPrice": 14.5,
"isOnSpecial": true,
"savingsPercent": 50,
"offer": "1/2 Price",
"unitPriceText": "$7.25/ 100g",
"category": "Instant Coffee",
"url": "https://www.coles.com.au/product/nescafe-gold-original-premium-instant-coffee-100g-8049750"
}
- Click Export → Excel or CSV. Sort by
unitPriceTextorsavingsPercentand you have your comparison.
Tip: schedule the run every Wednesday (when the new specials start) to build a weekly price history automatically.
Option 2 — The whole Coles catalogue, with ingredients and nutrition
If you need more than a keyword search — a full category, the entire weekly specials catalogue (~8,000 deals) or all ~30,000 products — use the Coles Scraper:
- Mode "All specials": every product on special this week, de-duplicated.
-
Mode "Categories": e.g. Dairy, Eggs & Fridge or a sub-category URL like
https://www.coles.com.au/browse/dairy-eggs-fridge/milk. - Mode "Full catalogue": every category in one run.
- Include product details: barcode, country of origin ("Made in Australia from at least 90% Australian ingredients"), ingredients, allergens and the nutrition table per 100 g and per serving.
That last option is what nutrition apps, product databases and FMCG analysts usually can't find anywhere else.
Option 3 — Use it from your own code
Both tools have an API. With the official client (npm install apify-client):
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('rt-solutions/au-supermarkets-scraper').call({
keywords: ['milk', 'coffee'],
stores: ['woolworths', 'coles'],
specialsOnly: false,
maxResultsPerSearch: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const cheapest = items
.filter((p) => p.unitPrice)
.sort((a, b) => a.unitPrice - b.unitPrice)
.slice(0, 10);
console.table(cheapest.map((p) => ({ store: p.store, name: p.name, price: p.price, unit: p.unitPriceText })));
Python works the same way with pip install apify-client.
What does it cost?
- Woolworths & Coles Scraper: $1 per 1,000 products.
- Coles Scraper: $1 per 1,000 products, + $2 per 1,000 if you add product details (barcode, ingredients, nutrition).
A weekly snapshot of 2,000 products is about $2. Apify's free plan includes monthly credits, enough to test properly.
A few honest notes
- Prices are the standard online prices shown without a selected store.
- Woolworths publishes barcodes for many products; Coles only on the product page (use Include product details).
- Coles "Everyday" low prices and collectables are not counted as specials — only real deals are.
- The tools only collect public information shown to any visitor, without logging in.
Ideas of what to build with it
- A weekly "best deals" newsletter or Telegram bot
- A price-history dashboard for your favourite products
- Brand monitoring: how often is your product on special at each supermarket?
- A nutrition comparison of house brands vs national brands
If you build something with this data, I'd love to see it — and if a field you need is missing, tell me in the comments.
Top comments (0)