Coles Woolworths ALDI Scraper
Pricing
from $1.50 / 1,000 products
Coles Woolworths ALDI Scraper
Coles, Woolworths and ALDI Australia prices, specials and unit prices in one dataset with the same columns. Reliable Coles scraping, store pricing by postcode, optional ingredients and nutrition.
Pricing
from $1.50 / 1,000 products
Rating
0.0
(0)
Developer
Scrape Lads
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does Coles Woolworths ALDI Scraper do?
Coles Woolworths ALDI Scraper collects product prices, specials, unit prices and stock status from the three big Australian supermarkets in one run, for the online catalogue or for the stores nearest any postcode, with identical columns for every store so you can do grocery price comparison without any cleanup. It is a Coles scraper, a Woolworths scraper and an ALDI Australia scraper in one Actor: search by keyword, paste category or product links, or pull everything that is on special this week.
Coles is protected by Imperva bot detection, which is why most Coles scrapers fail a large share of runs. This Actor opens a real browser on an Australian residential connection once, then reads Coles' own data routes from inside that session, so the Coles part is the reliable part. Run it on the Apify platform for API access, scheduling, webhooks, integrations and monitoring.
Why use this Australian supermarket scraper?
- Grocery price comparison: search "milk" once and get Coles, Woolworths and ALDI prices and per-100g or per-litre unit prices side by side.
- Specials tracking: find half-price items, multibuys and price drops, or schedule a weekly run and watch prices move.
- Retail and brand analytics: monitor how your products are priced, stocked and promoted across retailers.
- Apps and deal sites: feed a price-comparison app, newsletter or shopping list tool with fresh data through the API.
How to scrape Coles, Woolworths and ALDI prices
- Open the Actor and add Search terms such as
milkortim tam. - Pick the Stores to search (all three by default).
- Optionally paste Category, search or product URLs from any of the three sites.
- Turn on Specials only if you only want discounted products, and add postcodes to get prices from the stores near you.
- Press Start and open the Price comparison view in the Output tab, or download the dataset as JSON, CSV or Excel.
Input
| Field | What it does |
|---|---|
searchTerms | Keywords, each searched at every selected store |
stores | coles, woolworths, aldi |
startUrls | Coles, Woolworths or ALDI search, category or product URLs |
specialsOnly | Only products currently on special |
maxItemsPerQuery | Cap per search term or URL (0 = everything) |
maxItems | Cap for the whole run |
postcodes | Postcodes or suburbs: each one prices the nearest Coles and Woolworths supermarket, and checks ALDI in-store stock. One set of rows per store |
includeDetails | Adds ingredients, allergens, health star rating, country of origin and nutrition |
includeOutOfStock | Keep or drop unavailable products |
aldiStoreId | ALDI store used for the catalogue (ALDI prices are national) |
proxyConfiguration | Optional own proxy; an Australian residential proxy is built in |
Supported URLs: coles.com.au/browse/..., coles.com.au/on-special/..., coles.com.au/search/products?q=..., coles.com.au/product/..., woolworths.com.au/shop/browse/..., woolworths.com.au/shop/search/products?searchTerm=..., woolworths.com.au/shop/productdetails/..., aldi.com.au/results?q=..., aldi.com.au/products/.../k/..., aldi.com.au/product/....
Output
[{"retailer": "woolworths","productId": "36066","name": "Arnott's Tim Tam Original Chocolate Biscuits 200g","brand": "Arnott's","size": "200g","price": 4.5,"wasPrice": 6,"unitPrice": 2.25,"unit": "100g","onSpecial": true,"specialType": "Save $1.50","inStock": true,"category": "Pantry > Snacks & Confectionery > Biscuits & Crackers > Biscuits & Cookies","productUrl": "https://www.woolworths.com.au/shop/productdetails/36066/arnott-s-tim-tam-original-chocolate-biscuits","query": "tim tam"},{"retailer": "coles","productId": "6634760","name": "Arnott's Tim Tam Original Chocolate Biscuit Large Pack","size": "365g","price": 6.4,"wasPrice": 8,"unitPrice": 1.75,"unit": "100g","onSpecial": true,"specialType": "Save $1.60","inStock": true}]
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data table
| Field | Description |
|---|---|
retailer | coles, woolworths or aldi |
productId | Retailer product ID (ALDI: SKU) |
name, brand, size | Product title, brand and pack size |
price, wasPrice | Current price and previous price in AUD (when on special) |
unitPrice, unit | Price per unit, e.g. 1.75 per 100g |
onSpecial, specialType | Special flag and type (Half price, Save $1.60, Multibuy, Super Saver) |
inStock, stockStatus | Availability. For ALDI it is filled when postcodes are set and ALDI publishes stock for the item (Special Buys and limited lines) |
storeId, storeName | The store the price was read from (null = online default price) |
category, categoryPath | Department and category breadcrumb |
imageUrl, productUrl, barcode | Image, product page and GTIN (Woolworths; Coles with includeDetails) |
details | Only with includeDetails: ingredients, allergens, health star rating, country of origin, nutrition |
query, scrapedAt | Search term or URL it came from, and timestamp |
How much does it cost to scrape Coles, Woolworths and ALDI?
Pay per event: $0.01 per run plus $1.50 per 1,000 products ($0.0015 per product row), no matter which supermarket they come from. Platform usage is included in the price.
- 100 products from Coles, Woolworths and ALDI: about $0.16
- 1,000 products: about $1.51
- With
postcodes, each store gets its own rows, so 3 postcodes x 100 products = 300 rows (about $0.46)
Set a maximum cost per run in the run options and the Actor stops cleanly when it is reached.
Tips
- Use specific search terms; each term is capped by
maxItemsPerQuery. - To compare one product across stores, keep all three stores selected and use the Price comparison view.
- Store pricing: add
postcodesto read each store's own prices. The same Tim Tam pack was $5.70 at Woolworths Barangaroo Metro and $4.50 at Woolworths Perth St Georges Terrace in our tests, and Coles ranges differ by state too. Rows multiply by the number of postcodes, so start with one or two. ALDI prices are national. - Turn on
includeDetailsfor ingredients, allergens and nutrition. Coles and ALDI need one extra request per product, so those runs are slower. - Schedule the Actor weekly with
specialsOnlyto track the new catalogue specials.
FAQ, disclaimers and support
Is it legal to scrape supermarket prices? This Actor only collects publicly visible product and price information. You are responsible for using the data in line with the retailers' terms and applicable law.
Why is inStock often null for ALDI? ALDI Australia does not sell groceries online. It publishes a per-store stock level only for Special Buys and limited lines, which the Actor reads when you set postcodes. Core range items have no stock data.
Does it use store-specific pricing? Yes, for Coles and Woolworths: each postcode is matched to the nearest supermarket and you get that store's shelf price, was price and stock. ALDI prices are national.
Found a bug or want a custom solution? Open an issue in the Issues tab.