ALDI Australia Products & Prices Scraper
Pricing
from $1.05 / 1,000 product results
ALDI Australia Products & Prices Scraper
Collect public ALDI Australia grocery prices, categories, specials and product details for comparison and price monitoring.
Pricing
from $1.05 / 1,000 product results
Rating
0.0
(0)
Developer
Fetch Cat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Collect public ALDI Australia products and prices for grocery comparisons, catalogue research and price histories. Search by keyword, choose a category or paste ALDI product and Special Buys URLs. Results include stable product IDs, AUD prices, unit pricing, pack sizes, categories and images, with optional product details.
Quick start
Enter a keyword and a small global product limit, then start the Actor:
{"searchTerms": ["milk"],"maxItems": 20,"fetchDetails": true}
ALDI's keyword search can include related products such as milk chocolate. For a precise milk comparison, use categories: ["1111111160"] instead of searchTerms.
Prefer a video guide? This short Apify walkthrough shows you how to set up and run an Actor. It uses a different Actor, but the setup steps are the same.
What you get
- Product prices: numeric AUD prices, previous prices when supplied, savings and ALDI's unit-price display.
- Catalogue coverage: keyword searches, current categories, whole-catalogue URLs and dated Special Buys listings, continuing through available pages until your limits.
- Product context: brand, selling size, category hierarchy, image gallery, promotion dates and source flags.
- Optional details: available descriptions, ingredients, nutritional claims, origin, storage and usage information.
- Comparison-ready records: stable SKU, content fingerprint, observation time and source URL, plus a summary showing whether each scan completed.
Who is it for?
Australian grocery analysts can join products by SKU and compare price and pack size across collection dates.
Catalogue and retail teams can inspect current grocery categories and promotional ranges. Data engineers can export the records or pass them into their own comparison and alerting workflows.
Input recipes and settings
| Setting | Purpose |
|---|---|
searchTerms | One or more ALDI keyword searches. |
categories | Exact current category names, paths or numeric keys. |
urls | Public ALDI product, category, search, catalogue or Special Buys links. |
maxItems | Global saved-product cap, from 1 to 5,000. Default 50. |
maxPages | Page cap per target, from 1 to 334. |
fetchDetails | Add available full product information. Direct product URLs always include details. |
sortBy | Source relevance, name or price ordering. |
brands, themes | Source filters using exact current labels. |
minPrice, maxPrice, onSaleOnly | Keep products meeting your price or promotion criteria. |
excludeCategories | Exclude exact category names or paths in each product's own hierarchy. |
previousProducts, emitUnchanged | Compare public SKU/fingerprint pairs against an explicit baseline. |
With no keywords, categories or URLs, the Actor starts from the whole catalogue, still limited by maxItems. You can combine targets, with up to 50 total. Products found more than once are saved once, attributed to the first source that returned them.
Category recipe:
{"categories": ["1111111160"],"sortBy": "price_asc","maxItems": 50,"fetchDetails": true}
Current Special Buys recipe:
{"urls": ["https://www.aldi.com.au/special-buys"],"maxItems": 100}
The landing URL discovers ALDI's current dates and themes, then collects theme-scoped products. matchedThemes records the first matching scope. It is not an exhaustive list of every theme a product could belong to. You can also paste a specific dated link. URL filters take precedence over the equivalent inputs. Current brandName, categoryTree, theme, sort and page parameters are supported. The older brand-name and category-tree spellings are normalized to the current source parameters.
Output data
Each dataset row represents one real product.
| Field group | Meaning |
|---|---|
sku, abstractSku, name, brand, url | Product identity and public product link. |
price, currency, wasPrice, savingsAmount, savingsPercent | Numeric AUD pricing and available discount information. |
unitPrice, unitPriceDisplay, sellingSize | Compare unit prices together with the displayed unit and pack size. |
categories, categoryPath | The product's own category hierarchy. |
matchedThemes | First matching requested or discovered theme scope. Empty outside theme-scoped collection. |
onSale, onSaleDate, onSaleDateDisplay | Promotional indicators and dates supplied by ALDI. |
images, imageUrl | Image gallery and main image link. |
notForSale, discontinued | Source flags, not a guarantee of physical-store stock. |
detailFetched, description, ingredients, nutritionalClaims | Available detail enrichment. Missing source values remain null. |
fingerprint, sourceUrl, scrapedAt | Content comparison key, discovery source and observation time. |
changeType | With a baseline, NEW, UPDATED or UNCHANGED. |
The run's key-value store contains RUN_SUMMARY with per-target totals, completion and stop reasons. Where used, CATEGORY_TREE, SPECIAL_BUYS_CALENDAR and FILTERS_n provide current discovery information without adding product rows.
Download your results
Open your run's dataset, choose Export and select JSON, CSV or Excel. JSON keeps nested fields together. CSV and Excel are useful when you want to review the records in a spreadsheet.
See Apify's download and export guide for the available formats and field options.
Pricing
The apify-actor-start event is charged when a run starts, including runs that find no products.
Product charges apply to real products saved to the dataset. Duplicate products, rejected products and suppressed unchanged records do not add product charges. Requested detail enrichment is included in the product charge.
See the live Pricing tab for current rates and discounts.
Tips for best results
- Use categories for precise comparisons. Keyword searches can include loosely related products.
- Start with a small cap. Inspect the returned fields before requesting a larger refresh.
- Read the scan summary. A successful capped run is not a complete catalogue snapshot.
- Compare like with like. Keep detail and filtering settings consistent when reusing fingerprints.
Limits and caveats
- Public ALDI Australia data only. No login, member data, checkout or private store-stock access.
notForSaledoes not mean an item is unavailable in a physical store. On-sale dates do not guarantee stock.onSalecan indicate a promotional date or badge, not necessarily a reduced price.- Ingredient, origin and other detail fields can be missing at the source. This Actor does not infer them.
- Item/page caps and a finite processing allowance bound each run. Slow or highly selective scans can return fewer than
maxItems, especially when most products are filtered or unchanged. AworkBudgetstop means an incomplete scan, not no matches or expired products. InspectRUN_SUMMARYbefore treating results as a complete snapshot. - Blocking responses, broken listings and failed required details are reported as failures rather than false no-results successes. Earlier useful rows can remain available.
- Searches with no source matches and explicit unavailable product pages can finish successfully without product rows, with truthful reasons in the summary.
- Fingerprint comparison never declares missing products expired. An incomplete scan cannot prove that a product disappeared.
- An interrupted run is not automatically resumed by resurrecting it. Start a new run with an explicit baseline to avoid returning unchanged products.
Automation and integrations
Save your settings for next time
Once you have an input that works for you, save it as an Apify task. This keeps your settings together so you can use them again without filling in the form from scratch.
Run on a schedule
Apify supports scheduling an Actor or saved task. Each run collects the data again. Configure scheduling only in an account where you intend and authorize it.
For changed-only output, supply previousProducts as an array of { "sku": "<previous SKU>", "fingerprint": "<previous fingerprint>" } pairs from your earlier results. Unchanged products are suppressed unless emitUnchanged is enabled. Comparison, history retention and alerts belong in your workflow. This Actor does not create schedules or retrieve another account's baseline.
Send results to your other tools
Use n8n, Make or Zapier to connect this scraper to the rest of your workflow. For example, you could pass its results to an AI assistant or add records to a spreadsheet. Follow the Apify integration guides for your chosen tool.
For a custom connection, an Apify webhook can notify your app when a run finishes or fails. Your app can then fetch the results or handle the failure.
API usage
Want to collect this data from your own app or automation? The examples below send input to the scraper and show how to collect its results.
The Node.js and Python examples wait for the run to finish before reading its results. The cURL example starts the run and returns its details. Wait for that run to finish, then use its defaultDatasetId to fetch the results.
For setup instructions, see Apify's JavaScript client guide, Python client guide and Actor runs API reference.
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~aldi-australia-products-scraper/runs' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchTerms":["milk"],"maxItems":20}'
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/aldi-australia-products-scraper').call({searchTerms: ['milk'], maxItems: 20});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/aldi-australia-products-scraper').call(run_input={"searchTerms": ["milk"], "maxItems": 20})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
MCP and AI agents
You can ask your AI assistant to collect data with ALDI Australia Products & Prices Scraper and help you work with the results. The scraper returns the data, and your assistant can then summarize it, compare records or prepare notes.
Connect your assistant through the Apify MCP server. MCP gives your assistant a way to find this scraper, run it and read the results. Follow the official setup and sign-in guide for your app.
Easier setup with an Apify plugin
If you use a supported coding assistant, the official Apify plugin can set up the connection for you. It connects your assistant to Apify and includes instructions for common tasks. Follow the guide for your particular app.
Use Apify AI in Console
Prefer to keep everything in Apify? Open Apify AI in Console and ask it to find Fetch Cat's ALDI Australia Products & Prices Scraper. You can describe the data you want and ask questions about the results.
Apify AI is currently in beta. It asks for confirmation before starting an Actor, and normal run charges apply.
Choose your assistant
- Claude and Claude Code (Anthropic): Apify setup guide.
- ChatGPT and Codex (OpenAI): Apify setup guides.
- Grok Bot (xAI): Apify plugin guide.
- Gemini CLI (Google): MCP server setup guide. Use the server URL below with the HTTP configuration supported by Gemini CLI.
Connect just this scraper
To keep your setup focused on this scraper, add this server configuration to a compatible MCP client:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/aldi-australia-products-scraper"}}}
Sign in to Apify when your client asks. If your client uses a Bearer token instead, follow its setup guide and keep the token in its secure configuration. Configuration formats vary by app, so use the linked guide if your client needs a different format.
Use Apify's general server
Already connected to the general Apify MCP server at https://mcp.apify.com? You can use it to find this scraper without adding another server. Ask your assistant to use ALDI Australia Products & Prices Scraper by Fetch Cat, or give it the identifier fetch_cat/aldi-australia-products-scraper.
Your assistant can check the available settings and retrieve the results from the returned run. If the run is still working, it should follow that run rather than start it again. Both connection options use Apify's hosted service.
Example requests
- “Collect milk prices from ALDI Australia's milk category and make a table comparing pack sizes and unit prices.”
- “Get the products in ALDI Australia's current Special Buys listings and group them by their advertised on-sale dates.”
- “Collect product details for these public ALDI Australia links and summarize the ingredients and origin information that is actually available.”
Normal Apify charges apply. Check the live Pricing tab before asking your assistant to run a larger batch.
Pay with x402
If your AI agent has a funded wallet, it can pay for Apify usage through x402. This experimental option lets an agent use Apify without a conventional account.
Apify AGI provides a prepaid API token with a spending cap after payment. Your agent can use that token to run this scraper through the Apify API or an authenticated MCP connection.
Direct per-request MCP payments are a separate route with platform pricing, permission and Standby requirements. That route has not been verified for this Actor. Use the prepaid API-token flow instead of assuming direct-payment eligibility.
Follow the official guide for wallet setup, supported payment options and current terms. Apify handles the payments. Keep wallet keys and payment tokens in your agent's secure configuration.
Other ways for agents to pay
Apify also supports MPP for prepaid access through AGI and Skyfire for eligible Actors. If your agent already uses one of these, see the agentic payment guide to choose the right setup.
FAQ
Why does a milk search include chocolate?
These are ALDI's own search results. Use the milk category when you need milk products rather than all keyword matches.
Does notForSale mean the store is out of stock?
No. Normal priced ALDI groceries can carry this flag because they are not offered for online purchase. It is not a physical-store stock measurement.
Can I download only products whose price changed?
Supply an explicit SKU/fingerprint baseline from earlier output to return changed or new records. The fingerprint covers more than price. For price-only changes, compare the price field in your own history.
Related Actors
- Amazon Products & Search Scraper — collect Amazon search listings and product details across marketplaces.
- Walmart Products Scraper — collect Walmart product prices, ratings, sellers and public product links.
- Costco Products Scraper — collect public Costco search, category and product-page data for retail comparisons.
- AliExpress Products Scraper — collect marketplace product prices, shipping details and seller links for sourcing comparisons.
- eBay Marketplace Scraper — collect active listings with prices, shipping and seller information across supported eBay marketplaces.
Support and feedback
For custom additions or integrations, email hello@fetchcat.dev.
Found an error or have a feature request? Open an issue with the run URL, a non-sensitive input example and what you expected.
Need help sharing it? See Apify’s guide to sharing a run when reporting an issue. Sharing a run can give the developer access to its input, logs and results, so use a run that contains no sensitive data. Please leave out API tokens, passwords, cookies, private documents and personal data. Use a public sample URL or a redacted example instead.
Tried this scraper? We'd love to hear how it worked for you. Leave a review to help others choose the right tool and help us improve it. Your feedback means a lot to us.
Made with care for curious people, AI agents and the possibilities in data. ♥