Dutch Supermarkets (all 11) avatar
Dutch Supermarkets (all 11)

Pricing

$5.00 / 1,000 results

Go to Apify Store
Dutch Supermarkets (all 11)

Dutch Supermarkets (all 11)

Scrape all 11 dutch supermarket chains for price, product, url, and size. Albert Heijn, Jumbo, Dirk, SPAR, Hoogvliet, Aldi, Lidl, Vomar, Poiesz, Plus, DekaMarkt. Netherlands, Nederland, supermarkt

Pricing

$5.00 / 1,000 results

Rating

0.0

(0)

Developer

Harvest Edge

Harvest Edge

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

3 days ago

Last modified

Share

🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🚜

🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽🌽

Harvest Edge / Dutch Supermarkets Scraper (11 chains)

🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱

πŸŒ½πŸŒ½πŸŒ½πŸŒ½πŸ†πŸŒ½πŸŒ½πŸŒ½πŸŒ½πŸŒ½πŸŒ½πŸŒ½πŸšœπŸŒ±πŸŒ±πŸŒ±πŸŒ±πŸŒ±πŸŒ±πŸŒ±πŸŒ±πŸŒ±πŸŒ±

Harvest Edge makes business information available to everyone!

Overview

The Dutch Supermarkets Scraper extracts product data from 11 major Dutch supermarket chains: Albert Heijn, Jumbo, Dirk, SPAR, Hoogvliet, Aldi, Lidl, Vomar, Poiesz, Plus and DekaMarkt.

It searches for user-defined keyterms and collects detailed product information including name, price, unit price, unit size, discounts and product URLs – perfect for price comparison, market monitoring or competitive analysis.

The scraper uses a combination of requests, BeautifulSoup and Playwright (for JavaScript-heavy sites) and implements responsible scraping with configurable delays.

Tags: Nederland, Supermarkt, Groceries, Albert Heijn, Jumbo, Dirk, Hoogvliet, Lidl, Aldi, Plus, Vomar, Poiesz, SPAR, DekaMarkt, Prijzen, Boodschappen, FMCG, Price Comparison.

Feel free to contact us via Apify for feature requests or bug reports.

Features

  • Supports all 11 Dutch supermarket chains: AH, Jumbo, Dirk, SPAR, Hoogvliet, Aldi, Poiesz, Lidl, Vomar, Plus, DekaMarkt.
  • Extracts comprehensive product data: name, price (€), unit price (€), unit, unit size, discount, product URL.
  • Automatic unit standardisation (g β†’ g, kg β†’ kg, ml β†’ ml, l β†’ l, st β†’ st) and inferred unit price per kg/l where possible.
  • Configurable maximum results limit per run.
  • Configurable throttle delay between requests (default 1000 ms) to respect site policies.
  • Detailed summary of results and pages per supermarket/query, plus error logging.
  • Handles cookie banners, infinite scroll, "load more" buttons and API fallbacks where needed.
  • Note that discounts may be less comprehensive than all other variables

Input

The Actor accepts the following input parameters via the Apify platform:

KeyTypeDescriptionDefaultRequired
keytermsArrayList of search keywords (e.g., "melk", "brood", "kaas").["melk"]Yes
maxResultsIntegerMaximum total number of products to scrape across all queries/supermarkets (minimum 1).None (no limit)No
supermarketsArraySupermarkets to scrape (short codes).All 11No
throttleDelayIntegerDelay between page requests in milliseconds (minimum 100).1000No

Available Supermarkets (use the short codes in the supermarkets array):

  • ah – Albert Heijn
  • jumbo – Jumbo
  • dirk – Dirk
  • spar – SPAR
  • hoogvliet – Hoogvliet
  • aldi – Aldi
  • poiesz – Poiesz
  • lidl – Lidl
  • vomar – Vomar
  • plus – Plus
  • dekamarkt – DekaMarkt

Note: The scraper processes each keyterm for every selected supermarket sequentially. Scraping stops for a query/supermarket when no more products are found or when the global maxResults limit is reached.

Output

The Actor outputs one JSON object per product to the dataset with the following fields:

FieldTypeDescription
idStringUnique UUID for the product record.
queryStringThe search keyterm used.
supermarketStringSupermarket name (e.g., "AH", "Jumbo", "Lidl").
nameStringFull product name.
price_eurString/NumberCurrent price in euros (empty string if unavailable).
unit_price_eurString/NumberNormalised price per base unit (per kg or per l).
unitStringNormalised unit (kg, l, st).
unit_sizeStringProduct packaging size (e.g., "1 l", "500 g").
discountString/NumberOriginal/old price when on discount (empty if none).
urlStringFull product page URL.
scrape_timestampStringTimestamp when the product was scraped (YYYY-MM-DD HH:MM:SS+ZZZZ).

Example Output:

{
"id": "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8",
"query": "melk",
"supermarket": "AH",
"name": "AH Volle Melk",
"price_eur": 1.19,
"unit_price_eur": 1.19,
"unit": "l",
"unit_size": "1 l",
"discount": "",
"url": "https://www.ah.nl/producten/product/wi123456/ah-vollemelk",
"scrape_timestamp": "2025-12-15 14:30:45+0100"
}