ALDI Ireland Product Scraper — Prices, Unit Prices, Specialbuys
Pricing
from $1.00 / 1,000 products
ALDI Ireland Product Scraper — Prices, Unit Prices, Specialbuys
Scrape ALDI Ireland products by keyword, category or SKU: EUR prices, was-prices, unit prices, Specialbuys dates, ingredients and allergens. Misses never charged. Pay per result.
Pricing
from $1.00 / 1,000 products
Rating
0.0
(0)
Developer
architek.earth
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Recorded 18 Oct 2026 from Apify datacenter IPs: a "milk" search on aldi.ie returned all 86 products in 2 requests, and the Chilled Food category listed 578. Every row had a price in euro, a unit price and its category. Nothing was blocked across a 20-request burst.
From Architekture, makers of the ALDI AU, Tesco UK, Woolworths, Coles, Pak'nSave and New World scrapers.
Search aldi.ie by keyword, browse by category or look up SKUs, and get clean JSON for each product: name, brand, pack size, price, was-price, saving, unit price, category path, image and product URL. Turn on details to add ingredients, allergens, storage instructions and nutritional claims. It uses ALDI Ireland's own public product API, with no browser and no residential proxy.
🤖 Built for AI workflows. Every row is deterministic, schema-stable JSON — feed it straight to LLM apps, RAG pipelines, or agent tool calls via the Apify API, the Apify MCP server (mcp.apify.com), or AI coding agents like Claude Code and Cursor.
| 🏪 Retailer | 📍 Market | 💰 From | 🔑 Standout fields |
|---|---|---|---|
| ALDI | Ireland 🇮🇪 | $1.00 / 1,000 products | Ingredients, allergens, storage |
🚀 Why choose this actor
- 🗂️ Built for Ireland, in euro.
currency: "EUR", Irish categories (Chilled Food, Food Cupboard, Specialbuys, Savers), and Irish product URLs. - 💸 The Irish grocery schema. Field names are the same as in the other Architekture Ireland grocery actors, so one pipeline reads them all:
price,wasPrice,onSale,unitPricewithunitPriceLabel,availability,categoryPath. - 💸 Sale detection. A row gets
wasPriceonly when it is above today's price, plus ALDI's ownsavingsText(e.g."7%"). - 📈 Specialbuys dates.
onSaleDate/onSaleDateTexton products ALDI schedules for a date. - 💸 Pay only for real detail. With
includeDetailson, a row is charged asproduct-detailonly when ALDI actually returned ingredients, allergens or similar. If it didn't, the row is a plainproduct. - 💸 Never pay for misses. An unknown category, an unknown SKU or a blocked request gets one free status row, never a charge.
⚠️ Worth knowing up front
- 💸 ALDI Ireland does not sell groceries online. The API lists the in-store range, so every product comes back with
availability: "in_store_only". Prices are ALDI's national shelf prices. - 🔬 No barcodes (EAN/GTIN) and no per-100 g nutrition table. ALDI does not publish them. You get
nutritionalClaimsonly where ALDI lists them. - 💸 No stock levels, and no prices for individual stores.
- 🔬 Detail is sparse on some products. For example, ALDI's protein milk lists ingredients "1% Fat" and storage instructions, but no description. We pass on what ALDI publishes and never fill gaps.
⚡ Try the example
{"searchTerms": ["milk"],"maxItemsPerQuery": 60}
Add "includeDetails": true for ingredients and allergens, or "categories": ["Chilled Food"] for a whole aisle.
⚙️ Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchTerms | array | — | Keywords, e.g. milk, coffee pods. Up to 50 terms + categories. |
categories | array | — | Category name (Chilled Food, Milk), slug (chilled-food/milk) or aldi.ie category URL. |
skus | array | — | SKU (422541 or 000000000000422541) or aldi.ie product URL. Always returns detail fields where ALDI has them. Up to 500. |
maxItemsPerQuery | integer | 100 | Cap per search term or category. 0 = everything (up to 5,000). |
includeDetails | boolean | false | Adds ingredients, allergens, storage, usage, nutritional claims and description. One extra request per product. |
sort | select | relevance | relevance, price_asc, price_desc, name_asc, name_desc. |
proxyConfiguration | proxy | Apify datacenter | Blocked or rate-limited requests are retried on a fresh IP. |
feedback | string | — | A note to the maintainers. Read by a human. |
Results are de-duplicated by SKU across every term, category and SKU in a run, so a product found twice is delivered and charged once. SKUs you list are fetched first, so they always come back with their detail fields.
🧱 Stable fields for automations
Product rows have recordType: "product"; status rows have recordType: "query". Fields are omitted, never null, when ALDI does not publish them. New fields are only ever added.
| Field | Meaning |
|---|---|
recordType, retailer | product; "ALDI IE". |
sku, name, brand, size | 18-digit ALDI SKU, product name, brand, pack size (e.g. "1 l"). |
price, currency | Current shelf price (float), "EUR". |
wasPrice, onSale, savingsText | Previous price, sale flag, ALDI's saving label. |
unitPrice, unitPriceLabel | Comparison price and its unit, e.g. 1.49 per "1 L". |
availability | in_store_only, available, discontinued or unknown. |
category, categoryPath | "Milk", "Chilled Food > Milk". |
image, url | 800 px product image, aldi.ie product page. |
onSaleDate, onSaleDateText | Specialbuys date, where scheduled (ALDI-specific). |
source | {source: "search" | "category" | "sku", searchTerm?, category?, categoryUrl?, page?}. |
Detail rows: description, ingredients, allergens, countryOfOrigin, storageInstructions, usageInstructions, nutritionalClaims, warnings | Where ALDI publishes them. |
Status rows: query, status, reason | NOT_FOUND, BLOCKED or ERROR, and why. |
📦 Output example
{"recordType": "product","retailer": "ALDI IE","sku": "000000000000417675","name": "Barista Style Oat Drink","brand": "ACTILEAF","size": "1 l","price": 1.19,"currency": "EUR","wasPrice": 1.29,"onSale": true,"savingsText": "7%","unitPrice": 1.19,"unitPriceLabel": "1 L","availability": "in_store_only","category": "Milk","categoryPath": "Chilled Food > Milk","image": "https://dm.emea.cms.aldi.cx/is/image/aldiprodeu/product/jpg/scaleWidth/800/d8cfa282-c33b-4b48-880a-04492a5ad3f9/image","url": "https://www.aldi.ie/product/actileaf-barista-style-oat-drink-000000000000417675","source": { "source": "category", "category": "Chilled Food", "page": 1 }}
With details on, the protein milk row also carries "ingredients": "1% Fat", "storageInstructions": "Keep refrigerated below 5°C." and "nutritionalClaims": [{"label": "May contain", "value": "Nuts"}]. A category that does not exist returns:
{ "recordType": "query", "query": "category:Nope", "status": "NOT_FOUND", "reason": "no ALDI IE category matches 'Nope'" }
🧠 Advanced usage
- 💸 Weekly price tracking: schedule the same categories weekly and join on
skuto watchpriceandwasPrice. - 💸 Ireland price comparison: run this alongside the other Architekture Ireland grocery actors. They share the same fields, so match products on normalised
name+size. - 🔬 Allergen audits:
skusorincludeDetailsgivesallergensandingredientsfor a product list. - 💸 Completion check: read
RUN_SUMMARY, which hasstatus(COMPLETE,PARTIAL,NO_PRODUCTS,BUDGET_LIMIT,TIME_LIMIT,STATE_SAVE_FAILED,INVALID_INPUT,NOT_CONFIGURED),products,charged, andqueries[](each withstatus,delivered,listed).
🔌 Integrations
Export as JSON, CSV or Excel; push to Google Sheets; trigger from Make, Zapier or n8n; get a webhook when a run finishes; schedule with the Apify Scheduler.
💸 How much does it cost?
1,000 products ≈ $1.00; with detail $4.00 / 1,000. Failed requests and misses are free. Platform usage is included.
💰 Pricing
| Event | Price | Covers |
|---|---|---|
product | $1.00 / 1,000 | One product row |
product-detail | $4.00 / 1,000 | One product row that came back with detail fields (ingredients, allergens, storage…) |
Platform usage is included. Status rows are free, and nothing is charged for failed requests. A run stops cleanly at your spending limit, with charges equal to rows delivered.
❓ FAQ
Can I order or check stock? No. ALDI Ireland has no online grocery shop, and the data is the in-store range at national prices.
Why no barcode? ALDI does not publish EANs in Ireland or Australia.
What do I get for an SKU that no longer exists? A free NOT_FOUND row.
🤖 For AI agents & LLM apps
architekture/aldi-ie-scraper returns ALDI Ireland products — name, brand, size, price in EUR, was-price, unit price, category, optionally ingredients and allergens — as deterministic, schema-stable JSON: one object per product, the same fields on every run, and the same field names as the other Architekture Ireland grocery actors. Invoke it from any agentic workflow via the Apify API or the Apify MCP server (mcp.apify.com) as a tool call. Pay-per-event billing means a run's cost is bounded before it starts: $1 per 1,000 products, or $4 per 1,000 for rows with detail fields (includeDetails, skus). maxItemsPerQuery caps each search or category, and a spending limit stops the run cleanly. Every query gets a machine-readable status in RUN_SUMMARY, and misses come back as free recordType: "query" rows, so an agent can branch on them instead of parsing logs. Honest limits: in-store range only, national prices, no barcodes, no stock.
Works out of the box with LangChain, LlamaIndex and AI coding agents — call it as a tool from Claude Code, Cursor, or any MCP client via mcp.apify.com.
🧰 More Architekture scrapers
- 📍 Ireland: ALDI IE (you are here) · Dunnes Stores fashion & home
- UK: Tesco UK · Sainsbury's UK
- Australia / New Zealand: ALDI AU · Woolworths AU · Coles AU · Pak'nSave NZ
- 🔎 E-commerce: Shopify Products · AliExpress Search
🙋 Support
Open an Issue on this actor's page; a human replies within a day.
⚖️ Legal compliance
This actor reads publicly available product data from ALDI Ireland's public website API, without logging in. You are responsible for how you use the data, including ALDI's terms, intellectual property in product content and images, and data-protection law where it applies.
📝 Changelog
- 🔎 2026-10-18: 1.0. Search, category and SKU modes; shared Irish grocery schema; detail charged only when ALDI returns detail; free status rows; clean stops at spending limit and timeout; resumable after platform migration.