Live · refreshed nightly

Woolworths prices, specials and price history, as an API.

Every product in the Woolworths Australia range, crawled every night: shelf and unit prices, specials, barcodes and nutrition, plus a check that tells you whether a special is real.

Independent tool, not affiliated with Woolworths. Public data only.

Last night's price moves

harvest
~25–30kproducts, the full range
100%of products with price history
~1,140stores, each with its own price
2–3 scached answers
Live data

Tonight's harvest.

Straight from the latest nightly crawl. These numbers refresh on their own, and the same data is what your run returns.

Last harvest

,
products tracked
price changes in 24 h
of the range on special
specials right now

Is this special real?

was
previous
30-day low
90-day avg

Specials by category

tonight

Online vs in store

staples · 9 stores across the states
productonlinein storestores differ

store prices read tonight; the Actor returns them for any of ~1,140 stores

What you get

One clean record per product.

Typed fields, stable ids and the price history already worked out. No HTML to parse, no second request for the details.

sample recordJSON
{
  "productId": "88436",
  "barcode": "9310199012717",
  "name": "Dairy Farmers Full Cream Milk 2L",
  "brand": "Dairy Farmers",
  "price": 4.7,
  "wasPrice": 4.7,
  "pricePerLitre": 2.35,
  "isOnSpecial": false,
  "categoryPath": ["Dairy, Eggs & Fridge", "Milk", "Full Cream Milk"],
  "allergens": { "contains": ["Milk"], "mayContain": [] },
  "healthStarRating": 4,
  "previousPrice": 4.95,
  "priceChangedAt": "2026-10-14T15:31:02.000Z",
  "lowestPrice30d": 4.7,
  "averagePrice90d": 4.86,
  "scrapedAt": "2026-10-20T15:45:14.223Z",
  "source": "cache"
}

Product

  • productId (stockcode)
  • name
  • brand
  • barcode (EAN)
  • categoryPath
  • images

Price today

  • price
  • wasPrice
  • isOnSpecial
  • pricePerKg / pricePerLitre

History, worked out

  • previousPrice
  • priceChangedAt
  • lowestPrice30d
  • averagePrice90d
  • discountCheck

Nutrition

  • nutrition
  • allergens
  • healthStarRating
  • dietaryTags

Provenance

  • scrapedAt
  • source cache · live

Ways to query

Keyword search

Anything a shopper would type, e.g. olive oil.

Category

A whole aisle or sub-category, down to the shelf.

Product or list URL

Paste any product, category or search page link.

Stockcode or barcode

Look up exact products by stockcode (productIds) or EAN (barcodes).

Full-catalog export

The whole range in one run, ready for your warehouse.

Store prices & stock

Each store's own price and in-store stock for the stores you pick: by store number, postcode or all ~1,140.

Use cases

Built for the people who watch prices.

retail & brand analysts

Price monitoring

Track shelf price, unit price and promo depth for every product you care about, night after night.

journalists & researchers

Deal hunting and consumer research

Separate real discounts from inflated "was" prices with discountCheck, which tests the "was" price against what the product really cost.

ops & growth teams

Price-change alerts

Schedule a nightly run and push only what changed to Slack or Google Sheets through Apify integrations.

comparison sites

Basket comparison across retailers

Match products by barcode and compare fairly with unit prices per kg or litre.

health & food tech

Nutrition and product analytics

Nutrition panels, allergens and health stars for the whole range, joined to price and category.

How to run

From zero to data in three steps.

  1. 01

    Open it on Apify

    Sign in with a free Apify account. No card needed to try.

  2. 02

    Choose an input

    A keyword, category, URL, stockcode or barcode, or the full catalog.

  3. 03

    Get your results

    Download JSON, CSV or Excel, call the API, schedule it, or hand it to an AI agent.

Run it every night

Add a schedule on Apify, for example daily at 06:00, and send the results where you work.

  • Schedules
  • Webhooks
  • Google Sheets
  • Slack
  • REST API
  • MCP
curl -X POST \
  "https://api.apify.com/v2/acts/crawlplant~woolworths-au/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "queries": ["olive oil"], "maxItems": 100 }'
Reliability

Runs that don't break.

The same factory promises as every CrawlPlant Actor. How the factory works

Nightly snapshot

The full range is harvested every night and stamped with scrapedAt.

Answers in 2–3 s

Runs read the cached harvest, so results come back while you wait.

Partial, never failed

If a page can't be reached, you still get every other record.

Checked every 3 hours

Canary runs catch changes on the site before they reach you.

History built in

Every price change since the first crawl, kept per product.

Pricing

Pricing

$0.30per 1,000 products

$0.50 per 1,000 on Apify's Free plan. Exact tiers are on the Store page.

  • Description, ingredients, allergens, nutrition and price history included
  • Pay only for the products you receive
  • No subscription. The free plan is enough to try it
FAQ

About this Actor.

General questions are on the home page. Something else? piotr@crawlplant.com

How fresh are the prices?

The full range is crawled every night. Each record carries scrapedAt, and priceChangedAt tells you exactly when the price last moved.

How do you decide whether a special is genuine?

We check the "was" price against the product's own price history. discountCheck.verdict is genuine when the "was" price was really charged for at least 28 of the 90 days before the special, and questionable when it wasn't, for example when the price went up just before the "discount". Every record also carries lowestPrice30d and averagePrice90d.

Can I get the whole catalog at once?

Yes. Full-catalog export returns the whole range, roughly 25–30k products, in one run. You pay per product returned.

Do you have store prices and in-store stock?

Yes. Pick stores by store number, by postcode or all ~1,140: each store gets its own rows with that store's price (which can differ from the online price) and in-store availability, read live when you run.

Can I match products with other retailers?

Every record includes the EAN barcode and normalised pricePerKg / pricePerLitre, so you can join and compare products across retailers fairly.

Is this affiliated with Woolworths?

No. CrawlPlant is an independent tool that collects publicly available product and price data. No personal data, nothing behind a login.