Aldi Netherlands & Germany Price Scraper: Shelf Prices (EUR) avatar

Aldi Netherlands & Germany Price Scraper: Shelf Prices (EUR)

Pricing

from $0.90 / 1,000 products

Go to Apify Store
Aldi Netherlands & Germany Price Scraper: Shelf Prices (EUR)

Aldi Netherlands & Germany Price Scraper: Shelf Prices (EUR)

Aldi Netherlands, Aldi Nord and Aldi Süd Germany shelf prices by category or product page: price, unit price, pack size, deposit, in EUR.

Pricing

from $0.90 / 1,000 products

Rating

0.0

(0)

Developer

Russell Yapp

Russell Yapp

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Categories

Share

Aldi Netherlands & Germany Price Scraper: shelf prices in EUR

From Yappman Data. Contact: info@yappman.com.

Shelf prices from Aldi Netherlands (aldi.nl), Aldi Nord Germany (aldi-nord.de) and Aldi SÜD Germany (aldi-sued.de) in one row shape, read during the run (scrapedAt on every row): read a category listing page, named product pages, or the listing pages a shop's sitemap names. Each row is one product with price, unitPrice where the site shows one, wasPrice, promotionText, packSize, categoryPath, the bottle deposit where a German shop shows one, and a matchKey join key. In euros, charged per product returned plus a start fee.

Independent tool. Not affiliated with, endorsed by or sponsored by ALDI Nederland, ALDI Nord, ALDI SÜD or any ALDI company. Their names and marks belong to their owners and are used only to say which website the prices come from.

Both German Aldi chains. Germany has two Aldi chains with their own shops and prices: Aldi Nord (aldi-nord.de, retailer aldi_nord_de) and Aldi SÜD (aldi-sued.de, retailer aldi_sued_de). Each row names the shop it came from.

What it does not copy. Prices and unit prices are facts about what is on the shelf. Images, product descriptions, ingredients and nutrition are the retailer's content, not ours: they are not read and not returned (imageUrl is always null).

Run it with the default input: click Start. It reads one small aldi.nl listing page (eggs, about 4 products) and finishes in under a minute.

ModeUse it toInputExample question
categoryRead every product on a category listing pagecategoryUrls"What do the eggs at Aldi cost?"
productRead named product pagesproductUrls"What does this Aldi product cost today?"
catalogueRead the listing pages a shop's sitemap names (about 135 for aldi.nl and 120 for aldi-nord.de, roughly 6 minutes each; for aldi-sued.de the 49 top-level category pages, each read page by page, 30 products a page); the run summary compares the products read with the number of product pages the sitemap listsretailers, maxItems"What are the dairy products at Aldi priced at?"

There is no search mode in this version.

Sample row (Romige kwark, from a capture of 27 Oct 2026; scrapedAt is illustrative):

{
"retailer": "aldi_nl",
"retailerProductId": "1235974",
"ean": [],
"name": "Romige kwark",
"brand": "MILSANI",
"packSize": "500g",
"price": 1.89,
"wasPrice": null,
"unitPrice": { "value": 3.78, "measure": "kg" },
"loyaltyPrice": null,
"promotionText": null,
"promotionEndsAt": null,
"inStock": null,
"categoryPath": ["Zuivel, eieren en boter", "Verse zuivel"],
"url": "https://www.aldi.nl/product/romige-kwark-1235974.html",
"imageUrl": null,
"rating": null,
"scrapedAt": "2026-10-27T18:00:00Z",
"matchKey": "milsani romige kwark 500g",
"currency": "EUR",
"market": "nl"
}

Input reference

  • mode: category (default), product or catalogue.
  • categoryUrls: category listing page addresses, e.g. https://www.aldi.nl/producten/zuivel-eieren-boter/verse-zuivel.html, https://www.aldi-nord.de/sortiment/milchprodukte/milch-milchgetraenke.html or https://www.aldi-sued.de/produkte/kaese/frischkaese/k/1588161425467086; the shops can be mixed in one run. On aldi.nl and aldi-nord.de use a subcategory page: their top-level category pages carry no product list and are refused with a message. On aldi-sued.de a top-level page such as https://www.aldi-sued.de/produkte/kaese/k/1588161425467083 lists products too, and a listing is read page by page (30 products a page) until maxItems or the end of the listing. An address with a question mark is refused.
  • productUrls: product page addresses, e.g. https://www.aldi.nl/product/mega-scharreleieren-1216651.html, https://www.aldi-nord.de/produkt/milchreis-6570.html or https://www.aldi-sued.de/produkt/milsani-koerniger-frischkaese-200-g-natur-000000000202687002.
  • retailers: ["aldi_nl"] by default; aldi_nord_de and aldi_sued_de for Germany (catalogue mode).
  • maxItems: 1 or more, default 60.

