🚀 Coles Specials Scraper · 5,000 Free Deals/Month avatar

🚀 Coles Specials Scraper · 5,000 Free Deals/Month

Pricing

from $1.00 / 1,000 deals

Go to Apify Store
🚀 Coles Specials Scraper · 5,000 Free Deals/Month

🚀 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

Omkar Cloud

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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:

FieldWhat it isExample
name, brand, sizeThe productWeet-bix Breakfast Cereal, Sanitarium, 575g
pricePrice now2.5
was_pricePrice before the special5
save_amount, save_percentThe saving2.5, 50
price_descriptionSpecial badge1/2 Price
offer_descriptionMulti-buy offerPick any 2 for $7.70
multi_buy_min_quantity, multi_buy_price_each, multi_buy_total_priceMulti-buy maths2, 3.85, 7.7
unit_price, unit_price_labelComparable unit price0.43, $0.43/ 100g
is_online_only_specialOnline-only deal?false
is_available, available_quantityStock at the storetrue, 41
department, category, subcategoryWhere it sits at ColesPantry, Breakfast, Breakfast Cereal
retail_limit, promotional_limitPurchase limits per order20, 12
store_idStore the prices belong to584
link, imageProduct page and imagehttps://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

  1. Hit Try for Free Button — the input is pre-filled with the half-price specials of Pantry and Drinks.
  2. 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"
}
InputWhat to put
Special Typeshalf_price, multi_buy, online_only or all
CategoriesSlug paths (pantry, dairy-eggs-fridge/milk), category ids, or coles.com.au /on-special or /browse URLs. Empty = whole store
StoresStore ids (4166) or coles.com.au/find-stores URLs. Empty = store 584, Coles Burwood East VIC
Brands / Dietary / AllergensOptional filters, up to 10 values each (Cadbury, Vegan, Gluten Free)
Sort ByRecommended, best seller, price, unit price or brand
Max Deals per ListingCap per special type × category × store — this is your cost control

Pricing

High value, Low price.

WhatPriceWhat you get
Deal scraped$1 per 1,000One 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.

RunDealsCost
Half-price specials of one category~130$0.13
Half-price specials of Pantry + Drinks, pre-filled inputup to 400up 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 ApifyClient
client = 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.

Message Us on WhatsApp

Ask Us on Email

You are important to us — just message us and we will solve your problem ✅ within 1 working day. 🩷 Pinky Promise 🤙!