Viata Scraper — Belgian Online Pharmacy Products & Prices
Pricing
Pay per event
Viata Scraper — Belgian Online Pharmacy Products & Prices
Scrape pharmacy products from Viata.be via their Algolia search index. Health, beauty, and wellness products from a Belgian online pharmacy.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Jelle Desramaults
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
28 minutes ago
Last modified
Categories
Share
Viata Scraper
Scrape pharmacy products, prices, and health data from Viata.be — a Belgian online pharmacy specializing in health, beauty, and wellness products with bilingual Dutch/French support.
What is Viata Scraper?
Viata is a licensed Belgian online pharmacy offering thousands of OTC medicines, vitamins, supplements, skincare products, and natural remedies. Unlike marketplace-style pharmacies, Viata curates a focused selection with detailed product attributes including dosage forms, active substances, and administration methods — making it a goldmine for pharmaceutical data.
This scraper connects directly to Viata's Algolia search index, allowing you to pull structured product data at high speed without any browser overhead. Bilingual support means you get the same products with fully localized Dutch or French names and descriptions.
Common use cases:
- Belgian pharmacy price comparison — Cross-reference Viata prices with Farmaline, Multipharma, and Shop Apotheke to build a complete Belgian pharmacy pricing database
- Health supplement tracking — Monitor pricing and availability of vitamins, probiotics, and natural supplements across seasons
- Brand analysis — Study how brands like Eucerin, Bioderma, or Teva position their products on the Belgian market
- Pharmaceutical data enrichment — Use Viata's rich attribute data (active substances, dosage forms, administration methods) to enrich your own product databases
- Promotional monitoring — Track Viata's discount campaigns and "Viata Choice" selections to understand their merchandising strategy
What data does Viata Scraper extract?
- 💊 Product name & brand — Complete product name and brand/manufacturer
- 💰 Price & discounts — Current price, original list price, and discount percentage
- 🏥 Pharmaceutical attributes — Dosage form, active substance, administration method, and product type
- 📦 Stock status — Whether the product is currently in stock
- 🏷️ Identifiers — EAN barcode, internal SKU/reference, and Algolia product ID
- 🗂️ Category hierarchy — Full category tree from broad to specific
- 🖼️ Product images — Direct image URLs
- 🌐 Bilingual data — Dutch (NL) and French (FR) localized content
- ✨ Viata Choice & promo flags — Whether a product is a Viata-recommended pick or currently on promotion
How to scrape Viata.be
Search by keyword
Enter a term like "paracetamol", "vitamine D", or "zonnebrandcreme" to find matching products.
Filter by category
Use the Category input with Viata's category names such as Geneesmiddelen, Pijn en koorts, or Beauty & Lichaamsverzorging.
Filter by brand
Set the Brand input to a brand slug like teva, bioderma, or eucerin (lowercase). This filters to products from that manufacturer only.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
searchQuery | String | — | Search keyword (e.g., "paracetamol") |
category | String | — | Category name to filter by |
brand | String | — | Brand slug in lowercase (e.g., "bioderma") |
maxResults | Integer | 100 | Maximum products to return (up to 50,000) |
language | String | nl | nl for Dutch, fr for French |
proxyConfiguration | Object | — | Proxy settings for large runs |
Tip: Brand slugs must be lowercase (e.g., "eucerin" not "Eucerin"). Check Viata.be's URL structure for the exact slug if unsure.
Output
{"name": "Perdolan Volwassenen 500mg Tabletten 30 Stuks","brand": "Perdolan","price": 4.15,"originalPrice": 4.95,"discount": "-16%","currency": "EUR","ean": "5400265014644","sku": "BE-PER-500-30","productId": "78432","inStock": true,"url": "https://www.viata.be/nl/perdolan-volwassenen-500mg-tabletten-30","imageUrl": "https://www.viata.be/media/catalog/product/perdolan-500mg-30tab.jpg","description": "Perdolan Volwassenen bevat paracetamol 500mg en is bestemd voor de symptomatische behandeling van pijn en koorts bij volwassenen.","specs": {"Dosage Form": "tabletten","Active Substance": "paracetamol","Administration": "oraal","Product Type": "geneesmiddel"},"category": "Pijn en koorts","categories": ["Geneesmiddelen", "Pijn en koorts"],"language": "nl","scrapedAt": "2026-04-03T10:15:00.000Z"}
How much does it cost?
Viata Scraper queries Viata's Algolia search index directly — no browser rendering, no page downloads, just fast API calls.
| Volume | Estimated CU | Estimated Cost |
|---|---|---|
| 100 products | ~0.01 CU | < $0.01 |
| 1,000 products | ~0.05 CU | ~$0.03 |
| 5,000 products | ~0.25 CU | ~$0.13 |
| 20,000 products | ~1 CU | ~$0.50 |
Actual costs depend on your Apify subscription plan.
Can I integrate?
Yes. Full integration support through Apify's ecosystem:
- Google Sheets — Sync Belgian pharmacy prices to your team's spreadsheet
- Webhooks — Trigger downstream processes when scraping finishes
- Zapier / Make / n8n — Connect Viata data to your CRM, database, or notification tools
- Amazon S3 / Google Cloud — Store pharmaceutical datasets for long-term analysis
- Slack / Email — Get notified about price changes on tracked products
Can I use it as an API?
Yes. Call the scraper from any programming language.
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("studio-amba/viata-scraper").call(run_input={"searchQuery": "vitamine D","language": "nl","maxResults": 50,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['name']} — EUR {item['price']}")if item.get('specs'):print(f" Active: {item['specs'].get('Active Substance', 'N/A')}")
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('studio-amba/viata-scraper').call({searchQuery: 'vitamine D',language: 'nl',maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {console.log(`${item.name} — EUR ${item.price}`);});
FAQ
How does Viata compare to Farmaline? Both are Belgian online pharmacies, but they operate on different platforms and often have different pricing. Farmaline has a larger catalog (~70,000 products) while Viata focuses on a more curated selection. Running both scrapers lets you do direct price comparison across Belgian pharmacies.
What are the pharmaceutical attribute fields?
Viata stores rich product metadata in Algolia attributes. The scraper maps these to the specs object: Dosage Form (tablet, capsule, cream, syrup), Active Substance (paracetamol, ibuprofen, etc.), Administration method (oral, topical, etc.), and Product Type (medicine, supplement, cosmetic).
Does the scraper return out-of-stock products?
Yes. Unlike Farmaline (which filters to in-stock items), Viata's Algolia index does not allow stock-based filtering. All products are returned with their inStock status in the output, so you can filter client-side.
What format should brand names be in? Use lowercase slug format for the brand filter: "teva", "bioderma", "eucerin", "a.vogel". This matches how Viata stores brand data internally in their Algolia attribute fields.
Can I get products in both Dutch and French simultaneously?
Not in a single run. Set language to nl or fr and run the scraper twice if you need both. Product IDs are the same across languages, so you can join the results.
What kind of products does Viata sell? Viata's catalog spans OTC medicines (pijn en koorts, allergie, verkoudheid), vitamins and supplements, skincare and beauty products, baby care, natural and homeopathic remedies, personal hygiene, and medical devices. They position themselves as a health-focused pharmacy with curated product selection rather than a mass-market catalog.
Tips for working with Viata data
Viata's rich attribute system makes it especially useful for pharmaceutical analysis:
- Build a Belgian pharmacy price index — Combine Viata data with Farmaline and Multipharma data, joining on EAN codes, to create a comprehensive Belgian pharmacy price comparison dataset.
- Use attribute fields for segmentation — The
specsobject contains dosage form, active substance, administration method, and product type. These fields let you slice the data in ways that generic e-commerce scrapers cannot. - Track "Viata Choice" products — Viata highlights recommended products with a "Viata Choice" flag. Tracking which products get this designation over time reveals their merchandising strategy.
- Monitor discount cycles — The
discountandoriginalPricefields let you track when Viata runs promotions. Schedule weekly runs to build a promotional calendar. - Combine languages for SEO research — Run the scraper in both NL and FR to get Dutch and French product names for the same items, useful for multilingual SEO or content localization.
Limitations
- Viata's Algolia API keys may change, requiring actor updates
- The stock filter is not available on Viata's Algolia — you get all products regardless of stock status
- Product descriptions may contain residual HTML entities
- Rating and review data is not available through Viata's Algolia index
- Price-per-unit is not provided by Viata (unlike Farmaline)
Other pharmacy scrapers
Combine Viata data with other pharmacy sources for comprehensive coverage:
- Farmaline Scraper — Belgium's largest online pharmacy (70,000+ products, bilingual NL/FR)
- Shop Apotheke Scraper — Europe's leading online pharmacy (DE/AT/CH/BE/FR/IT)
- dm Scraper — Germany's largest drugstore chain (beauty, health, household)
- Apotheek.be Scraper — Belgian pharmacy directory with locations and opening hours
- Matas Scraper — Denmark's leading beauty and pharmacy retailer
- Multipharma Scraper — One of Belgium's largest pharmacy chains
Your feedback
Building a Belgian pharmacy comparison tool? Running into data quality issues? Want more fields extracted? Open an issue or contact us on Apify. We maintain this scraper actively and welcome feature requests.