Coles Woolworths ALDI Scraper avatar

Coles Woolworths ALDI Scraper

Pricing

from $1.50 / 1,000 products

Go to Apify Store
Coles Woolworths ALDI Scraper

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

Scrape Lads

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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

  1. Open the Actor and add Search terms such as milk or tim tam.
  2. Pick the Stores to search (all three by default).
  3. Optionally paste Category, search or product URLs from any of the three sites.
  4. Turn on Specials only if you only want discounted products, and add postcodes to get prices from the stores near you.
  5. Press Start and open the Price comparison view in the Output tab, or download the dataset as JSON, CSV or Excel.

Input

FieldWhat it does
searchTermsKeywords, each searched at every selected store
storescoles, woolworths, aldi
startUrlsColes, Woolworths or ALDI search, category or product URLs
specialsOnlyOnly products currently on special
maxItemsPerQueryCap per search term or URL (0 = everything)
maxItemsCap for the whole run
postcodesPostcodes or suburbs: each one prices the nearest Coles and Woolworths supermarket, and checks ALDI in-store stock. One set of rows per store
includeDetailsAdds ingredients, allergens, health star rating, country of origin and nutrition
includeOutOfStockKeep or drop unavailable products
aldiStoreIdALDI store used for the catalogue (ALDI prices are national)
proxyConfigurationOptional 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

FieldDescription
retailercoles, woolworths or aldi
productIdRetailer product ID (ALDI: SKU)
name, brand, sizeProduct title, brand and pack size
price, wasPriceCurrent price and previous price in AUD (when on special)
unitPrice, unitPrice per unit, e.g. 1.75 per 100g
onSpecial, specialTypeSpecial flag and type (Half price, Save $1.60, Multibuy, Super Saver)
inStock, stockStatusAvailability. For ALDI it is filled when postcodes are set and ALDI publishes stock for the item (Special Buys and limited lines)
storeId, storeNameThe store the price was read from (null = online default price)
category, categoryPathDepartment and category breadcrumb
imageUrl, productUrl, barcodeImage, product page and GTIN (Woolworths; Coles with includeDetails)
detailsOnly with includeDetails: ingredients, allergens, health star rating, country of origin, nutrition
query, scrapedAtSearch 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 postcodes to 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 includeDetails for ingredients, allergens and nutrition. Coles and ALDI need one extra request per product, so those runs are slower.
  • Schedule the Actor weekly with specialsOnly to 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.