Dutch Supermarkets (all 11)
Pricing
$5.00 / 1,000 results
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
Actor stats
0
Bookmarked
4
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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:
| Key | Type | Description | Default | Required |
|---|---|---|---|---|
keyterms | Array | List of search keywords (e.g., "melk", "brood", "kaas"). | ["melk"] | Yes |
maxResults | Integer | Maximum total number of products to scrape across all queries/supermarkets (minimum 1). | None (no limit) | No |
supermarkets | Array | Supermarkets to scrape (short codes). | All 11 | No |
throttleDelay | Integer | Delay between page requests in milliseconds (minimum 100). | 1000 | No |
Available Supermarkets (use the short codes in the supermarkets array):
ahβ Albert Heijnjumboβ Jumbodirkβ Dirksparβ SPARhoogvlietβ Hoogvlietaldiβ Aldipoieszβ Poieszlidlβ Lidlvomarβ Vomarplusβ Plusdekamarktβ 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:
| Field | Type | Description |
|---|---|---|
id | String | Unique UUID for the product record. |
query | String | The search keyterm used. |
supermarket | String | Supermarket name (e.g., "AH", "Jumbo", "Lidl"). |
name | String | Full product name. |
price_eur | String/Number | Current price in euros (empty string if unavailable). |
unit_price_eur | String/Number | Normalised price per base unit (per kg or per l). |
unit | String | Normalised unit (kg, l, st). |
unit_size | String | Product packaging size (e.g., "1 l", "500 g"). |
discount | String/Number | Original/old price when on discount (empty if none). |
url | String | Full product page URL. |
scrape_timestamp | String | Timestamp 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"}