PLUS Scraper — Dutch Supermarket Prices & Products
Pricing
from $1.20 / 1,000 result scrapeds
PLUS Scraper — Dutch Supermarket Prices & Products
Scrape products, prices, brands, EAN barcodes and categories from PLUS supermarket (plus.nl), the Netherlands' #3 grocery chain. Search by keyword. No login or cookies required.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Scrape product data from PLUS (plus.nl), the Netherlands' third-largest supermarket chain by market share. Search the PLUS assortment by keyword and get clean, structured JSON with names, prices, brands, EAN barcodes and full category paths.
No login. No cookies. Just give it a search term and it returns the matching products.
What this Actor does
This Actor searches PLUS's own website search and returns every matching product with its current shelf price and category data. It is built for price monitoring, assortment research, competitive analysis against Albert Heijn and Jumbo, and building Dutch grocery price datasets.
For each product you get:
- Name — full product title (e.g. "Zuivelmeester Halfvolle melk")
- Brand — the product brand (e.g. "Arla", "Zuivelmeester", or "PLUS" for private label)
- Price — current shelf price in euros
- Price per unit — normalized price per litre or kilo, where the site publishes a reference quantity
- Category — the full PLUS category breadcrumb (e.g. "Zuivel, eieren, boter > Verse zuivel > Melk, karnemelk")
- EAN — the product barcode / GTIN
- SKU — PLUS's internal product code
- In stock — whether the product is currently available
- Image URL — product image
- URL — link to the product page on plus.nl
- Scraped at — ISO timestamp of the run
How to scrape PLUS supermarket data
- Open this Actor in Apify Console (or call it via the Apify API).
- Set a Search Query — a Dutch keyword such as
melk,brood,koffie,kaasor a brand name. - Set Max Results — how many products you want back (default 50).
- Leave the Proxy Configuration on the default. PLUS.nl sits behind an Imperva/Incapsula CDN and serves Dutch-only pricing and availability, so a Netherlands residential proxy is prefilled.
- Click Start. The Actor loads the search results, scrolls PLUS's product list to page through matches, then visits each product page for the full record.
- Download the results as JSON, CSV, Excel or feed them straight into your own pipeline via the API.
That is the whole flow. One keyword in, a clean product dataset out.
Example input
{"searchQuery": "melk","maxResults": 100,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "NL"}}
Example output
{"name": "Zuivelmeester Halfvolle melk","brand": "Zuivelmeester","price": 1.69,"currency": "EUR","pricePerUnit": "0.84 EUR/L","ean": "8718989028404","sku": "145701","inStock": true,"imageUrl": "https://images.ctfassets.net/s0lodsnpsezb/145701_M/ccbe3a44d38520fe2645e71f8a0e12b8/145701.png","category": "Zuivel, eieren, boter > Verse zuivel > Melk, karnemelk","categories": ["Zuivel, eieren, boter", "Verse zuivel", "Melk, karnemelk"],"url": "https://www.plus.nl/product/zuivelmeester-halfvolle-melk-can-2000-ml-145701","scrapedAt": "2026-09-12T19:46:41.827Z"}
Input reference
| Field | Type | Required | Description |
|---|---|---|---|
searchQuery | string | no | Dutch keyword or brand to search for. Defaults to brood. |
maxResults | integer | no | Maximum number of products to return. Default 50. |
proxyConfiguration | object | no | Proxy settings. Defaults to Apify residential proxy in the Netherlands. |
Output reference
Each dataset item is a single product. Fields:
| Field | Type | Description |
|---|---|---|
name | string | Full product title |
brand | string | Product brand |
price | number/null | Current price in euros |
currency | string | Always EUR |
pricePerUnit | string/null | Normalized price per litre or kilo, when available |
ean | string/null | Barcode / GTIN-13 |
sku | string/null | PLUS internal product code |
category | string/null | Full category breadcrumb, joined with " > " |
categories | array/null | Category breadcrumb as a list, top level first |
imageUrl | string/null | Product image URL |
inStock | boolean/null | Availability |
url | string | Product page URL |
scrapedAt | string | ISO timestamp |
Why a Netherlands residential proxy is used
plus.nl runs behind an Imperva/Incapsula CDN and its prices and product availability are scoped to the Dutch market. The default proxy configuration uses Apify's residential proxy pool scoped to the Netherlands. You normally do not need to change it.
Common use cases
- Price monitoring — track PLUS prices for a basket of products over time.
- Competitive analysis — compare PLUS against Albert Heijn, Jumbo and other Dutch supermarkets.
- Assortment research — see how many products PLUS lists for a category or brand.
- Dataset building — collect grocery names, EANs and prices for analytics or ML.
Cost estimate
This actor is billed $0.02 per run plus $0.002 per result — 1,000 results cost about $2.02. Usage cost only settles once a run reports SUCCEEDED — reading a dataset mid-run will show a cost far below the real total.
Notes and limits
- Search is keyword-based, one keyword per run. Run the Actor multiple times for multiple keywords.
- Prices are scraped live at run time and reflect PLUS's national webshop pricing, not local store promotions.
pricePerUnitis only populated when PLUS publishes a machine-readable reference quantity (common for liquids and weighed goods, less common for piece-counted items).- The Actor only reads public catalog data. It does not log in or access any account.
- If a run returns zero items it fails on purpose, so you never get a silent empty dataset.
Related scrapers
- Albert Heijn Scraper — the largest Dutch supermarket chain.
- Jumbo Scraper — the second-largest Dutch supermarket chain.
Frequently asked questions
Do I need a PLUS account?
No. The Actor reads the public product catalog. No login, no cookies.
Can I scrape a whole category instead of searching?
This version is keyword-based. Use a broad keyword or a brand name to pull a large slice of a category — PLUS's own search matches across name, brand and category text.
Why do I get fewer items than maxResults?
A search only has so many matching products. The Actor stops when PLUS runs out of matches for your keyword.
Is the price in euros or cents?
Euros, as published by PLUS. Prices are read directly from the product page's structured pricing data.