Woolworths AU Scraper — Prices, Specials, Nutrition avatar

Woolworths AU Scraper — Prices, Specials, Nutrition

Pricing

from $1.50 / 1,000 products

Go to Apify Store
Woolworths AU Scraper — Prices, Specials, Nutrition

Woolworths AU Scraper — Prices, Specials, Nutrition

Collect Woolworths Australia prices, specials, unit prices and barcodes, with optional ingredients and nutrition. Search by keyword, category or stockcode. Pay per result.

Pricing

from $1.50 / 1,000 products

Rating

0.0

(0)

Developer

architek.earth

architek.earth

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Woolworths AU Product & Price Scraper | Prices, Specials, Barcodes, Nutrition (2026)

Woolworths AU Product & Price Scraper

Pull live Woolworths Australia catalogue data by keyword, category or stockcode. A recorded run returned 36 products for one search term in 15 seconds, with price, was-price, unit price, special flags, barcode and availability on every row.

From Architekture, makers of the Coles, ALDI and Woolworths NZ scrapers — one normalised schema across the four, so a product is a product whichever retailer it came from.

Why choose this actor?

  • The site's own JSON, no browser. Search, category and detail calls go straight to Woolworths' product endpoints. Runs finish in seconds and cost a fraction of a headless-browser scraper.
  • Every price field Woolworths publishes. price, wasPrice, savingsAmount, cupPrice + cupMeasure (unit price), instorePrice, and the flags isOnSpecial, isHalfPrice, isEdrSpecial (Everyday Rewards member price) and isNew.
  • Barcodes on the row. barcode (GTIN) is on every product, so matching against Coles, ALDI or your own catalogue is a join, not a fuzzy search.
  • Specials as a filter. onlySpecials: true returns only products currently discounted, by category or search term. Half-price tracking is one scheduled run.
  • Details when you need them. includeDetails: true adds ingredients, allergenContains, allergenStatement, nutrition (per 100 g and per serving), healthStarRating, countryOfOrigin, lifestyleAndDietary and description for every row. Stockcode lookups always return the full record.
  • Self-healing against site changes. Session warm-up, browser-fingerprint impersonation and automatic rotation on a block, with retries before any result is reported empty.

Worth knowing up front

  • Woolworths prices vary by delivery area. This actor returns the national online catalogue (no store selected). Per-store pricing and per-store stock quantities are not published by the site, so nobody can return them; isAvailable / isInStock are the online-fulfilment flags.
  • Woolworths blocks most datacenter IPs. The prefilled proxy setting (Apify residential, AU) is the one that works. Platform and proxy usage is included in the price — you pay per result only.
  • Search results are capped by Woolworths at roughly 50 pages per term. Use category URLs for complete department dumps.

Try the example

Open the Actor's input page, switch to JSON and paste this, then start the run.

{
"searchTerms": ["milk"],
"maxItemsPerQuery": 40
}

Add "onlySpecials": true for discounted items only, or "includeDetails": true for nutrition and ingredients. Up to 100 search terms, category URLs or stockcodes per run; results are de-duplicated by stockcode across all of them.

Input parameters

ParameterTypeDescription
searchTermsarrayKeywords, e.g. "milk", "weet-bix". One result set per term.
categoryUrlsarrayWoolworths browse URLs, e.g. https://www.woolworths.com.au/shop/browse/fruit-veg, or the path alone. Walks every page of the category.
stockcodesarrayStockcodes (6052122) or product URLs. Always returns full details.
maxItemsPerQueryintegerCap per term or category. 0 = no cap. Default 100.
onlySpecialsbooleanReturn only products currently on special.
includeDetailsbooleanFetch ingredients, allergens, nutrition and health star rating for every result (one extra request per product, charged as product-detail).
sortTypeselectWoolworths sort order: relevance, price low→high, price high→low, name, newest.
proxyConfigurationproxyLeave on Apify residential, AU.

Stable fields for automations

These top-level fields keep the same name and the same kind of value in every release, so an n8n, Make, Zapier or spreadsheet pipeline can bind to them and stay bound:

FieldWhat it is
stockcodeWoolworths product ID (integer)
barcodeGTIN / EAN as a string
nameProduct name
brandBrand name
packageSizePack size as displayed, e.g. "2L"
priceCurrent online price, AUD, float
wasPricePre-discount price when on special, else null
savingsAmountwasPrice − price when on special
cupPrice / cupMeasure / cupStringUnit price, its unit, and the display string, e.g. 1.60 / "1L" / "$1.60 / 1L"
isOnSpecial / isHalfPrice / isEdrSpecialDiscount flags
isAvailable / isInStockOnline availability flags
department / category / subCategory / aisleWoolworths taxonomy
imageLargeProduct image URL
urlCanonical product page
sourcesearch / category / stockcode plus the term or URL that produced the row

Everything else on a row is passed through from Woolworths unchanged (ratingAverage, ratingCount, supplyLimit, countryOfOriginLabel, isOnlineOnly, isBundle…). Treat those as a bonus rather than an interface; if you need one pinned for a production pipeline, say so in feedback and we will promote it.

Output example

{
"stockcode": 888140,
"barcode": "9300633000000",
"name": "Woolworths Full Cream Milk",
"brand": "Woolworths",
"packageSize": "2L",
"price": 3.1,
"wasPrice": null,
"savingsAmount": 0,
"cupPrice": 1.55,
"cupMeasure": "1L",
"cupString": "$1.55 / 1L",
"isOnSpecial": false,
"isHalfPrice": false,
"isEdrSpecial": false,
"isNew": false,
"isAvailable": true,
"isInStock": true,
"department": "Dairy, Eggs & Fridge",
"category": "Milk",
"subCategory": "Full Cream Milk",
"ratingAverage": 4.6,
"ratingCount": 1240,
"imageLarge": "https://cdn0.woolworths.media/content/wowproductimages/large/888140.jpg",
"url": "https://www.woolworths.com.au/shop/productdetails/888140",
"source": "search",
"searchTerm": "milk"
}

