Woolworths Coles ALDI Scraper: AU Grocery Prices avatar

Woolworths Coles ALDI Scraper: AU Grocery Prices

Pricing

from $0.35 / 1,000 products

Go to Apify Store
Woolworths Coles ALDI Scraper: AU Grocery Prices

Woolworths Coles ALDI Scraper: AU Grocery Prices

Woolworths, Coles and ALDI products for any search in one run, every results page to the end. $0.50 per 1,000 products. Unit price, specials, was price, stock, ingredients.

Pricing

from $0.35 / 1,000 products

Rating

0.0

(0)

Developer

Luzi

Luzi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

Search Woolworths, Coles and ALDI Australia in one run and read each store's results for your words page after page to the last page, one row per product per store. Each row has the price, unit price, specials and was price, stock, categories and, at Woolworths, ingredients, allergens and nutrition. No account, login or cookies needed.

Tested daily. Latest checks: 90 products for "milk" from the three stores in 8 seconds; and three searches read to each store's last page, 6,879 products in 10 minutes, Coles' lists whole (768 of 768).

What does this Actor do?

You give it search terms, the words you would type in a supermarket's search box. For each search it reads each store's results one page after another, in the store's own order, and saves one row per product until it reaches your limit or the store's last page. Each row carries the store's own count of results for the search; for Coles, the run's status also says whether each search was read whole.

Each row comes with:

  • the store, the search, the product's place in the results and the store's result count
  • the product id, name, brand, size, link and images, and the barcode at Woolworths
  • price, was price, saving and the special's text ("Save $1.50", "Pick any 3 for $5.10"), half price, multibuy and online-only flags
  • unit price as a number, its unit ("100g", "1l") and as the store shows it
  • availability, quantity available (Coles), purchase limits
  • department, category and subcategory
  • at Woolworths: the in-store price and special, stock, Health Star Rating, ingredients, allergens, nutrition per 100 g and per serve, storage, delivery and pick-up options, the product's other attributes (vegetarian, contains gluten, …), and the seller and its delivery fee for marketplace products
  • at Coles: the store's own category, shelf-life guarantee, bonus-points offers, variant count and sponsored placements
  • at ALDI: container deposit, on-sale date for upcoming products, and whether the product is for sale now

Why use it?

  • Three supermarkets, one input. Type a search once and get Woolworths, Coles and ALDI side by side, each row in the same shape.
  • Every results page. It follows each store's pages to the last one, and each row says how many results the store counted.
  • Prices you can compare. Unit price as a number with its unit, the was price and the saving, at every store.
  • Specials only. One switch to read only the Woolworths and Coles specials for your searches.
  • Use the data anywhere. Download as JSON, CSV or Excel, or send it to your own tools through Apify's API and integrations.

How to use it

  1. Type one or more searches into Search terms.
  2. Optionally, untick a store under Stores, turn on Specials only, or set Max products per search, per store.
  3. Click Start. When the run ends, open the Output tab to view the products or download them.

Run it with no input to see a sample: up to 30 products for "milk" at each store, charged as usual.

Input

FieldWhat it doesDefault
Search terms (searchTerms)Words to search for, one search each—
Stores (stores)woolworths, coles, aldiall three
Specials only (specialsOnly)Only Woolworths and Coles specials; ALDI left outoff
Max products per search, per store (maxProductsPerSearch)Stop each search at each store after this many100

Example input:

{
"searchTerms": ["milk", "tim tam"],
"stores": ["woolworths", "coles", "aldi"],
"specialsOnly": false,
"maxProductsPerSearch": 500
}

Output

One row per product per store. An example, with made-up values:

{
"product_key": "coles:1234567",
"store": "coles",
"store_name": "Coles",
"search_term": "milk",
"specials_only": false,
"search_total": 323,
"position": 4,
"product_id": "1234567",
"barcode": null,
"name": "Full Cream Milk",
"brand": "Example Dairy",
"description": "EXAMPLE DAIRY FULL CREAM MILK 2L",
"size": "2L",
"url": "https://www.coles.com.au/product/example-dairy-full-cream-milk-2l-1234567",
"image_url": "https://cdn.productimages.coles.com.au/productimages/1/1234567.jpg",
"images": ["https://cdn.productimages.coles.com.au/productimages/1/1234567.jpg"],
"price": 3.5,
"was_price": 4.2,
"is_on_special": true,
"savings_amount": 0.7,
"special_type": "SPECIAL",
"special_text": "save $0.70",
"is_half_price": false,
"multibuy_quantity": null,
"multibuy_price": null,
"multibuy_text": null,
"is_online_only": false,
"unit_price": 1.75,
"unit_measure": "1l",
"unit_price_text": "$1.75/ 1L",
"is_available": true,
"available_quantity": 240,
"purchase_limit": 20,
"minimum_quantity": null,
"department": "Dairy, Eggs & Fridge",
"category": "Milk",
"subcategory": "Full Cream Milk",
"categories": ["Dairy, Eggs & Fridge > Milk > Full Cream Milk"],
"labels": [],
"is_sponsored": false,
"is_new": null,
"in_stock": null,
"is_purchasable": null,
"is_bundle": null,
"is_marketplace": null,
"seller_name": null,
"seller_delivery_fee": null,
"is_free_shipping": null,
"...": "the store-only fields listed below"
}

