Supermarket Price Scraper - Woolworths & Sainsbury's avatar

Supermarket Price Scraper - Woolworths & Sainsbury's

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Supermarket Price Scraper - Woolworths & Sainsbury's

Supermarket Price Scraper - Woolworths & Sainsbury's

Track grocery prices and discounts at Woolworths (Australia) and Sainsbury's (UK). Search any product term for price, previous price, discount %, unit price, pack size, barcode and stock. Filter to on-sale only - filtered rows are not charged. No login, proxy or browser.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Abdullah Bilal

Abdullah Bilal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Supermarket Price Scraper

What does Supermarket Price Scraper do?

This Actor collects live grocery prices and discounts from supermarket websites. Give it product search terms — milk, olive oil, nappies — and it returns every matching product with its current price, previous price, discount percentage, unit price, pack size, barcode, stock status, image and product URL.

It currently covers Woolworths (Australia) and Sainsbury's (United Kingdom), reading each chain's own public storefront data. There is no login and no headless browser — just structured JSON over plain HTTP, which keeps runs fast and cheap. Requests route through Apify Proxy, which is enabled by default and needs no configuration from you.

Running on Apify gives you a REST API, scheduled runs, webhooks, and exports to JSON, CSV, Excel and Google Sheets — so a daily price history is a scheduling setting rather than a project.

Why use Supermarket Price Scraper?

  • Price monitoring — track what competitors charge for the same products, every day.
  • Inflation and cost-of-living research — build a real basket-of-goods time series instead of relying on published indices.
  • FMCG and brand analytics — see where your products sit against own-brand alternatives, and when they get discounted.
  • Deal and cashback sites — pull current markdowns with a single filtered run.
  • Unit-price comparison — every row carries the per-litre or per-kilo price, which is what actually makes products comparable.

How to use Supermarket Price Scraper

  1. Click Try for free.
  2. Add your product search terms, one per entry.
  3. Pick your retailers, or leave the field as-is to search all of them.
  4. Optional: tick Only discounted products to get just the markdowns.
  5. Press Start, then download from the Output tab as JSON, CSV, Excel or HTML.

Input

FieldDescription
searchTermsProduct terms to search. Each is run against every selected retailer.
retailerswoolworths-au, sainsburys-uk, or both.
maxProductsPerTermCap per term per retailer. Pagination is automatic.
onlyOnSaleReturn only products marked down from a previous price.
minDiscountPctDrop anything discounted by less than this.
{
"searchTerms": ["milk", "coffee", "olive oil"],
"retailers": ["woolworths-au"],
"onlyOnSale": true,
"minDiscountPct": 20
}

Output

One dataset item per product. Download as JSON, HTML, CSV, or Excel.

{
"retailer": "woolworths-au",
"retailerName": "Woolworths (Australia)",
"country": "AU",
"currency": "AUD",
"productId": "888140",
"name": "Woolworths Full Cream Milk 3L",
"brand": "Woolworths",
"price": 4.95,
"wasPrice": 5.5,
"onSale": true,
"discountPct": 10.0,
"unitPrice": "$1.65 / 1L",
"packageSize": "3L",
"barcode": "9300633636999",
"inStock": true,
"url": "https://www.woolworths.com.au/shop/productdetails/888140",
"searchTerm": "milk",
"scrapedAt": "2026-09-20T14:00:00+00:00"
}

Data fields

FieldDescription
retailer / retailerName / country / currencyWhich chain the row came from
productIdThe retailer's own product code
name / brand / packageSizeProduct identity
price / wasPriceCurrent and previous price
onSale / discountPctWhether it is marked down, and by how much
unitPricePrice per litre, kilo or unit — the comparable figure
barcodeEAN / barcode where published
inStockCurrent availability
url / imageUrlProduct page and image
searchTerm / scrapedAtWhich query produced the row, and when

How much does it cost to scrape supermarket prices?

Billing is per product returned. Because the Actor reads each retailer's own JSON over plain HTTP rather than driving a browser, compute per run is very low, and the Apify free tier covers trying it and running small jobs.

Filtered rows are never charged. If you set onlyOnSale or a minimum discount, the products that do not qualify are dropped before anything is written to the dataset.

Tips

  • Batch your terms. One run with 50 terms is cheaper and faster than 50 runs.
  • Schedule a daily run on the same basket of terms to build a price history — that is where the real value is.
  • Use unitPrice, not price, when comparing across pack sizes.
  • onlyOnSale plus minDiscountPct is the cheapest way to watch for genuine markdowns.

FAQ

Which supermarkets are supported? Woolworths (AU) and Sainsbury's (UK) today. The Actor is built so new chains are straightforward to add — request one on the Issues tab and it will be considered.

Why not Coles, Tesco or ASDA? Those chains actively block automated access to their storefronts. Rather than ship something that fails intermittently, only retailers that respond reliably are included.

Do I need a proxy? It is already handled. Both retailers block Apify's server IPs directly, so runs go through Apify Proxy with the default datacenter groups. This is enabled out of the box - you do not need a residential proxy or any setup.

Why is wasPrice sometimes empty? Not every retailer publishes a previous price, and a product that is not discounted has none. onSale will be false in that case.

This Actor collects only publicly available product information — the prices and descriptions any shopper can see without logging in. It does not access customer accounts, orders or personal data.

You are responsible for how you use the data, including compliance with applicable law and each retailer's terms. Prices change constantly and may vary by store or delivery area; treat results as a point-in-time snapshot rather than a guaranteed quote.

Support

Need another supermarket, another country, or an extra field? Open a ticket on the Issues tab — retailer requests genuinely shape what gets added next.