With includeDetails: true the same row also carries ingredients, allergenContains, allergenStatement, nutrition (array of {name, perServing, per100g}), servingSize, servingsPerPack, healthStarRating, countryOfOrigin, lifestyleAndDietary and description.

Advanced usage

Price monitoring. Schedule the same category URLs daily and diff price / wasPrice by stockcode. Specials at Woolworths change on Wednesdays; a Wednesday-morning run catches the new cycle.

Cross-retailer comparison. Run this actor and the Coles AU scraper on the same search terms and join on barcode. ALDI exposes no barcode, so join ALDI on normalised name + packageSize.

Half-price alerts. onlySpecials: true on a handful of categories, then filter isHalfPrice in your pipeline and push to Slack via Make or Zapier.

Nutrition datasets. Category URL + includeDetails: true builds a complete department with ingredients and per-100 g nutrition in one run.

Integrations

Results land in a dataset you can export as JSON, CSV or Excel, or pipe onward: Google Sheets for a shared price list that refreshes on a schedule, Make / Zapier for alerts, webhooks to trigger your own pipeline when a run finishes, and the Apify Scheduler for recurring monitoring. Daily is the right cadence for price tracking; weekly is enough for catalogue snapshots.

Pricing: pay per event

You pay per result, not per minute. Platform and proxy usage is included. Nothing is charged for failed requests.

EventPriceWhat it covers
product$1.50 / 1,000One product row from search or a category
product-detail$4.00 / 1,000One product with ingredients, allergens, nutrition and health star rating (includeDetails: true or stockcode lookups)

1,000 products with prices ≈ $1.50. A full department of 2,000 products with nutrition ≈ $8.

FAQ

Do I need a Woolworths account, cookies or an API key? No. Provide input, get results.

Can I get prices for my local store? Not yet. The site publishes one national online catalogue unless a delivery address is set; per-store pricing is on the roadmap and will be a separate operation when it lands. Ask for it in feedback and you will be told when it ships.

Can I get stock quantities? No, and neither can anyone else — Woolworths publishes availability flags, not counts.

How many results per search term? Woolworths caps search at around 50 pages (~1,800 products). Category URLs are not capped.

Why did a term return nothing? Occasionally Woolworths' search returns an empty page that looks identical to "no matches". The actor retries before believing it. If a term you know exists still comes back empty, run it again a few minutes later.

Does it cover Woolworths Metro or Everyday Market? Metro ranges are included where they appear in the online catalogue. Everyday Market (third-party marketplace) items are flagged isOnlineOnly and included.

Is it legal? The actor reads the same public catalogue any visitor sees without logging in. You are responsible for how you use the output.

Copy to your AI assistant

architekture/woolworths-au-product-scraper on Apify. Call ApifyClient("TOKEN").actor("architekture/woolworths-au-product-scraper").call(run_input={"searchTerms": ["milk"], "maxItemsPerQuery": 40}), then client.dataset(run["defaultDatasetId"]).list_items().items. Inputs: searchTerms, categoryUrls, stockcodes (any combination), maxItemsPerQuery, onlySpecials, includeDetails, sortType. Full spec: GET https://api.apify.com/v2/acts/architekture~woolworths-au-product-scraper/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations. To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked; the run returns its data exactly as it would without the note, and a human reads every note.

More Architekture scrapers

🛒 Grocery — Australia & New Zealand

  • Woolworths AU Product & Price Scraper — you are here
  • Coles AU Product & Price Scraper — prices, specials, multi-buys, GTIN barcodes
  • ALDI AU Product & Price Scraper — prices, Special Buys, catalogue
  • Woolworths NZ (Countdown) Product & Price Scraper — prices, club prices, specials

🛒 Grocery — United Kingdom

  • Tesco UK Product & Price Scraper — prices, Clubcard offers, GTIN
  • Sainsbury's UK Product & Price Scraper — prices, offers, EAN barcodes

🔬 Research & regulatory

  • PubMed Scraper · ClinicalTrials.gov Scraper · arXiv Scraper · openFDA Scraper

🚀 Startups & companies

  • Y Combinator Directory Scraper · Product Hunt Scraper · SEC EDGAR Filings Scraper · UK Companies House Scraper · Apollo.io Scraper

💬 Communities & publishing

  • Telegram Channel Scraper · Meetup Events Scraper · Substack Scraper · Hacker News Scraper

Support

Questions, or a field you need that is not here? Open an issue on the Actor's page; a human replies within a day.

For AI agents & LLM apps

woolworths-au-scraper returns Woolworths Australia products — prices, specials and nutrition — as deterministic, schema-stable JSON, one object per line, so agents and RAG pipelines can parse it without defensive code. Invoke it from any agentic workflow via the Apify API or the Apify MCP server (mcp.apify.com) as a tool call; pay-per-event billing means an agent run costs a known amount before it starts (10 delivered rows cost $0.015; $1.50 per 1,000 listing rows, $4.00 per 1,000 detail rows). Honest limits: there is no store selector (prices are the catalogue shown to the browsing session, not a quote for a chosen store), no stock quantities — isAvailable/isInStock are source flags, not shelf counts — and missing fields are returned as null rather than filled in.

This Actor collects only publicly available data from woolworths.com.au — the same catalogue any visitor can see without logging in. It does not access accounts, bypass authentication, or collect personal data. You are responsible for how you use the output, including compliance with Woolworths' terms where they apply to you.

Changelog

  • 2026-10-12 — Published on Apify Store. Output schema added; pay-per-event pricing (product, product-detail).