Woolworths Australia Scraper
Pricing
from $2.00 / 1,000 product scrapeds
Woolworths Australia Scraper
Scrape Woolworths Australia grocery products by category, search term or stock code: price, was-price, specials, unit price, brand, size, images, ratings, ingredients and nutrition.
Pricing
from $2.00 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Trevor Ortega
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape Woolworths Australia (woolworths.com.au) grocery products by category, search term or stock code: current price, was-price and savings, specials and half-price deals, multibuy promotions ("2 for $6"), unit price per kg/L, stock code and barcode, brand, package size, images, ratings, health star rating, ingredients, allergens, dietary claims and nutrition. Track grocery prices, monitor promotions, build price-comparison datasets or feed a product catalogue.
Built for reliability: it talks to the same JSON endpoints the Woolworths website uses (no headless browser, no CSS selectors, no login), with browser TLS fingerprinting, automatic cookie refresh and retries. Runs of a few hundred products finish in under a minute. You pay only for the products you get.
What data does Woolworths Australia Scraper extract?
Every product (category, search or product mode):
| Field | Description |
|---|---|
stockcode | Woolworths stock code (the number in the product URL) |
name, shortName | Product name with size ("Woolworths Lite Milk 3L") and without |
url | Product page URL |
brand | Brand ("Woolworths", "Dove", …) |
packageSize, unit | Pack size ("200g", "each", "per 350g") and selling unit (Each or KG for weighed produce) |
price | Current shelf price in AUD (number); null when the product is unavailable |
wasPrice | Previous price when the product is marked down, else null |
savingsAmount | wasPrice - price (0 when not on special) |
isOnSpecial, isHalfPrice | Special / half-price flags |
specialText | Header badge text such as "Save $6.00" |
promotion | Promotion text such as "2 for $6.00 - $0.38/10G" or a member offer |
multibuy | {quantity, price, unitPriceText} for "N for $X" deals, else null |
isMemberPrice | True when the tile shows an Everyday Rewards member price |
unitPrice, unitMeasure, unitPriceText | Comparative unit price, e.g. 1.65, "1L", "$1.65 / 1L" |
isAvailable, inStock, isPurchasable | Availability flags for online shopping |
isNew, isOnlineOnly, isSponsored | New-product flag, online-only flag, sponsored tile flag |
rating, reviewCount, ratingCount | Average star rating (0-5) and review counts (rating is null when there are no ratings) |
imageUrl, images | Large product image and all gallery images |
barcode | GTIN / EAN barcode |
department, category, subcategory, breadcrumbs | Woolworths taxonomy, e.g. "Fruit & Veg" > "Vegetables" > "Mushrooms" |
healthStarRating | Health Star Rating (0.5-5) where displayed |
description | Product description (HTML stripped) |
ingredients | Ingredient list |
allergens, allergensMayBePresent, allergyStatement | "Contains", "May contain" and "X Free" lists |
dietaryClaims | "Gluten Free", "Vegan", "Low Fat", … |
countryOfOrigin, storageInstructions | Where available on the listing tile |
nutrition | [{name, per100g, perServe}] from the nutrition information panel |
supplyLimit, minimumQuantity | Purchase limits |
tags | Tile badges: "Australian Grown", "Half Price", "Fresh Special", "Buy More Save More", … |
sourceUrl, searchTerm, scrapedAt | Category URL or search term that produced the item, and the run timestamp |
With Include product details on (or in product mode), each item also gets:
| Field | Description |
|---|---|
nutrition | Full nutrition table with both per-serve and per-100 g/mL values |
servingSize, servingsPerPack | Serving information |
countryOfOrigin, countryOfOriginText, australianIngredientsPercent | Country-of-origin label ("Product of Australia", 100) |
storageInstructions, directions, productWarnings, suitableFor | Usage and safety information |
aisle | Woolworths store aisle ("skim & reduced fat milk") |
images, videoUrl, variants | Extra gallery images, product video and size/colour variants ({stockcode, name, url}) |
How to use Woolworths Australia Scraper
- Pick a Mode:
- Category: paste browse URLs such as
https://www.woolworths.com.au/shop/browse/fruit-veg,.../shop/browse/dairy-eggs-fridge/milk,.../shop/browse/fruit-veg/fruit/apples-pearsor.../shop/browse/specials/half-price. Every page of the category is followed. - Search: enter terms such as
almond milkordishwasher tablets. - Product: paste product URLs or stock codes to get single products with full details.
- Category: paste browse URLs such as
- Set Max items to cap the run (and the cost).
- Optionally switch on Include product details, Only specials, or change the Sort order (price low to high, unit price, newest, …).
- Click Start. Results appear in the Dataset tab; export as JSON, CSV or Excel, or read them through the API.
Input example
{"mode": "category","categoryUrls": ["https://www.woolworths.com.au/shop/browse/specials/half-price"],"maxItems": 500,"onlySpecials": true,"includeDetails": false}
Search mode:
{"mode": "search","searchTerms": ["almond milk", "oat milk"],"maxItems": 100,"sort": "PriceAsc"}
Output example
{"stockcode": 905071,"name": "Dove Women Advanced 72hr Deodorant Aerosol Pomegranate 250mL","url": "https://www.woolworths.com.au/shop/productdetails/905071/dove-women-advanced-72hr-deodorant-aerosol-pomegranate","brand": "Dove","packageSize": "250mL","unit": "Each","price": 6.0,"wasPrice": 12.0,"savingsAmount": 6.0,"isOnSpecial": true,"isHalfPrice": true,"specialText": "Save $6.00","promotion": null,"multibuy": null,"unitPrice": 2.4,"unitMeasure": "100ML","unitPriceText": "$2.40 / 100ML","isAvailable": true,"inStock": true,"rating": null,"reviewCount": 0,"imageUrl": "https://cdn0.woolworths.media/content/wowproductimages/large/905071.jpg","barcode": "9300830087976","department": "Personal Care","category": "Deodorants","breadcrumbs": ["Personal Care", "Deodorants", "Women's Deodorants"],"tags": ["Half Price"],"sourceUrl": "https://www.woolworths.com.au/shop/browse/specials/half-price","scrapedAt": "2026-09-08T22:30:00+00:00"}
How to scrape Woolworths specials and half-price deals
Use category mode with https://www.woolworths.com.au/shop/browse/specials/half-price (or a department under it, e.g. .../specials/half-price/pantry) and, if you only want price cuts, switch on Only specials. wasPrice, savingsAmount, isHalfPrice and specialText tell you the size of the discount; multibuy captures "2 for $X" deals. Run it daily on a schedule to build a price history.
How to get Woolworths prices per kg or per litre
Every item carries unitPrice and unitMeasure (for example 20.0 and 1KG for a 200 g punnet at $4.00) plus the display string unitPriceText. Weighed produce sold per kg has unit: "KG" and a packageSize such as "per 350g".
How to track a specific product's price
Use product mode with the product URL or stock code (888141). Each run returns the current price, wasPrice and availability plus the full nutrition and origin details. Schedule the Actor and diff the dataset over time.
Does it work without login or a browser?
Yes. The Actor only reads the public JSON endpoints behind the Woolworths website, with browser-like TLS fingerprinting and the site's own anti-bot cookies obtained from a normal page load. No account, no headless browser, no captcha. Prices are the standard online prices Woolworths shows before a delivery address is chosen; store-specific pricing and in-store-only availability are not covered.
Pricing
Pay per result: a small fee per product saved, plus a small extra fee per product detail fetched when Include product details is on or in product mode. There is no subscription; Apify's free plan is enough to try it.
Integrations and API
Use the run in Zapier, Make, n8n, Google Sheets, or call it from Python/Node with the Apify client. See the API tab for ready-made snippets.
Is it legal to scrape Woolworths?
This Actor collects only publicly available, non-personal product data (prices, descriptions, nutrition). It does not log in and does not collect any user or reviewer information. You are responsible for how you use the data and for complying with Woolworths' terms and applicable law.
Support
Found a bug or need a field added? Open an issue in the Issues tab; it is usually answered within a day.