Kruidvat Scraper — Belgian Drugstore Products & Prices avatar

Kruidvat Scraper — Belgian Drugstore Products & Prices

Pricing

Pay per event

Go to Apify Store
Kruidvat Scraper — Belgian Drugstore Products & Prices

Kruidvat Scraper — Belgian Drugstore Products & Prices

Scrape products from Kruidvat.be, Belgium's biggest drugstore chain with 700+ locations. Beauty, personal care, baby products, health supplements, and household goods.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Jelle Desramaults

Jelle Desramaults

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

Kruidvat Scraper -- Belgian Drugstore Products, Prices & Deals

Scrape product data from Kruidvat.be -- Belgium's largest drugstore chain with over 700 locations. Get structured data on beauty products, personal care, baby items, health supplements, and household essentials at everyday low prices.

What is Kruidvat Scraper?

Kruidvat is the dominant drugstore brand in Belgium and the Netherlands, owned by AS Watson Group. They stock thousands of products across beauty, personal care, health, baby, and household categories -- from EUR 1.99 shampoo to high-end skincare lines. Their aggressive promotions and "1+1 gratis" deals make price tracking especially valuable.

Who uses this scraper:

  • Price comparison platforms -- Kruidvat sets the benchmark for drugstore pricing in the Benelux. Track their prices to power comparison features across beauty, health, and personal care.
  • Brand managers & manufacturers -- Monitor how your products are priced and positioned at Belgium's biggest drugstore chain. Detect unauthorized discounting or track promotional cycles.
  • E-commerce competitors -- If you run a pharmacy, beauty store, or health shop in Belgium, Kruidvat is your pricing floor. Know when they run promotions before your customers do.
  • Market researchers -- Analyze Belgium's drugstore market: category sizes, price distributions, brand representation, and seasonal patterns.
  • Deal tracking & couponing -- Kruidvat's frequent promotions (1+1, 2e halve prijs, 25% korting) create opportunities for deal-focused content and apps.

What data does Kruidvat Scraper extract?

  • 🧴 Product name -- full product title
  • 🏷️ Brand -- Nivea, L'Oreal, Kruidvat eigen merk, Pampers, etc.
  • 💰 Current price in EUR
  • 💸 Original price -- before promotions
  • 🔢 EAN barcode -- 13-digit product identifier
  • 📦 SKU -- Kruidvat product number
  • Stock status -- in stock or out of stock
  • Customer rating -- average review score
  • 💬 Review count -- number of customer reviews
  • 🖼️ Product images -- main and gallery images
  • 📝 Description -- product details
  • 📂 Category breadcrumbs -- full hierarchy (e.g., Haar > Shampoo > Droog haar)

How to scrape Kruidvat.be

Search by keyword

The fastest way to find specific products:

{
"searchQuery": "shampoo",
"maxResults": 100
}

Browse a category

Scrape an entire product category. Grab category URLs from kruidvat.be navigation:

{
"categoryUrl": "https://www.kruidvat.be/nl/haar/shampoo/c/20002",
"maxResults": 200
}

Combine search with category

If a categoryUrl is provided, it takes priority. Otherwise the searchQuery is used.

Tip: Kruidvat's category tree is deep. Target leaf categories (like "Shampoo > Droog haar") for focused scraping, or parent categories (like "Haar") for broader coverage.

Output

A realistic Kruidvat product record:

{
"name": "Andrélon Shampoo Levendig Lang",
"brand": "Andrélon",
"price": 3.49,
"currency": "EUR",
"url": "https://www.kruidvat.be/nl/andrelon-shampoo-levendig-lang/p/4305728",
"scrapedAt": "2025-04-03T09:15:00.000Z",
"originalPrice": 4.99,
"ean": "8710447321942",
"sku": "4305728",
"inStock": true,
"rating": 4.3,
"reviewCount": 87,
"imageUrl": "https://static.kruidvat.be/medias/product/4305728-front.jpg",
"imageUrls": [
"https://static.kruidvat.be/medias/product/4305728-front.jpg",
"https://static.kruidvat.be/medias/product/4305728-back.jpg"
],
"description": "Andrélon Shampoo Levendig Lang maakt je haar zacht en glanzend. Speciaal ontwikkeld voor lang haar dat snel dof en pluizig wordt.",
"category": "Shampoo",
"categories": ["Haar", "Shampoo"]
}

How much does it cost?

ScenarioEstimated cost
100 products (search)~$0.02
500 products (category)~$0.08
2,000 products (multiple categories)~$0.30
Large catalog crawl~$0.50+

Kruidvat Scraper uses CheerioCrawler for lightweight, efficient scraping. No browser is launched, keeping costs low.

Can I integrate?

Connect Kruidvat data to your tools:

  • Google Sheets -- track Belgian drugstore prices in a spreadsheet
  • Webhooks -- trigger alerts when promotions start or prices drop
  • Zapier / Make -- build automated workflows around price changes
  • Slack -- daily notifications on Kruidvat deals in specific categories
  • Amazon S3 / Google Cloud Storage -- archive weekly pricing snapshots
  • PostgreSQL / MySQL -- feed data into your analytics database

Can I use it as an API?

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("studio-amba/kruidvat-scraper").call(run_input={
"searchQuery": "zonnebrand",
"maxResults": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
price_info = f"EUR {item['price']}"
if item.get('originalPrice'):
price_info += f" (was EUR {item['originalPrice']})"
print(f"{item['brand']} - {item['name']} -- {price_info}")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('studio-amba/kruidvat-scraper').call({
searchQuery: 'zonnebrand',
maxResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
const sale = item.originalPrice ? ` (was EUR ${item.originalPrice})` : '';
console.log(`${item.brand} - ${item.name} -- EUR ${item.price}${sale}`);
});

FAQ

Does this scrape Kruidvat Belgium or Netherlands? This scraper targets Kruidvat.be (Belgium). The Dutch site (kruidvat.nl) has a different URL structure and product catalog.

Can I track promotions like "1+1 gratis"? The scraper captures originalPrice when a product is on promotion. The specific promotion type (1+1, 2e halve prijs, etc.) is reflected in the price difference but not as a separate field.

How do I find the right category URL? Browse kruidvat.be, navigate to the category you want, and copy the URL from your browser's address bar. Category URLs follow the pattern /nl/{category}/c/{code}.

What language is the data in? Product data comes in Dutch (Nederlands), matching the Belgian Dutch language version of the site.

How often do Kruidvat prices change? Kruidvat runs weekly promotions (folder deals). Scraping weekly on Monday or Tuesday captures the new promotion cycle. Daily scraping catches flash deals.

Are Kruidvat's own-brand products included? Yes. Kruidvat eigen merk products appear in results like any other brand.

Limitations

  • The scraper targets kruidvat.be (Belgium). kruidvat.nl (Netherlands) is a separate site not covered by this scraper.
  • Product data is extracted from HTML. If Kruidvat changes their page structure, some fields may temporarily return empty.
  • Kruidvat's in-store promotions and member-only deals may differ from what appears online.
  • Stock status reflects online availability, not individual store inventory.
  • Very large category scrapes may take longer due to pagination and per-product detail page visits.

Other retail and fashion scrapers

Build comprehensive Belgian and European retail intelligence:

Your feedback

Found an issue or want a new feature? Let us know through the Apify Store actor page. We fix bugs quickly and actively maintain this scraper.