Coles Product Scraper – Prices, Specials & Stock
Pricing
Pay per event
Coles Product Scraper – Prices, Specials & Stock
Returns Coles (coles.com.au) products with price, was-price, unit price, special or multibuy offer, availability and stock quantity. Search terms, categories, specials or URLs; optional GTIN, ingredients and nutrition. No login.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Flowo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
This actor returns public product data from coles.com.au, the online store of the Australian supermarket Coles. Each product is one flat row with price, wasPrice, unitPrice, the special breakdown (priceDescription, savePercent, multibuyPrice), isAvailable, stockQuantity and the category path. No login is needed.
What does Coles Product Scraper do?
You give it search terms, Coles category paths, a specials list (all, half price or multibuy) or pasted coles.com.au URLs. Any mix of these goes into one run, and every source is paged automatically until its results or your limits run out.
- Current price, was-price, unit price (
comparablePrice,unitOfMeasure) and currency (AUD). - Specials:
isOnSpecial,promotionType,offerDescription,saveAmount,savePercent,multibuyMinQuantity,multibuyPrice. - Availability and limits:
isAvailable,availabilityType,stockQuantity,retailLimit,promotionalLimit. - Optional product details: barcode (
gtin),ingredients,allergens,countryOfOriginand nutrition per 100 g as numeric columns. - Sponsored products are flagged with
isSponsoredand can be excluded. - Each product is saved once per run, even if several sources list it.
How to use it
- Open the actor in Apify Console and fill at least one of Search terms, Categories, Specials or Start URLs.
- Set Max products (and optionally Max products per source) to control size and cost.
- Tick Include product details if you need GTIN, ingredients, allergens or nutrition.
- Optionally enter a Store ID (3–4 digits, e.g.
0584) to get that store's stock quantity. - Keep the proxy setting. Coles blocks requests without a proxy; Apify datacenter proxy works, and Residential with country Australia is the most reliable.
- Run it and download the dataset as JSON, CSV or Excel, or read it through the API.
Pricing
Pay per event, no start fee:
| Event | Price |
|---|---|
| Product saved to the dataset | $0.0011 (about $1.10 per 1,000 products) |
| Add-on: product details | $0.0005 per product, only when Include product details opens the product page |
Searches with no results, blocked pages and sponsored products you filtered out are free. Pasted product URLs include the details at no add-on charge. The add-on is not charged when the product page fails.
Input
| Field | What it does |
|---|---|
queries | Search terms, one per line (e.g. milk, tim tams). |
categories | Category paths after /browse/, e.g. pantry or dairy-eggs-fridge/milk (up to 3 levels). |
specials | none, halfprice, multibuy or all. |
startUrls | coles.com.au search, category, specials or product URLs. Other hosts or paths fail the run with an input error. |
includeDetails | Add GTIN, ingredients, allergens, nutrition and more (add-on event). |
storeId | Optional store number for stock quantity. |
sortBy | relevance, priceAscending, priceDescending, productNameAscending, productNameDescending. |
includeSponsored | Keep sponsored products (default on). |
maxItems | Total product limit (default 1000, up to 100000). |
maxItemsPerSource | Optional limit per search term, category, list or URL. |
proxyConfiguration | Proxy settings; a proxy is required. |
At least one source must be given; an input with none fails with an input error before any request.
Example:
{"queries": ["milk", "tim tams"],"specials": "halfprice","maxItems": 100,"maxItemsPerSource": 48}
Output
One row per product. Real example from a search for "milk":
{"id": "8150288","url": "https://www.coles.com.au/product/coles-full-cream-milk-3l-8150288","title": "Full Cream Milk","brand": "Coles","size": "3L","price": 4.95,"wasPrice": null,"currency": "AUD","unitPrice": 1.65,"unitOfMeasure": "1l","comparablePrice": "$1.65/ 1L","isOnSpecial": false,"isAvailable": true,"availabilityType": "InStoreAndOnline","stockQuantity": 3361,"retailLimit": 20,"promotionalLimit": 12,"category": "Dairy, Eggs & Fridge","subCategory": "Milk","aisle": "Full Cream Milk","isSponsored": false,"position": 1,"query": "milk","source": "https://www.coles.com.au/search/products?q=milk","scrapedAt": "2026-10-15T15:52:25.285Z"}
Fields that do not apply (for example wasPrice on a product not on special) are null. With Include product details the row also has gtin, ingredients, allergens, dietary, storageInstructions, dimensions, countryOfOrigin, longDescription, servingSize, servingsPerPackage and per-100 g columns such as energyKjPer100g, proteinGPer100g, sugarsGPer100g and sodiumMgPer100g.
Use cases
- Track Coles prices and weekly specials over time, next to other supermarkets.
- Check shelf price, promotion and availability of your own and competing products.
- Feed deal apps and AI agents with "what is on half price this week" as JSON.
- Collect GTIN, ingredients, allergens and nutrition for product-data work.
Limitations
- A proxy is required; without one Coles blocks the requests.
- Prices are national; a
storeIdchanges stock quantity and range, not prices. - Coles can show a bot-challenge page; the actor retries blocked pages through new proxy IPs, but a run can still lose pages if blocking tightens.
- Datacenter proxies have no Australian IPs; if you choose country AU without the Residential group, the actor logs a warning and runs without the country setting. Use Residential for Australian IPs.
- An unknown category is skipped with a warning; an unknown product URL is skipped.
- A very large list may be capped by Coles; set
maxItemsto what you need.
FAQ
Is it legal to scrape Coles?
The actor reads only publicly visible product pages, with no login and no personal data. Laws and site terms vary by country and use, so check your own use case and Coles' terms. Note that Coles' robots.txt disallows /search/, while browse, product and specials pages are allowed.
Do I need a Coles account? No.
Can I get several stores?
Run once per storeId; each run uses one store number.
Why are some rows marked isSponsored?
Coles shows paid placements above results. They have no position; switch Include sponsored products off to skip them.
Other actors
Other public data actors from the same author:
- Google Trends Scraper — Interest, Regions & Related Queries: search interest timelines and related queries for your terms.
- Apple App Store Reviews API – iOS Reviews & Ratings: public App Store reviews as structured JSON across apps and countries.
- Firefox Add-ons Reviews Parser: public Firefox add-on ratings and reviews.