Woolworths NZ Scraper | Prices, Specials & Products
Pricing
from $0.50 / 1,000 product from search or categories
Woolworths NZ Scraper | Prices, Specials & Products
Scrape Woolworths New Zealand (woolworths.co.nz) by search, category or product URL. Get prices, specials, unit prices, stock, barcodes, ingredients, nutrition and images. Fast HTTP scraper, no browser, proxies included. Filter by specials, multibuy, half price and member price.
Pricing
from $0.50 / 1,000 product from search or categories
Rating
0.0
(0)
Developer
Vladimir Efimenco
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Woolworths NZ Scraper | ⚡ Fast & Browserless
This Woolworths NZ scraper collects product data from woolworths.co.nz: prices, specials, unit prices, stock status, barcodes, categories and images. Search by keyword, go through any category, or pass product page links to get the full details, including ingredients, allergens and nutrition tables. It sends plain HTTP requests, no browser involved, and proxies are already included.
If you were looking for a Woolworths New Zealand scraper (the supermarket chain that used to be called Countdown), this is the one. You can get a clean dataset of the whole shelf or just the products you track.
⚡ What you can do with it
- Scrape Woolworths NZ prices for any search term, for example
milk,frozen foodorcoffee. - Go through a whole category by its slug or by pasting the category page link.
- Collect only what is on offer: specials, multibuy deals, half price items or member prices.
- Sort results by relevance, lowest price, highest price or lowest unit price.
- Get full product pages by URL, with description, ingredients, allergens, warnings, usage instructions and nutritional information.
- Get every product image, not only the main one.
- Run several queries, categories or product links in one go.
🎯 Who uses it
- Price monitoring and competitor tracking for New Zealand grocery and retail.
- Teams that follow Woolworths NZ specials and promotions week by week.
- Product catalogue and barcode (GTIN) matching between stores or suppliers.
- Nutrition, allergen and diet apps that need structured Woolworths NZ product data.
- Market researchers and analysts working with NZ grocery pricing.
- Developers who need Woolworths NZ data in a spreadsheet, database or their own app.
🔧 Input
The actor has three modes. Pick one with the mode field and fill in the matching list.
| Field | Description |
|---|---|
mode | Search Query, By Category or Product URLs |
searchQueries | Keywords to search for. Used in Search Query mode |
categories | Category slugs (for example ready-meals) or category page links. Used in By Category mode |
productUrls | Product page links from woolworths.co.nz. Used in Product URLs mode |
pageNumber | Page to fetch, starting from 1. Search Query and By Category modes |
pageSize | Products per page: 36, 72 or 108. Default is 108 |
sort | Relevance, price low to high, price high to low, or unit price low to high |
staticFilters | Any of: Specials, Multibuy, Half price, Member price. You can pick several |
A few things worth knowing:
- Every query and every category returns one page per run. To go deeper, raise
pageNumberand run again. - For categories you can paste a full link like
https://www.woolworths.co.nz/shop/browse/dinner/ready-meals?page=2. The slug is picked out of it automatically, and anything after the?is ignored. - Product links are cleaned up the same way, so tracking parameters do no harm. Links that are not from woolworths.co.nz are skipped with a warning in the log.
Example input for a search:
{"mode": "SEARCH","searchQueries": ["milk", "frozen food"],"pageNumber": 1,"pageSize": "108","sort": "PRICE_LOW_HIGH","staticFilters": ["SPECIALS"]}
Example input for product pages:
{"mode": "PRODUCT_URLS","productUrls": [{ "url": "https://www.woolworths.co.nz/shop/product-details/647699/nescafe-espresso-coffee-concentrate-sweet-vanilla" }]}
🐍 Python example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("mof1re/woolworths-nz-scraper").call(run_input={"mode": "CATEGORY","categories": ["ready-meals"],"pageSize": "72","sort": "CUP_PRICE_LOW_HIGH","staticFilters": ["SPECIALS", "MEMBER_PRICE"],})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["name"], item["price"], item["discount_price"], item["unit_price"])
📊 Data fields
All three modes write to the same dataset with the same fields. Fields a mode cannot fill are null.
🛒 Product
| Field | Description |
|---|---|
sku | Woolworths product SKU |
url | Product page link |
name | Product name |
brand | Brand |
gtin | Barcode (GTIN/EAN) |
slug | Product slug used in the page link |
variant | Purchase variant key |
isAlcohol | Whether the product is alcohol. Search and category modes |
isTobacco | Whether the product is tobacco. Search and category modes |
healthStarRating | Health Star Rating. Search and category modes |
💰 Pricing
| Field | Description |
|---|---|
price | Regular price. When a product is discounted, this is the price before the discount |
discount_price | Current price when the product is discounted, otherwise null |
savings | Difference between the regular and the discounted price |
currency | Currency, NZD |
unit | Unit the product is sold in |
unit_value | Quantity the unit price is calculated for, for example 100ML |
unit_price | Price per unit |
isSpecial | Whether the product is on special |
isClubPrice | Whether the price is a member price |
isBoostOffer | Whether the product has a boost offer |
price_variations | All purchase variants with their prices and availability. Search and category modes |
📦 Availability and limits
| Field | Description |
|---|---|
in_stock | Whether the product is in stock |
minQty | Minimum quantity per order |
maxQty | Maximum quantity per order |
defaultQty | Default quantity |
🗂️ Categories and images
| Field | Description |
|---|---|
category | Product category |
category_path | Category hierarchy from the top level down |
imageUrl | Main product image |
images | All product image links. Product URLs mode |
🧾 Full product details (Product URLs mode)
| Field | Description |
|---|---|
description | Product description as plain text |
ingredients | Ingredients as plain text |
allergencontains | Allergen information |
warnings | Product warnings |
usage_instructions | Directions of use |
nutritionalinformation | Nutrition tables, usually per 100g and per serve |
In Search Query and By Category modes the barcode and the category come from our own product database, so a product that was added to the store very recently can have them empty. Product URLs mode reads the barcode straight from the product page.
📋 Example output
Product URLs mode, shortened:
[{"sku": "6082400","url": "https://www.woolworths.co.nz/shop/product-details/6082400/allen-s-chocolate-block-strawberries-cream","name": "Allen's Chocolate Block Strawberries & Cream 170g","gtin": "9300605166455","brand": "Allen's","slug": "allen-s-chocolate-block-strawberries-cream","imageUrl": "https://assets.woolworths.com.au:443/images/2010/6082400.jpg?impolicy=wowb2bgpkhx","images": ["https://assets.woolworths.com.au:443/images/2010/6082400.jpg?impolicy=wowb2bgpkhx","https://assets.woolworths.com.au:443/images/2010/6082400_2.jpg?impolicy=wowb2bgpkhx"],"isAlcohol": null,"isTobacco": null,"healthStarRating": null,"variant": "6082400-EA","in_stock": true,"price": 6.49,"discount_price": 3.99,"savings": 2.5,"currency": "NZD","unit": "EA","unit_value": "100G","unit_price": 2.35,"maxQty": 36,"minQty": 1,"defaultQty": 1,"isSpecial": true,"isClubPrice": false,"isBoostOffer": false,"price_variations": null,"category": null,"category_path": ["Pantry","Snacks & Sweets","Chocolate Bars & Blocks"],"description": "Introducing Allen's new Strawberries & Cream 170g! A smooth white choc block filled with fudge pieces and sherbet fizzy chips.\n\nIntroducing Allen's new Strawberries & Cream 170g! A smooth white choc block filled with fudge pieces and sherbet fizzy chips.","allergencontains": "Milk, Soy","ingredients": "Sugar, Milk Solids, Vegetable Fats Emulsifier (Soy Lecithin), Fudge Pieces (8%) (Sugar, Glucose Syrup, Vegetable Fat, Sweetened Condensed Milk, Emulsifier (Soy Lecithin)), Salt, Colour (120), Flavour), Sherbet Chips (4%) (Raising Agent (Sodium Bicarbonate), Food Acid (Citric)), Emulsifiers (Soy Lecithin, 476), Flavours.","warnings": "CHILDREN LESS THAN 4 YEARS HAVE LIMITED CHEWING ABILITY AND COULD CHOKE ON SMALL PIECES","usage_instructions": null,"nutritionalinformation": [{"__typename": "NutritionalInformation","energy": "2280.0kJ","protein": "6.9g","fatTotal": "31.8g","fatTotalSaturated": "18.8g","carbohydrate": "57.7g","carbohydrateSugars": "56.0g","dietaryFibre": null,"sodium": "130.0mg","quantityPerUnit": "Per 100g"},{"__typename": "NutritionalInformation","energy": "430.0kJ","protein": "1.3g","fatTotal": "6.0g","fatTotalSaturated": "3.6g","carbohydrate": "10.9g","carbohydrateSugars": "10.6g","dietaryFibre": null,"sodium": "24.0mg","quantityPerUnit": "Per Serve"}]}]
❓ FAQ
Is this the same as Countdown? Yes. Countdown New Zealand is now Woolworths NZ, and the data comes from woolworths.co.nz.
Can I scrape a whole category? Yes, use the By Category mode. One run returns one page of up to 108 products per category. Change pageNumber to move through the rest.
How do I find a category slug? It is the last part of the category link on woolworths.co.nz, for example ready-meals in .../browse/dinner/ready-meals. You can also paste the whole link and the actor will pull the slug out itself.
Can I only get products on special? Yes. Pick Specials, Multibuy, Half price or Member price in the filters. You can combine them.
Do I need my own proxies? No, they are built in.
How fresh is the data? Every run queries the site live, so prices and stock are what the site shows at that moment.
Where do ingredients and nutrition come from? From the product page. Use Product URLs mode to get them, since search and category listings do not carry those details.
💳 Pricing
Pay per result. Products from search and category listings and products with full details from a product page are priced separately, because a product page takes its own request while a listing page returns up to 108 products at once. You are charged for products that end up in the dataset, not for requests or pages.
⚠️ Notes
- Free accounts can run up to 5 times a day, with up to 3 search queries, 5 categories or 20 product links per run, and 2 requests in parallel. Paid Apify plans have no limit on the number of queries, categories or links and run up to 10 requests in parallel.
- If your account runs out of credit during a run, the actor stops and keeps everything it has already collected.
- The data is what woolworths.co.nz shows publicly at the time of the run. The site changes all the time, so prices and stock can differ a minute later.
🔗 See also
Need a scraper for another platform? Check out: