---
title: "Scrape Woolworths (Australia) groceries"
method: POST
path: "/groceries/woolworths"
tags: ["Plugins"]
---

# Scrape Woolworths (Australia) groceries

`POST /groceries/woolworths`

## Request

- Base URL: `https://api.scrapeunblocker.com`
- URL: `https://api.scrapeunblocker.com/groceries/woolworths`
- Auth: API key in header `x-scrapeunblocker-key`

Woolworths Australia (woolworths.com.au) products as JSON. `mode=search&query=`, `mode=category&category=` and `mode=specials` return `products`: `id` (stockcode), `name`, `brand`, `size`, `url`, `barcode`, `price`, `wasPrice`, `onSale`, `savings`, `promotion` (`type` half_price / special / multibuy / offer, `text`, multibuy `quantity` and `price`), `unitPrice` (`price`, `per`, `text`), `soldBy`, `inStock`, `available`, `purchaseLimit`, `isNew`, `sponsored`, `image`, `categories`, `healthStarRating` and `rating`, plus `totalResults`, `totalPages` and `nextPage`. `mode=product&product=` returns `product` with those fields and `description`, `ingredients`, `allergens` (`contains`, `mayContain`, `freeFrom`), `dietary`, `nutrition` (per serving and per 100 g / mL), `servingSize`, `servingsPerPack`, `storage`, `countryOfOrigin`, `department`, `aisle`, `images` and `variants`. Prices are Woolworths' online prices in AUD. Listings collect up to `max_results` from `page` on, billed one unit per page.

## Query parameters

- `mode` string, nullable: 'search' (default): products matching `query`. 'category': a category listing. 'specials': a specials page (Half Price unless `category` names another). 'product': one product with nutrition and ingredients. Defaults to 'product' when `product` is given and to 'category' when `category` is.
- `query` string, nullable: What to search for (mode=search), e.g. 'milk', 'tim tam', 'chicken breast'.
- `category` string, nullable: mode=category: a browse link (https://www.woolworths.com.au/shop/browse/dairy-eggs-fridge/milk), its path ('dairy-eggs-fridge/milk') or a category id ('1_6E4F4E4'). mode=specials: the specials page - 'half-price' (default), 'lower-shelf-price', 'everyday-low-price', 'seasonal-price', 'buy-more-save-more', 'online-only-specials' or a specials link.
- `product` string, nullable: mode=product: a stockcode ('888137') or a product link (https://www.woolworths.com.au/shop/productdetails/888137/woolworths-full-cream-milk).
- `sort` string: Listing order: relevance, price_asc, price_desc, unit_price_asc, unit_price_desc, name.
- `specials_only` boolean: mode=search: only products on special.
- `page` integer: 1-based listing page to start from (36 products per page).
- `max_results` integer: Products to collect across pages, 1-360. Each page fetched is billed one unit.
- `proxy_country` string, nullable: Proxy country the request is sent from (ISO-2, e.g. 'AU', 'US'). Leave blank: Woolworths answers every country, so the load spreads over all exits.

## Response `200`

JSON with `products` (listings) or `product`. A search with no matches answers 200 with an empty `products` list; one Woolworths shows only to signed-in shoppers (tobacco) also carries `warnings`.

- unknown

## Other responses

- `400`: Invalid parameters, or a product Woolworths shows only to signed-in shoppers.
- `404`: Woolworths has no such product or category.
- `422`: Validation Error
- `502`: Blocked by Woolworths on every attempt, an unusable answer, or no answer in time.

---

[API](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api.md) · [All operations](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api/revisions/c02f1254cc47?raw)
