
ALDI Australia Scraper
hipersoft/aldi-au-scraper
Scrape ALDI Australia products and prices: full catalogue, any category or search term. Name, brand, price, unit price, size, category, Special Buys dates, price drops, images and descriptions. For grocery price monitoring and research.
Total users
2Monthly users
1Total runs
33Per product
$0.0008Last rebuilt
Oct 26, 2026Overview
ALDI Australia Scraper collects ALDI AU products and prices. You can take the whole catalogue, any category, or any search term, and every product comes with its name, brand, price, unit price, pack size, category path, Special Buy on-sale date, price-drop info, images and description. Export the data to CSV, Excel or JSON for grocery price monitoring, retail analytics, comparison sites and market research. Runs are fast and reliable, and you only pay for the products you get.
What does ALDI Australia Scraper do?
ALDI Australia lists thousands of groceries and household products on aldi.com.au, along with its weekly Special Buys. This scraper turns that range into a clean product dataset:
- 🛒 The full ALDI AU catalogue: every product currently listed, typically more than 3,000.
- 🔎 Search: all products matching words like
milk,coffeeornappies. - 🗂️ Categories: any category page, such as Bakery, Dairy, Eggs & Fridge, Pantry or Baby.
- 💲 Prices: shelf price, unit price (e.g.
$3.65 per 1 L), was-price and savings for reduced items. - 📅 Special Buys: the on-sale date of upcoming Special Buys (e.g.
On Sale Wed 14 Oct). - 🖼️ Images and descriptions: every product photo URL and, optionally, the product description.
What data can you scrape from ALDI Australia?
| Field | Example |
|---|---|
| SKU | 398949 |
| Product name | A2 Full Cream Milk 2L |
| Brand | A2 THE A2 MILK COMPANY |
| Price | 7.29 |
| Price display | $7.29 |
| Unit price | $3.65 per 1 L |
| Was price / savings | for reduced products |
| Pack size | 2 l |
| Category and category path | Milk · Dairy, Eggs & Fridge › Milk |
| Special Buy on-sale date | On Sale Wed 14 Oct |
| Special Buy / on special flags | true / false |
| Alcohol and age restriction | for liquor |
| Product link | aldi.com.au product page |
| Image URLs | all product photos |
| Description | optional |
Use cases for ALDI product data
- Grocery price monitoring: track ALDI shelf and unit prices over time and spot price rises or drops.
- Price comparison: compare ALDI against Woolworths, Coles and other Australian retailers.
- Special Buys alerts: get the list of upcoming Special Buys every week, before they hit the stores.
- Retail and CPG analytics: study ALDI's private-label range, pack sizes and pricing by category.
- Inflation and cost-of-living research: build a basket of everyday items and measure it over time.
- Apps and newsletters: power deal sites, budgeting apps and weekly catalogue newsletters.
How to scrape ALDI Australia
- Click Try for free to open ALDI Australia Scraper in Apify Console.
- Add search terms or category links, or switch on Scrape the whole catalogue.
- Optionally keep Only Special Buys and price drops or Include product description.
- Set Max products and click Start.
- Download the products as CSV, Excel or JSON, or schedule the run to track prices.
Input
Example input
{
"searchTerms": ["milk", "coffee"],
"categoryUrls": ["https://www.aldi.com.au/products/bakery/k/920000000"],
"scrapeAllProducts": false,
"onlySpecials": false,
"includeDescription": true,
"maxItems": 500
}
| Field | Description |
|---|---|
| Search terms | Words to search for. Each returns every matching product. |
| Category links | ALDI category pages, copied from the website menu. |
| Scrape the whole catalogue | Every product on aldi.com.au. Used automatically if you leave search and categories empty. |
| Only Special Buys and price drops | Keep only Special Buys (with an on-sale date) and reduced products. |
| Include product description | Adds the product description (slower). |
| Max products | Stop after this many products (0 = no limit). |
| Proxy configuration | Optional, not needed for normal use. |
Track ALDI prices every week
Turn on Scrape the whole catalogue and create an Apify schedule to run weekly. Compare runs by sku to see every price change.
Output
Product example
{
"sku": "398949",
"name": "A2 Full Cream Milk 2L",
"brand": "A2 THE A2 MILK COMPANY",
"url": "https://www.aldi.com.au/product/a2-the-a2-milk-company-a2-full-cream-milk-2l-000000000000398949",
"price": 7.29,
"priceDisplay": "$7.29",
"wasPrice": null,
"savings": null,
"isOnSpecial": false,
"isSpecialBuy": false,
"unitPrice": "$3.65 per 1 L",
"currency": "AUD",
"size": "2 l",
"category": "Milk",
"categoryPath": ["Dairy, Eggs & Fridge", "Milk"],
"onSaleDate": null,
"imageUrl": "https://dm.apac.cms.aldi.cx/is/image/aldiprodapac/product/jpg/scaleWidth/600/a652e235-3b47-4cad-b7d4-d153e48a87a4/A2%20Full%20Cream%20Milk%202L",
"description": "…",
"source": "search: milk"
}
Output schema
| Field | Type | Description |
|---|---|---|
sku |
string | ALDI product number. |
name |
string | Product name. |
brand |
string | Brand. |
url |
string (URL) | Product page. |
price |
number | Price in AUD. |
priceDisplay |
string | Price as shown, e.g. $7.29. |
wasPrice |
string | Previous price, for reduced products. |
savings |
string | Savings text, for reduced products. |
isOnSpecial |
boolean | Product is reduced. |
isSpecialBuy |
boolean | Product is a Special Buy with an on-sale date. |
unitPrice |
string | Unit price, e.g. $0.86 per 100 g. |
perUnit |
string | Per-unit price for multi-packs, if shown. |
currency |
string | AUD. |
size |
string | Pack size. |
unit |
string | Selling unit. |
category |
string | Most specific category. |
categoryPath |
array | Full category path. |
badges |
array | Product badges, if any. |
onSaleDate |
string | Special Buy on-sale date text. |
soldOnline |
boolean | Whether the product can be bought online. |
isAlcohol |
boolean | Liquor product. |
ageRestriction |
string | Age restriction, if any. |
discontinued |
boolean | Discontinued product. |
imageUrl |
string (URL) | Main image. |
imageUrls |
array | All product images. |
description |
string | Product description (optional). |
source |
string | The search term or category that found the product. |
scrapedAt |
string (ISO date) | When the row was collected. |
How much does it cost to scrape ALDI Australia?
ALDI Australia Scraper uses pay-per-product pricing: a small fixed price per product row, with automatic discounts on higher Apify plans. See the Pricing tab for the exact price. Scraping the full catalogue costs only a few dollars.
More e-commerce data
- Amazon Product Scraper: Amazon product details and prices.
- eBay Scraper: eBay listings and prices.
FAQ
How many products does ALDI Australia have? Usually more than 3,000 products are listed on aldi.com.au. Use Scrape the whole catalogue to get all of them.
Are prices the same in every store? ALDI shows standard Australian prices online. Prices may vary slightly by store, so treat them as the national shelf price.
Can I get the weekly Special Buys?
Yes. Turn on Only Special Buys and price drops. Every Special Buy has an onSaleDate such as On Sale Wed 14 Oct.
How do I scrape one category?
Open the category on aldi.com.au, copy the link (it looks like /products/bakery/k/920000000) and paste it into Category links.
Can I monitor price changes?
Yes. Schedule the scraper and compare price by sku between runs.
What formats can I export? CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.
Can I integrate ALDI Australia Scraper with other apps? ALDI Australia Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JS/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is it legal to scrape ALDI? The scraper only collects publicly listed product information. You are responsible for using the data in line with ALDI's terms.
Notes
Original clean-room implementation. Returns only public data; you are responsible for compliance with ALDI's terms. Not affiliated with ALDI.
Input
| Field | Type | Description |
|---|---|---|
searchTermsSearch terms | array | Products to search for, e.g. milk, coffee, nappies. Each term returns every matching ALDI product. |
categoryUrlsCategory links | array | ALDI category pages to scrape, e.g. https://www.aldi.com.au/products/bakery/k/920000000. Copy them from the ALDI website menu. |
scrapeAllProductsScrape the whole catalogue | boolean | Get every product on the ALDI Australia website (several thousand). Used automatically when no search term or category is given. Default: false |
onlySpecialsOnly Special Buys and price drops | boolean | Keep only Special Buys (products with an on-sale date) and reduced products. Default: false |
includeDescriptionInclude product description | boolean | Open each product page to add its description. Slower. Default: false |
maxItemsMax products | integer | Stop after this many products. 0 means no limit. Default: 200 |
proxyConfigurationProxy configuration | object | Not required for normal use. Default: {"useApifyProxy": false} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~aldi-au-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchTerms": [
"milk"
],
"maxItems": 100
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/aldi-au-scraper").call(run_input={
"searchTerms": [
"milk"
],
"maxItems": 100
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/aldi-au-scraper').call({
"searchTerms": [
"milk"
],
"maxItems": 100
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Product One ALDI Australia product in the dataset. | $0.0008 | $0.0004 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Carousell Scraper
Scrape Carousell search listings: title, price, condition, location, seller, photo and URL. Requires your own Carousell app token.
242 runs · 2 users · $0.003 / listing scrapedGoogle Flights Scraper
Scrape flight options from Google Flights by route and date: airline, flight number, departure and arrival times, duration, stops, layovers and price. One-way or round-trip, any cabin and currency. For travel and price monitoring.
216 runs · 4 users · $0.004 / flight scrapedPinterest Scraper
Search Pinterest and scrape pins (title, description, destination link, image, pinner, board, saves), boards and users. Fast. For visual research, e-commerce, trend and marketing analysis.
151 runs · 2 users · $0.0034 / item scrapedGoogle Trends Scraper
Scrape Google Trends for any keyword: interest over time, related and rising queries, and interest by region. Per country and timeframe. For SEO, market and trend research. No setup.
139 runs · 6 users · $0.001 / keyword scrapedAliExpress Product Search Scraper
Search AliExpress by keyword and export one clean row per product — title, sale price, original price, image and product URL. Export to JSON, CSV or Excel.
135 runs · 3 users · $0.003 / product scrapedGoogle Maps Scraper
Search Google Maps and scrape places: name, category, full address, city, coordinates, rating, phone, website, Place ID and map link. Fast browser-free via Google's internal endpoint, no setup. For local lead generation and market research.
130 runs · 2 users · $0.005 / place scrapedSend the site and the fields. We build it and you get it first.