Coles AU Product Scraper avatar

Coles AU Product Scraper

Pricing

from $0.60 / 1,000 products

Go to Apify Store
Coles AU Product Scraper

Coles AU Product Scraper

Scrape Coles Australia products by keyword, category, specials section or product URL. Prices, specials, unit prices and availability as clean JSON, CSV or Excel.

Pricing

from $0.60 / 1,000 products

Rating

0.0

(0)

Developer

Nikita Matvieiev

Nikita Matvieiev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Categories

Share

Pulls product data from coles.com.au: prices, specials, unit prices, availability. Search by keyword, crawl categories or the whole specials section, or look up specific products.

It reads the same JSON the Coles website loads for its own pages, so the output is structured data, not scraped HTML. No login needed.

What you get

productId Coles product ID
name, brand, size product name, brand, pack size
price current price (AUD)
wasPrice price before the special
savings wasPrice minus price
isOnSpecial any discount running
promotionType e.g. SPECIAL
offerDescription multi-buy and other offer text, when Coles provides it
unitPrice price per unit, e.g. 2.93
unitMeasure unit, e.g. g or l
unitPriceString "$2.93/ 100g"
isAvailable available online
barcode GTIN (product URL lookups only, see below)
category Coles online category
imageUrl product image
url product page
source which search term, category or URL produced this row

Sample row:

{
"productId": 6845799,
"name": "Gluten Free Tim Tam Original Biscuits",
"brand": "Arnott's",
"size": "150g",
"price": 4.4,
"wasPrice": 5.5,
"savings": 1.1,
"isOnSpecial": true,
"promotionType": "SPECIAL",
"offerDescription": null,
"unitPrice": 2.93,
"unitMeasure": "g",
"unitPriceString": "$2.93/ 100g",
"isAvailable": true,
"barcode": null,
"category": "Biscuits & Cookies",
"imageUrl": "https://cdn.productimages.coles.com.au/productimages/6/6845799.jpg",
"url": "https://www.coles.com.au/product/arnotts-gluten-free-tim-tam-original-biscuits-150g-6845799",
"source": "search:tim tam"
}

Export as JSON, CSV or Excel, or read it through the Apify API.

Input

Any mix of these in one run:

searchTerms keywords, same as the search box on the site
categoryUrls /browse/... category pages or /on-special
productUrls product pages or bare product IDs like 6845799
specialsOnly only discounted products (search terms and categories)
maxItemsPerSource cap per search term or category, default 200
proxyConfiguration AU residential by default, leave it as is

Example: the whole specials section plus two tracked products.

{
"categoryUrls": [{ "url": "https://www.coles.com.au/on-special" }],
"productUrls": ["https://www.coles.com.au/product/dairy-farmers-buttermilk-600ml-252739", "6845799"],
"maxItemsPerSource": 10000
}

Products that appear in several sources are saved once. Barcodes only come back for products you pass in productUrls, because Coles doesn't include them in search and category listings.

Reliability

Coles runs Imperva bot protection and blocks datacenter IPs. The actor uses a real browser session on Australian residential proxies. When Coles throws a challenge page mid-run, it starts a fresh session on a new IP and carries on. Proxy costs are included in the price.

A broken search term or category doesn't kill the run, the log names it and the rest keeps going. A run with zero products is marked as failed so schedules and integrations notice.

Typical uses

  • Daily specials and half-price tracking
  • Coles vs Woolworths price comparison (pair it with the Woolworths AU Product Scraper by the same author)
  • Unit price comparison across brands
  • Feeding a grocery app, a spreadsheet or a database

FAQ

Which store's prices are these? The default online prices coles.com.au shows when no store is selected.

Something broke? Open an issue on the Issues tab with the run link. Coles updates their site now and then, and reports help catch it early.