Coles AU Product Search & Specials Scraper avatar

Coles AU Product Search & Specials Scraper

Pricing

from $1.00 / 1,000 product records

Go to Apify Store
Coles AU Product Search & Specials Scraper

Coles AU Product Search & Specials Scraper

Coles Australia products with prices, unit prices, specials, categories and images — by keyword search, category, current specials or product ID. Uses the site's own JSON data routes with self-healing build discovery. Store-agnostic pricing.

Pricing

from $1.00 / 1,000 product records

Rating

0.0

(0)

Developer

DIOPSIDE AI

DIOPSIDE AI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

Product data from coles.com.au — prices, unit prices, specials, categories, availability and images — by keyword search, category page, the site-wide specials list, or individual product URL.

  • Reads Coles' own JSON data routes, not rendered HTML, so fields arrive typed and complete.
  • Self-healing. The route key (buildId) changes on every Coles deploy; it's discovered on every run, re-discovered if a route 404s, and the page's embedded data is used as a last fallback.
  • Built to pass bot protection. Coles fingerprints TLS handshakes and scores the IP. This actor presents a real browser fingerprint, seeds the site's cookies with a homepage visit, and climbs a proxy ladder by itself: Apify datacenter first, a fresh IP next, then Apify RESIDENTIAL (country AU). You don't have to change your input when Coles tightens its defences — the run reports which tier it ended on.
  • Deduplicated across your queries by product id.

vs other Coles scrapers

The most-used alternative in the store, coles-au-product-search-specials-stores-unofficial (281 monthly users), failed on 33% of its last 7,234 runs (Apify's public 30-day stats). A smaller one, coles-au-scraper, failed on 29% of its runs. Both read the rendered page; this actor reads Coles' own JSON routes and climbs a proxy ladder automatically when Incapsula challenges an IP, reporting which tier each run ended on so a partial block shows up in the status message instead of a silently thin dataset.

Input

fielddefaultnotes
searchTerms["milk", "weet-bix"] — one listing per term
categoryUrls[]https://www.coles.com.au/browse/dairy-eggs-fridge/milk or dairy-eggs-fridge/milk
specialsfalsethe site-wide On special list (thousands of items)
productIds[]product URLs or slugs (coles-full-cream-milk-3l-8150288). Coles has no id-only page, so bare numbers can't be resolved
maxItemsPerQuery100per term / category / specials list; 0 = all
proxyConfigurationApify proxythe tier tried first; keep on
residentialFallbacktrueauto-retry on Apify RESIDENTIAL (AU) when the proxy above is challenged. Residential transfer is billed by the GB on your account (~0.6 MB per search page, ~2 MB for a 2-term canary run); set false to stay on your chosen proxy

Prices are for Coles' default online store context; store-specific pricing can differ slightly.

Output — one record per product

{
"id": 8150288,
"name": "Full Cream Milk", "brand": "Coles", "size": "3L",
"description": "Coles Full Cream Milk 3L",
"price": 4.95, "price_was": null, "save_amount": null, "save_statement": null,
"on_special": false, "promotion_type": null, "online_special": false,
"unit_price": 1.65, "unit_of_measure": "l", "unit_quantity": 1, "comparable_price": "$1.65/ 1L",
"is_weighted": false,
"availability": true, "availability_type": "InStock",
"category": "Dairy, Eggs & Fridge", "subcategory": "Milk", "aisle": "Full Cream Milk", "category_id": "8881800",
"merchandise_category": "GROCERY MILK",
"restrictions": null,
"image_url": "https://productimages.coles.com.au/productimages/8/8150288.jpg",
"image_urls": ["https://productimages.coles.com.au/productimages/8/8150288.jpg"],
"url": "https://www.coles.com.au/product/coles-full-cream-milk-3l-8150288",
"query": "search:milk",
"scraped_at": "2026-09-18T10:12:00+00:00"
}

Specials carry price_was, save_amount, save_statement and promotion_type (e.g. SPECIAL). query tells you which input produced the record.

Typical sizes

A search term returns 50–150 products; a category 100–400; the full specials list ~7,000+. A 3-term search with default caps runs in ~15 s.

Use cases

Price monitoring and history, specials alerts, unit-price comparison, catalog enrichment, grocery-basket cost tracking, feeding dashboards and AI agents.

Pricing

Pay per product record. See the pricing tab.

Notes

Public product data only; no login, no personal data. Missing upstream values come back as null; queries that return nothing or get blocked are listed in the run status rather than hidden.