Woolworths AU Products: Search, Categories, Specials, GTIN avatar

Woolworths AU Products: Search, Categories, Specials, GTIN

Pricing

$0.80 / 1,000 products

Go to Apify Store
Woolworths AU Products: Search, Categories, Specials, GTIN

Woolworths AU Products: Search, Categories, Specials, GTIN

More complete results than the leading store alternative. Woolworths Australia prices, unit prices, specials, nutrition and barcodes from search terms, categories, specials, stockcodes or GTINs in one run, paged to the site total, sponsored tiles de-duplicated, optional changed-prices-only mode.

Pricing

$0.80 / 1,000 products

Rating

0.0

(0)

Developer

Kiamehr Rezaee

Kiamehr Rezaee

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Woolworths AU Products: Search, Categories, Specials, GTIN

More complete results than the leading store alternative: this Actor extracts Woolworths Australia product data from www.woolworths.com.au and pages every search, category and specials group up to the site's own total (capped by your Max products and Max pages per source). One run can mix search terms, category pages, specials groups, stockcodes and barcodes. The easiest first run: keep the prefilled search term milk and click Start. You get 20 products in a few seconds.

What does it do and what data do you get?

The Actor reads the same public product lists the Woolworths website shows to every visitor and saves one row per product. Sponsored tiles are left out by default and every product is saved once per run, even when it shows up in several sources.

  • stockcode, barcode, name, brand, packageSize, url, imageUrl (a link; images are not downloaded)
  • price, wasPrice, savings, onSale, isHalfPrice, promotionType (for example half-price, multibuy, lower-shelf-price), promotionLabel, multibuyQuantity, multibuyPrice, memberPrice
  • cupPrice, cupMeasure, unitPriceLabel (for example $1.70 / 1L), instorePrice
  • inStock, isAvailable, supplyLimit, isOnlineOnly, isNew, isMarketplace, vendor (marketplace seller, a business), isSponsored
  • departments, categories, ingredients, allergenContains, allergenMayContain, healthStarRating, nutritionPer100g, countryOfOrigin (mostly with Fetch details)
  • source, sourceValue, position (organic rank), siteTotal (the site's result count for that source), scrapedAt, and in monitor mode priceChanged and previousPrice

Barcode format: barcode is the GS1 element string of the product's GTIN: the application identifier 01 followed by the GTIN padded to 14 digits (16 digits in total). Drop the first 3 characters to get the 13-digit EAN printed on the pack. The Barcodes input accepts both the plain EAN and this format; for a barcode lookup, sourceValue is given in the same 16-digit form, so it equals the row's barcode.

Marketplace products (Everyday Market third-party sellers, isMarketplace: true) have no barcode on the site. On search, category and specials pages the marketplace tiles are skipped (free; the log counts them), so the dataset stays a barcoded grocery catalogue. You still get marketplace products when you ask for them: by stockcode or product URL, or through the everyday-market category. position is always the rank on the site.

Shelf labels keep the site's wording, with dates written out: Was $3.30 (as at 25 Aug 2026).

How to use it

  1. Fill in one or more sources: Search terms, Category URLs or ids (for example https://www.woolworths.com.au/shop/browse/dairy-eggs-fridge, dairy-eggs-fridge/milk or a NodeId such as 1_6E4F4E4), Specials groups (half-price, lower-shelf-price, everyday-low-price, buy-more-save-more, online-only-specials, seasonal-price, bundles), Stockcodes or product URLs, or Barcodes. Turn on Full catalogue to walk every department (grocery departments first, seasonal departments last; the Everyday Market department is not part of the walk).
  2. Set Max products (the cap on charged products) and Max pages per source (36 products per page).
  3. Optionally pick a Sort order, include sponsored tiles, or turn on Fetch details or Only changed prices.
  4. Click Start, then download the results as JSON, CSV or Excel from the Output tab.

If you leave every source empty, the Actor lists the current Half Price specials.

Input

Every field is optional. A run with several source types:

{
"searchTerms": ["milk"],
"categoryUrls": ["https://www.woolworths.com.au/shop/browse/bakery"],
"specials": ["half-price"],
"productIds": ["888137"],
"maxItems": 200,
"maxPagesPerSource": 3
}

Barcodes go into gtins as plain digits, exactly as printed under the barcode on the pack.

Output

One JSON object per product (shortened here; every row has all the fields listed above, and a field the site does not show is null):

{
"source": "search",
"sourceValue": "milk",
"position": 2,
"stockcode": 888137,
"barcode": "0109300633556143",
"name": "Woolworths Full Cream Milk 2L",
"brand": "Woolworths",
"packageSize": "2L",
"url": "https://www.woolworths.com.au/shop/productdetails/888137/woolworths-full-cream-milk",
"price": 3.4,
"wasPrice": null,
"onSale": false,
"promotionType": null,
"cupPrice": 1.7,
"cupMeasure": "1L",
"unitPriceLabel": "$1.70 / 1L",
"inStock": true,
"isMarketplace": false,
"isSponsored": false,
"departments": ["Dairy, Eggs & Fridge"],
"categories": ["Milk"],
"allergenContains": "Milk",
"healthStarRating": 4.0,
"nutritionPer100g": {"Energy kJ": "264.0kJ", "Protein": "3.3g", "Fat Total": "3.4g", "Sugars": "4.8g"},
"siteTotal": 2419,
"scrapedAt": "2026-10-10T04:48:02Z"
}

How much does it cost to scrape Woolworths?

You pay per product saved: $0.0008 per product (the product event), which is $0.80 per 1,000 products. Duplicates, blocked or failed pages, unknown barcodes and, in monitor mode, unchanged products are free.

Example: 3 search terms with Max products 600 saves at most 600 products and costs at most 600 × $0.0008 = $0.48.

Fetch details makes one extra request per product (the product page). This version does not charge extra for it, so the price stays $0.0008 per product. It makes runs slower: about 1 product per second.

The Actor reads the site's own JSON (36 products per request) with plain HTTP requests and a browser-like TLS fingerprint. It does not use a browser or unblocking services. It uses Apify's residential proxy in Australia by default, because Woolworths blocks datacenter IPs; the proxy cost is included in the price per product.

Monitor mode (Only changed prices)

With Only changed prices on, the last price of every product is kept in the named key-value store woolworths-au-grocery-catalog-prices. A later run saves only products whose price changed (priceChanged: true, previousPrice) or that it has not seen before (priceChanged: false). Unchanged products are skipped and not charged. The first run is the baseline: every product is new, so all of them are saved. Schedule the same input daily or weekly to get a price-change feed.

Limits

  • Prices are the site's default online prices (no store or delivery address is selected), so a local store may differ. instorePrice is the site's default in-store price.
  • Stockcodes and barcodes are looked up one request each (an exact-match search). An unknown barcode or stockcode is logged as a warning and costs nothing.
  • Everyday Market (marketplace) products have no barcode on the site. They are skipped on search, category and specials pages, so a list can return fewer rows than the site total. A price high-to-low sort or a non-grocery search term can put only marketplace listings on the first pages: raise Max pages per source or sort by relevance. When marketplace products are returned (stockcode lookup, everyday-market category), barcode is null and isMarketplace / vendor show the seller.
  • Max pages per source also caps Full catalogue for each department. Raise it (up to 500) for a complete walk of large departments.
  • Free plan: up to 200 products per run. The run stops with a clear status message when it reaches that limit.
  • If the site blocks a request, the Actor retries it with new sessions. Pages that stay blocked are reported in the status message, in the log and in the FAILED_URLS record, and the products already saved are kept.
  • Requests are paced to at most 60 per minute and 5 at a time.

FAQ

The Actor reads only public catalogue pages that anyone can open without an account. It does not log in, and it collects no personal data. It follows the site's robots.txt. Check the site's terms and your local rules for your use case. This Actor is not affiliated with or endorsed by Woolworths.

What are the limits of a run?

Each run stops at Max products, at Max pages per source for every source, or at the free plan limit of 200 products per run, whichever comes first. The final status message says which limit stopped the run and how many products the site listed in total.

Troubleshooting: why did I get 0 results or fewer than expected?

Check the spelling of your search terms, category URLs and specials names: the log names every value it could not use. Fewer products than the site total usually means a Max products or Max pages per source cap was reached. If the log shows blocked pages, run again later and keep the default residential Australian proxy in the input.

Can I use it through the API or on a schedule?

Yes. Start it from the Apify API, a client library, a schedule or an integration (Make, Zapier, n8n, webhooks). Results go to the run's dataset.