A field the store does not show is null (or an empty list). The other fields, filled at one store:

  • Woolworths: instore_price, instore_was_price, instore_is_on_special, instore_savings_amount, instore_unit_price, instore_unit_price_text, instore_is_available, is_for_delivery, is_for_collection, is_for_express, next_available_date, sold_by, unit_weight_grams, health_star_rating, ingredients, allergens, allergens_may_contain, allergy_statement, dietary_statement, lifestyle_claim, nutrition (name and value pairs), storage_instructions, warnings, variety, full_description, enriched_description, is_age_restricted, has_variants, variant_group_id, fulfilment_store_id, attributes, and for marketplace products seller_name, seller_delivery_fee, is_free_shipping
  • Coles: variant_count, availability_type, is_weighed, promotional_limit, delivery_restrictions, merchandise_hierarchy, min_life_guarantee, bonus_points, is_featured
  • ALDI: bottle_deposit, on_sale_date, on_sale_text, is_discontinued, is_not_for_sale, not_for_sale_reason, quantity_step, weight_type, is_dropship, fee_text

How much does it cost?

No surcharges and no paid options; an item that fails is not charged.

This Actor is priced per product saved:

  • $0.50 per 1,000 products ($0.0005 a product). A product at one store is one product; the same product at two stores is two. Each is charged once per run.
  • No start fee, and nothing per search or per store.

So 1,000 products cost $0.50. If you set a maximum cost for a run, the Actor stops when it reaches it and keeps every product saved so far.

How long does a run take?

About 8 seconds for 30 products at each store, and about 10 minutes for three searches read to every store's last page (6,879 products).

Good to know

  • Prices are each store's online prices for a shopper who has not picked a store or suburb. Woolworths also gives its in-store price. A store's price in your suburb can differ.
  • Specials only reads Woolworths' and Coles' own specials lists. ALDI has none, so a specials-only run leaves ALDI out.
  • A product found by two searches at the same store is saved and charged once, under the search that reached it first.
  • Sponsored products at Coles are kept and marked with is_sponsored. An ad for a product the same page also lists is left out, so the product keeps its own place; one listed again on a later page is saved once, as first seen.
  • search_total is the store's own count for the search. Woolworths and ALDI list some products on more than one page and count each listing, so a whole search saves a few fewer products than that count (2,617 distinct products in Woolworths' 2,692 listings for "milk"). A row's position is its place in the store's order, counting from 1.
  • One search that cannot be read does not stop the run. The others carry on, and the run's status lists the searches that could not be read.
  • A search with no results is not an error. It saves nothing.
  • This Actor reads the search results, not each product's own page, and takes search words, not category or product links. It does not read store locations or stock at one store.

More Actors from us

Use it from an AI agent or the API

One call starts a run and returns its items (Apify waits up to 300 seconds; for a longer run, start it with POST /v2/acts/…/runs and read its dataset):

POST https://api.apify.com/v2/acts/luzivanlt~au-supermarkets-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>

With the sample input as its JSON body:

{
"searchTerms": ["milk"],
"stores": ["woolworths", "coles", "aldi"],
"specialsOnly": false,
"maxProductsPerSearch": 30
}

Its inputs, in the order of the input form:

InputWhat it takesDefault
searchTerms (Search terms)Words to search for, one search per line, as you would type them in a supermarket's search box, up to 200 characters each and up to 100 searches.—
stores (Stores)The supermarkets to search: Woolworths, Coles and ALDI Australia, all three by default.["woolworths","coles","aldi"]
specialsOnly (Specials only)Only products on special at Woolworths and Coles (their own specials lists).false
maxProductsPerSearch (Max products per search, per store)Stop each search at each store after this many products, in the store's own order, from 1 to 10,000 (100 by default).100

Apify's MCP server, https://mcp.apify.com, lists it as luzivanlt/au-supermarkets-scraper. To give an AI agent this Actor as a tool, add the server to the agent's MCP config:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=luzivanlt/au-supermarkets-scraper"
}
}
}

The client signs in with OAuth, or add "headers": { "Authorization": "Bearer <APIFY_TOKEN>" }.

Charged per product delivered; the sample input above costs at most $0.06.

FAQ

Do I need an account or cookies? No. The Actor reads what anyone can see on the stores' websites.

Can I compare the same product across stores? Each row is one store's product, with its name, brand, size and unit price, so you can match products across stores yourself. The stores do not share product ids.

Can I run it from my own code, on a schedule, or with other apps? Yes. Like any Apify Actor, you can start it through the Apify API, run it on a schedule, and connect it to other apps with Apify's integrations and webhooks.

This Actor reads only what anyone can see on the stores' websites without logging in. Check each store's terms and the laws that apply to you before you use the data. If you are unsure, ask a lawyer.

Support

Found a problem or missing a feature? Open an issue on the Issues tab and include the run's link.


This Actor is not affiliated with, endorsed by or sponsored by Woolworths, Coles or ALDI.