Fields

retailer (aldi_nl, aldi_nord_de or aldi_sued_de), retailerProductId, name, brand (Aldi's own labels, or Aldi when none is shown), packSize as shown (500g, 1L, 6x50cl, 10 stuks, 30 Stück, 235 g), price (EUR), wasPrice and promotionText (e.g. -10%) while a reduction is shown, promotionEndsAt for a reduced price, unitPrice (value and measure, only where the shop shows one: aldi.nl on about three quarters of products, aldi-nord.de on every record seen, aldi-sued.de on every record seen except loose fruit and vegetables; null otherwise, never calculated), deposit (the bottle deposit, Pfand, in EUR as the shop shows it, e.g. 0.25; filled on aldi-nord.de and aldi-sued.de where the shop shows one, null otherwise and always null on aldi.nl), categoryPath (Dutch or German, as shown), url, currency, market (nl or de), matchKey, scrapedAt. ean is always empty (Aldi shows no barcode) and inStock, loyaltyPrice and rating are always null.

Fields returned and not returned

Returned: the fields listed above, for one product per row. Not returned: images, product descriptions, ingredients, nutrition, reviews, ratings, contact details or any user field. A row describes a product; a brand or product name could in principle be a person's name.

Pricing

Pay per event: a start fee of $0.005 per run plus one product event for each row returned, and no other event. On the Free plan a product costs $0.0015 ($1.50 per 1,000); on higher plans it costs less, down to $0.0009 ($0.90 per 1,000). A run that returns nothing costs only the start fee, and if a shop stops the run you pay only for the rows already returned.

Worked examples on the Free plan: the default run (about 4 rows) costs $0.005 + 4 x $0.0015 = $0.011; a run at the default maxItems of 60 costs at most $0.005 + 60 x $0.0015 = $0.095; 1,000 rows cost $1.505. At the lowest plan price the same runs cost $0.0086, $0.059 and $0.905.

Limitations

  • Prices are those shown to a visitor with no store chosen; a price shown is current at scrapedAt.
  • A reduced price on aldi-nord.de (wasPrice, promotionText) is not yet verified on a real capture. On aldi-sued.de it was seen on the capture of 28 Oct 2026; that shop gives no end date for a reduction, so promotionEndsAt is null there.
  • Unit prices are the retailer's own, as the shelf shows them. Where the site gives none, unitPrice is null: this Actor never calculates one, because prices are facts as the retailer shows them.
  • Stock is per store and not shown online, so inStock is null.
  • The bottle deposit (Pfand) is returned in deposit, separately; price is the shelf price as the site gives it, and this Actor makes no claim about whether a shelf price includes the deposit. aldi.nl rows always have deposit null.
  • Records without a current price, or not on sale yet (for example a promotion that has not started, or an aldi-sued.de offer dated later than the run), are skipped and counted in the run summary.
  • At the start of every run the Actor requests each selected shop's robots.txt. Requests go out one at a time, about one every two to three seconds, from the platform's own network. If a shop answers 403 or 429 the run stops for that shop at once, with no retry; a server error is retried a few times, then stops it too; any other answer that is not a normal page stops it as well. You pay only for the rows already returned.

FAQ

Why no images or descriptions? They are the retailer's content. This Actor returns prices and facts only.

Which German Aldi is covered? Both: Aldi Nord (aldi-nord.de) and Aldi SÜD (aldi-sued.de), as separate shops.

Do the rows carry images? No: imageUrl is always null.

Ratings and reviews

Ratings and reviews on the Store page help other buyers judge whether this Actor fits their use, whatever your experience.

Changelog

See the Changelog tab on this Actor's page for version history.