ALDI Australia Products & Prices Scraper

Collect public ALDI Australia grocery prices, categories, specials and product details for comparison and price monitoring.

Data fields

FieldTypeDescription
skustringValue exported as sku.
abstractSkustring | nullValue exported as abstractSku.
namestringValue exported as name.
brandstring | nullValue exported as brand.
urlstringValue exported as url.
pricenumber | nullValue exported as price.
priceDisplaystring | nullValue exported as priceDisplay.
currencystringValue exported as currency.

Input preview

searchTermsSearch terms
categoriesCategories
urlsALDI Australia URLs
maxItemsMax products (whole run)
maxPagesMax pages per target
fetchDetailsFetch product details

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

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.

https://youtu.be/1OW8gOqlZbY?t=25

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.

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.
  • notForSale does not mean an item is unavailable in a physical store. On-sale dates do not guarantee stock. onSale can 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. A workBudget stop means an incomplete scan, not no matches or expired products. Inspect RUN_SUMMARY before 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 os
from apify_client import ApifyClient
client = 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

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.

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. ♥

Common questions

Search-intent answers for buyers comparing Apify actors, API alternatives, and scheduled data workflows.

Can I export ALDI Australia Products & Prices Scraper results to CSV, JSON, Excel, or API?

Yes. Apify datasets support JSON, CSV, Excel, XML, RSS, API access, webhooks, and scheduled exports.

Can this work as an API alternative?

Yes. Use the Apify Actor API for runs and the dataset API for results. The focused MCP URL also exposes this actor for agent workflows.

Does this page replace the Apify actor page?

No. This catalog helps discovery and comparison. Running, billing, storage, and support continue through Apify.