🚀 Coles Specials Scraper · 5,000 Free Deals/Month
Pricing
from $1.00 / 1,000 deals
🚀 Coles Specials Scraper · 5,000 Free Deals/Month
Coles Specials Scraper gets you Coles specials ⚡ fast, 🎯 100% accurate and 🔍 ridiculously detailed — half-price, multi-buy & online-only deals with was/now prices. 💰 $1 per 1,000 deals, no start fee. Scrape your first 5,000 deals free every month 🚀
Pricing
from $1.00 / 1,000 deals
Rating
0.0
(0)
Developer
Omkar Cloud
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Coles Specials Scraper
Coles Specials Scraper by Omkar Cloud gets you every Coles special — ⚡ fast, 🎯 accurate and 🔍 detailed.
Half-price deals, multi-buy offers and online-only specials, each with its was/now price, the saving in dollars and percent, the unit price, stock and category — for any Coles store in Australia.
$1 per 1,000 deals. And with Apify's free plan you get $5 of credit every month, so your first 5,000 deals each month are free.
This is an excellent Actor made by Omkar Cloud, which is Rated Excellent — 4.7 based on 30 reviews on Trustpilot.
👉 Try Coles Specials Scraper free — your first 5,000 deals are Free.
What can I get
- 🏷️ Half-price specials — every 1/2 Price deal with was price, now price and saving
- 🛍️ Multi-buy offers — "Pick any 2 for $7.70", with quantity, price each and total
- 💻 Online-only specials — the deals you never see on the shelf
- 🛒 Per category — pantry, drinks, frozen, bakery… or the whole store
- 📍 Per store — prices, stock and specials of the exact Coles store you care about
- 🔎 Filters — by brand, dietary need or allergen, sorted how you like
Why Coles Specials Scraper
Most other Coles scrapers fail you in one of four ways:
- 🗄️ Inaccurate, cached, stale data — last week's catalogue is worthless
- 🧩 Low-detail data — a name and a price, never the was price or the offer
- 💸 Pay more to get the same data
- 🪦 Works today, breaks next month — nobody maintains it
Coles Specials Scraper is scraped live on every run, priced honestly, and actively maintained.
What data you get
58 columns per deal. The ones you will use most:
| Field | What it is | Example |
|---|---|---|
name, brand, size | The product | Weet-bix Breakfast Cereal, Sanitarium, 575g |
price | Price now | 2.5 |
was_price | Price before the special | 5 |
save_amount, save_percent | The saving | 2.5, 50 |
price_description | Special badge | 1/2 Price |
offer_description | Multi-buy offer | Pick any 2 for $7.70 |
multi_buy_min_quantity, multi_buy_price_each, multi_buy_total_price | Multi-buy maths | 2, 3.85, 7.7 |
unit_price, unit_price_label | Comparable unit price | 0.43, $0.43/ 100g |
is_online_only_special | Online-only deal? | false |
is_available, available_quantity | Stock at the store | true, 41 |
department, category, subcategory | Where it sits at Coles | Pantry, Breakfast, Breakfast Cereal |
retail_limit, promotional_limit | Purchase limits per order | 20, 12 |
store_id | Store the prices belong to | 584 |
link, image | Product page and image | https://www.coles.com.au/product/… |
Plus product ids, category ids, every category path, the Coles merchandise hierarchy, aisle position where Coles publishes it, age and delivery restrictions, and variant count.
Example: A Half-Price Deal
{"special_type_input": "half_price","category_input": "pantry","store_id": "584","id": 2001784,"name": "Weet-bix Breakfast Cereal","brand": "Sanitarium","size": "575g","description": "SANITARIUM WEET-BIX BREAKFAST CEREAL 575G","link": "https://www.coles.com.au/product/sanitarium-weet-bix-breakfast-cereal-575g-2001784","image": "https://cdn.productimages.coles.com.au/productimages/2/2001784.jpg","is_available": true,"availability_type": "InStoreAndOnline","available_quantity": 41,"is_sponsored": false,"currency": "AUD","price": 2.5,"was_price": 5,"save_amount": 2.5,"save_percent": 50,"unit_price": 0.43,"unit_price_quantity": 100,"unit_price_unit": "g","unit_price_label": "$0.43/ 100g","is_on_special": true,"is_online_only_special": false,"special_type": "percent_off","price_description": "1/2 Price","offer_description": null,"multi_buy_min_quantity": null,"multi_buy_price_each": null,"multi_buy_total_price": null,"department": "Pantry","department_id": "10302","category": "Breakfast","category_id": "7294","subcategory": "Breakfast Cereal","subcategory_id": "18742","category_paths": ["Pantry > Breakfast > Breakfast Cereal","Pantry > Breakfast > Family Favourites"],"merchandise_group": "MEAL SOLUTIONS","merchandise_category": "CEREAL","retail_limit": 20,"promotional_limit": 12,"variation_count": 2}
Trimmed for readability. Every row is flat — each value is its own column, so CSV and Excel exports need no clean-up.
A multi-buy deal fills the offer columns instead of the was price:
{"name": "Layered Fingers Chocolate Biscuits","brand": "Cadbury","size": "120g","price": 5.5,"was_price": null,"special_type": "multi_save","offer_description": "Pick any 2 for $7.70","multi_buy_type": "MultibuyMultiSku","multi_buy_min_quantity": 2,"multi_buy_price_each": 3.85,"multi_buy_total_price": 7.7,"multi_buy_unit_price_label": "$3.21/ 100g"}
Get Started with 5,000 Free Deals
- Hit Try for Free Button — the input is pre-filled with the half-price specials of Pantry and Drinks.
- Enjoy your data 😎.
Input examples
This week's half-price specials in two categories
{"specialTypes": ["half_price"],"categories": ["pantry", "drinks"],"maxResults": 200}
Every special of the week, category by category
{"specialTypes": ["all"],"categories": ["pantry", "drinks", "dairy-eggs-fridge", "bakery", "frozen", "meat-seafood","fruit-vegetables", "health-beauty", "baby", "pet", "chips-chocolates-snacks"],"maxResults": 5000}
Multi-buy chocolate deals at one specific store
{"specialTypes": ["multi_buy"],"categories": ["chips-chocolates-snacks"],"stores": ["https://www.coles.com.au/find-stores/coles/nsw/marrickville-4166"],"brands": ["Cadbury", "Lindt"],"sortBy": "price_low_to_high"}
| Input | What to put |
|---|---|
| Special Types | half_price, multi_buy, online_only or all |
| Categories | Slug paths (pantry, dairy-eggs-fridge/milk), category ids, or coles.com.au /on-special or /browse URLs. Empty = whole store |
| Stores | Store ids (4166) or coles.com.au/find-stores URLs. Empty = store 584, Coles Burwood East VIC |
| Brands / Dietary / Allergens | Optional filters, up to 10 values each (Cadbury, Vegan, Gluten Free) |
| Sort By | Recommended, best seller, price, unit price or brand |
| Max Deals per Listing | Cap per special type × category × store — this is your cost control |
Pricing
High value, Low price.
| What | Price | What you get |
|---|---|---|
| Deal scraped | $1 per 1,000 | One flat row with all 58 columns — prices, savings, offer, stock, categories, limits |
No start fee — you pay only for the rows you get. A deal that shows up twice in one listing is billed once.
| Run | Deals | Cost |
|---|---|---|
| Half-price specials of one category | ~130 | $0.13 |
| Half-price specials of Pantry + Drinks, pre-filled input | up to 400 | up to $0.40 |
| Every special of the week at one store | ~7,000 | ~$7 |
| Weekly half-price tracker, one category, a full year | ~6,800 | ~$6.80 |
Control your spend with Max Deals per Listing: 1,000 deals = $1.
💡 Apify's free plan includes $5 of credit every month — that is 5,000 free deals, every month.
👉 Scrape your first 5,000 deals free
Run It from Code
Grab your API token from Integrations Settings here and replace <YOUR_API_TOKEN> below.
Python (pip install apify-client)
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("omkar-cloud/coles-specials-scraper").call(run_input={"specialTypes": ["half_price"],"categories": ["pantry"],"maxResults": 100,})for deal in client.dataset(run["defaultDatasetId"]).iterate_items():print(deal["brand"], deal["name"], deal["was_price"], "->", deal["price"])
Node.js (npm install apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('omkar-cloud/coles-specials-scraper').call({specialTypes: ['multi_buy'],categories: ['drinks'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
FAQs
How often do Coles specials change?
Coles refreshes its specials weekly. Add a weekly schedule to this Actor and every run gives you the fresh catalogue — ideal for price trackers, deal newsletters and catalogue apps.
Are prices the same in every Coles store?
No. Prices, stock and specials are per store. Leave Stores empty for store 584 (Coles Burwood East, VIC), or add the ids or coles.com.au/find-stores URLs of the stores you want. Each store is scraped separately and every row carries its store_id.
How do I get every special of the week?
Coles shows at most about 5,000 deals in any one listing, and a typical week has around 7,000 specials. So scrape category by category — put the categories in the input (see the second input example) and set Max Deals per Listing to 5000.
Which categories can I use?
Any Coles category, by slug, id or URL. The top-level ones: pantry, drinks, dairy-eggs-fridge, bakery, frozen, meat-seafood, fruit-vegetables, health-beauty, baby, pet, chips-chocolates-snacks. Go deeper with a path such as dairy-eggs-fridge/milk, or paste the URL of any coles.com.au category page.
Why is was_price empty on some deals?
Multi-buy offers have no was price — the saving comes from buying several. Look at offer_description, multi_buy_min_quantity, multi_buy_price_each and multi_buy_total_price instead.
Will I be billed twice for the same deal?
Not within a listing. Coles repeats some products as sponsored placements at the top of a listing; the Actor keeps each product once. If you pick All specials together with another special type, or two overlapping categories, the same deal is scraped once per listing.
Can I export to CSV or Excel?
Yes. Every row is flat, so the dataset exports cleanly to CSV, Excel, JSON or XML, or straight into Google Sheets through Apify integrations.
💬 Have Questions? We Have Answers.
You are important to us — just message us and we will solve your problem ✅ within 1 working day. 🩷 Pinky Promise 🤙!

