ALDI Australia Scraper
Pricing
from $1.29 / 1,000 aldi australia products
ALDI Australia Scraper
Extract ALDI Australia product data: price, brand, pack size, unit price, availability, images, and categories. Search by keyword or paste any category, product, or search URL.
Pricing
from $1.29 / 1,000 aldi australia products
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
ALDI Australia Scraper
ALDI Australia Scraper extracts product data from aldi.com.au — price, brand, pack size, price per unit, sale availability, images, and categories — by keyword search or by pasting category, search, or product URLs directly.
| Search by keyword or paste any ALDI Australia category, product, or search URL — get clean, structured product data with price, brand, pack size, unit price, and availability, ready for price monitoring or catalogue analysis. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor: Actor ID parsebird/aldi-australia-scraper on Apify — call it with the apify-client SDK, e.g. ApifyClient(token).actor("parsebird/aldi-australia-scraper").call(run_input={"searchTerms": ["cheese"], "maxResults": 50}); key inputs are searchTerms (array of single-word product keywords, one search per term), startUrls (array of {url} for ALDI Australia category, search-result, or individual product pages — filters already in the URL are applied automatically), maxResults (integer, applies per search term or URL, 0 = unlimited), and sortBy (relevance, name_asc, name_desc, price_asc, or price_desc); output rows have sku, name, brand, price, onSale, availabilityLabel, pricePerUnit, packSize, currency, categories, imageUrl, images, inStock, discontinued, ageRestricted, productUrl, searchTerm, and sourceUrl; full API spec is on the Apify Console API tab for this actor, and an Apify API token is required to call it programmatically.
What does ALDI Australia Scraper do?
ALDI Australia Scraper reads the same public product pages any shopper on aldi.com.au can see — no login, no cart, no app. It supports three ways to collect data:
- 🔍 Keyword search — search for a product by name (e.g.
cheese,coffee,chocolate) and get every matching result, cheapest-first if you want. - 🔗 Category, search, or product URLs — paste any ALDI Australia category page, search-result URL, or individual product page and scrape it directly. Filters already baked into the URL (sort order, brand, theme) carry over automatically.
- 📄 Whole-category capture — set Max results to
0on a category URL to pull every product in it, not just the first page.
Other things it does:
- Sorts results by relevance, name, or price directly from ALDI's own catalogue ordering — no client-side re-sorting.
- Deduplicates products automatically: if the same item matches two search terms or appears in an overlapping URL, it's only saved once, credited to whichever term or URL found it first.
- Runs on Apify's infrastructure with scheduling, REST API access, and native JSON, CSV, Excel, HTML, and XML export.
- Uses no browser and no proxy — ALDI Australia's category and product pages are plain server-rendered HTML, so runs are fast and cheap.
What data can you extract from ALDI Australia?
| Field | Description |
|---|---|
sku | ALDI product identifier |
name / brand | Product name and brand (ALDI private label or supplier) |
price | Current price in AUD |
onSale / availabilityLabel | Whether ALDI has attached a limited-run note (e.g. "While Stocks Last") and the note's text |
pricePerUnit | Normalized unit price for comparison (e.g. "$14.98 per 1 kg") |
packSize | Selling size or pack quantity |
categories | Category path the product belongs to |
imageUrl / images | Primary and all product photo URLs |
inStock / discontinued | Current listing and delisting status |
ageRestricted | True for alcohol and other age-restricted items |
productUrl | Canonical ALDI Australia product page URL |
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchTerms | string[] | No | ["cheese"] | Products to search for, one word per term for best matching |
startUrls | string[] | No | [] | ALDI Australia category, product, or search-result URLs |
maxResults | integer | No | 100 | Max products per search term or URL; 0 = unlimited |
sortBy | select | No | relevance | relevance, name_asc, name_desc, price_asc, or price_desc |
At least one of searchTerms or startUrls should be set — if both are left empty, the Actor falls back to searchTerms: ["cheese"].
Output example
{"sku": "000000000000283609","name": "Smoked Cheese 200g","brand": "EMPORIUM SELECTION","price": 4.99,"onSale": false,"pricePerUnit": "$24.95 per 1 kg","packSize": "0.2 kg","currency": "AUD","categories": ["Dairy, Eggs & Fridge", "Cheese"],"imageUrl": "https://dm.apac.cms.aldi.cx/is/image/aldiprodapac/product/jpg/scaleWidth/600/5273d675-32cb-4890-92b7-30517d641c3e/emporium-selection-smoked-cheese-200g","images": ["https://dm.apac.cms.aldi.cx/is/image/aldiprodapac/product/jpg/scaleWidth/600/5273d675-32cb-4890-92b7-30517d641c3e/emporium-selection-smoked-cheese-200g"],"inStock": true,"discontinued": false,"ageRestricted": false,"productUrl": "https://www.aldi.com.au/product/emporium-selection-smoked-cheese-200g-000000000000283609","searchTerm": "cheese"}
Fields that are empty for a given product (e.g. brand for loose produce, or pricePerUnit and packSize for alcohol) are left out of that row entirely, so a row is only as wide as the data ALDI publishes for it. Download results as JSON, HTML, CSV, or Excel from the Storage tab, or fetch them via the dataset API endpoint.
Python example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("parsebird/aldi-australia-scraper").call(run_input={"searchTerms": ["cheese", "milk", "coffee"],"sortBy": "price_asc","maxResults": 50,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["name"], item["price"], item.get("pricePerUnit"))
JavaScript example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('parsebird/aldi-australia-scraper').call({startUrls: [{ url: 'https://www.aldi.com.au/products/pantry/' }],maxResults: 0,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].name, items[0].price);
Use cases
- Price monitoring — track ALDI Australia prices for your own basket of products over time by scheduling recurring runs.
- Catalogue analysis — pull a whole category (
maxResults: 0) to see everything ALDI stocks in Pantry, Drinks, or any other department, with brand and pack-size breakdowns. - Competitor benchmarking — compare ALDI's private-label pricing against Woolworths, Coles, or other retailers using per-unit prices.
- Deal discovery — filter results where
onSaleis true to surface limited-run and special-buy items.
How to scrape ALDI Australia with ALDI Australia Scraper
- Click Try for free (or Run) on this Actor's page.
- Enter one or more search terms, or paste ALDI Australia category, search, or product URLs into Start URLs.
- Optionally set Max results (0 for a full category) and a sort order.
- Click Start and watch results land in the dataset in real time.
- Export results as JSON, CSV, or Excel, or pull them programmatically via the Apify API.
How much does it cost to scrape ALDI Australia?
This Actor uses pay-per-event pricing — you pay only for results, not for compute time.
| Event | Price per event | Price per 1,000 |
|---|---|---|
product-scraped | from $0.00129 | $1.29 – $1.99 |
A product-scraped event fires once for every unique product saved, whether it came from a keyword search or a pasted URL. Price per 1,000 products depends on your Apify plan tier (Free $1.99, Bronze $1.79, Silver $1.59, Gold $1.29). Scraping 1,000 products on a Free plan costs about $1.99. Apify's monthly platform usage credits apply to this Actor like any other.
Is it legal to scrape ALDI Australia?
ALDI Australia Scraper only collects data that ALDI already publishes on public product pages without requiring a login. Scraping publicly available data is generally legal, but you're responsible for how you use the data — check ALDI Australia's Terms of Use and read Apify's guide on the legality of web scraping before running large or commercial scrapes.
Other grocery and retail scrapers
- Woolworths AU Scraper — Woolworths Australia product and pricing data
- Walmart Product Scraper — Walmart product listings and pricing
- Target Product Scraper — Target product listings and pricing
FAQ
Do I need an ALDI account to use this Actor? No. It only reads public product pages that ALDI serves to logged-out visitors — no login or cart required.
Why did a two-word search term return unrelated products? ALDI's own search matches each word in a term independently, so a term like "chicken soup" returns everything matching "chicken" or "soup", not just soup made with chicken. Use one word per search term for the tightest match, or use a category/search URL with ALDI's own filters instead.
How do I get every product in a category, not just the first page?
Set maxResults to 0 on that category's startUrls entry. The Actor pages through the full category automatically.
Why are pricePerUnit and packSize missing for some products?
ALDI doesn't publish a normalized unit price or pack size for alcohol. Those two fields are simply left off those rows.
Can I schedule this to run automatically? Yes. Use Apify's built-in Task Scheduler to run it daily, weekly, or at any interval, and connect it to Zapier, Make, or a webhook for downstream integrations.
Something looks wrong or missing — how do I report it? Open an issue on the Actor's Issues tab in Apify Console, or use the API tab to inspect the exact request/response for your run.