Wehkamp Scraper
Pricing
from $1.39 / 1,000 product listings
Wehkamp Scraper
Scrape products, prices and details from Wehkamp.nl, the largest Dutch online department store. Search by keyword or category, filter by price, brand, rating, discount and stock, and get EAN, specifications, variants and reviews. Fashion, home, electronics and more.
Pricing
from $1.39 / 1,000 product listings
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share

Extract products from wehkamp.nl at scale, in a clean, consistent structure ready for price monitoring, market research, catalogue analysis and resale tooling. No API key required.
Why this scraper?
🎯 Built for wehkamp.nl
A dedicated Dutch scraper tuned for wehkamp.nl — its categories, price formats and currency (EUR), not a generic tool pointed at it.
💶 Structured pricing
Current price as a clean number in EUR, plus discounts and previous prices where the source shows them. Items without a published price return null, never a guess.
📦 Stock status
Availability on every record, so you can monitor stock and catch restocks.
🤝 Seller and condition
Seller details and item condition in structured fields, ready for filtering.
⭐ Review signals
Average rating and review count for every item that has them.
📄 Full item content
Complete description and title for every record, with a direct link back to the source.
🔁 Repost & change detection
Every record carries isRepost and changeStatus, so daily feeds return genuinely new items instead of reposted duplicates.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | "laptop" | Keyword to search on wehkamp.nl (e.g. "laptop", "nike schoenen"). Leave empty to use Start URLs or Category URLs instead. |
startUrls | array | (empty) | Wehkamp listing, search or category page URLs to scrape directly. Pagination is followed automatically. |
categoryUrls | array | (empty) | Wehkamp category/PLP URLs (e.g. https://www.wehkamp.nl/accessoires-brillen/). Same behaviour as Start URLs; provided separately for clarity. |
minPrice | integer | (empty) | Only return products priced at or above this amount, in euros. |
maxPrice | integer | (empty) | Only return products priced at or below this amount, in euros. |
brands | array | (empty) | Only return products from these brands (case-insensitive exact match, e.g. "Nike", "Samsung"). |
minRating | integer | (empty) | Only return products with an average rating at or above this value (0-5). |
onlyDiscounted | boolean | false | Return only products currently on sale (scratch price higher than the selling price). |
inStockOnly | boolean | false | Return only products that are currently in stock. |
excludeSponsored | boolean | false | Skip sponsored / promoted product placements. |
sortBy | string | "relevance" | Result ordering applied on the listing pages. |
maxItems | integer | 1000 | Maximum number of products to return across all URLs. Hard ceiling for the run. |
maxPagesPerUrl | integer | 20 | Maximum listing pages to follow per start/category/search URL (about 96 products per page). |
fetchDetails | boolean | false | Visit each product page to add description, EAN, specifications, colour variants, full image gallery and review statistics. Slower and billed per detail. |
maxResults | integer | 5 | Soft cap for quick test runs. Set to 0 to disable and use Max items instead. |
Output schema
Every field below is present on every record. Fields the source does not publish for a given item are returned as null rather than omitted.
| Field | Type | Description |
|---|---|---|
productNumber | string | Product number. |
title | string | Item title as published. |
brand | string | Brand as published. |
brandLine | string | Brand line. |
url | string | Direct link to the item. |
price | number | Current price (null when no price is published). |
scratchPrice | number | Scratch price. |
appPrice | number | App price. |
currency | string | Currency code of the price. |
onSale | boolean | On sale. |
discountPercentage | number | Discount percentage. |
rating | number | Average review rating (null when there are no reviews). |
reviewCount | number | Number of reviews on the source. |
inStock | boolean | true when the item is in stock. |
itemsInStock | number | Items in stock. |
availabilityText | string | Availability text. |
colorCount | number | Color count. |
isSponsored | boolean | Is sponsored. |
labels | array | Labels. |
imageUrl | string | Image url. |
sizes | array | Sizes. |
ean | string | EAN barcode where published. |
articleType | string | Article type. |
description | string | Full item description in plain text. |
descriptionMarkdown | string | Description markdown. |
color | string | Color. |
material | string | Material. |
materialComposition | string | Material composition. |
category | string | Category on the source. |
breadcrumbs | array | Breadcrumbs. |
variants | array | Variants. |
scrapedAt | string | With fetchDetails: true: |
source | string | Source. |
isRepost | boolean | true when the listing is a repost of an earlier ad (detected by content hash). |
subtitle | string | Subtitle. |
specifications.Merk | string | Merk. |
specifications.Merklijn | string | Merklijn. |
specifications.Stijlnaam | string | Stijlnaam. |
specifications.Kleur | string | Kleur. |
specifications.Materiaal samenstelling | string | Materiaal samenstelling. |
specifications.Materiaal buitenkant | string | Materiaal buitenkant. |
specifications.Materiaal voering | string | Materiaal voering. |
specifications.Sluiting | string | Sluiting. |
specifications.Leest | string | Leest. |
specifications.Hoogte schoen | string | Hoogte schoen. |
specifications.Hak- of zoolvorm | string | Hak- of zoolvorm. |
specifications.Uitneembaar voetbed | string | Uitneembaar voetbed. |
specifications.Materiaal binnenzool | string | Materiaal binnenzool. |
specifications.Materiaal buitenzool | string | Materiaal buitenzool. |
specifications.Eigenschappen zool | string | Eigenschappen zool. |
specifications.Leveranciers artikelnummer | string | Leveranciers artikelnummer. |
specifications.Leverancierskleur | string | Leverancierskleur. |
condition | string | Item condition as published (e.g. new, used). |
reviewStats.total | number | Total. |
reviewStats.averageRating | number | Average rating. |
Example record
{"productNumber": "17490759","title": "adidas Sportswear Technochaos 2000 mesh sneakers zwart/antraciet","brand": "adidas","brandLine": "adidas Sportswear","url": "https://www.wehkamp.nl/adidas-sportswear-technochaos-2000-mesh-sneakers-zwart-antraciet-17490759/","price": 51,"scratchPrice": 85,"appPrice": 51,"currency": "EUR","onSale": true,"discountPercentage": 40,"rating": 4,"reviewCount": 1,"inStock": false,"itemsInStock": 0,"availabilityText": "morgen in huis","colorCount": 0,"isSponsored": false,"labels": ["Sale"],"imageUrl": "https://images.wehkamp.nl/i/wehkamp/17490759_pb_01/adidas-sportswear-technochaos-2000-mesh-sneakers-zwart-antraciet-17490759.jpg","sizes": ["391","400","402","411"],"ean": "4068807093799","articleType": "Sneaker","description": "Deze adidas Sportswear sneaker is gebaseerd op de hardloopschoen Techonochaos 2000. De buitenkant is gemaakt van mesh met PU en de voering van mesh. Met vetersluiting, OrthoLite voetbed en platte zool …","descriptionMarkdown": "Deze adidas Sportswear sneaker is gebaseerd op de hardloopschoen Techonochaos 2000. De buitenkant is gemaakt van mesh met PU en de voering van mesh. Met vetersluiting, OrthoLite voetbed en platte zool …","color": "Zwart/antraciet","material": "Mesh","materialComposition": "Mesh-PU/voering: mesh/voetbed: EVA","category": "Sneakers","breadcrumbs": ["Shop","Herenmode","Schoenen","Sneakers"],"variants": [{"productNumber": "17490745","value": "Ecru/donkerblauw/platina","url": "https://www.wehkamp.nl/adidas-sportswear-technochaos-2000-mesh-sneakers-ecru-donkerblauw-platina-17490745/","status": "normal","imageUrl": "https://images.wehkamp.nl/i/wehkamp/17490745_pb_01/adidas-sportswear-technochaos-2000-mesh-sneakers-ecru-donkerblauw-pla …"},{"productNumber": "17532110","value": "Ecru/donkergroen","url": "https://www.wehkamp.nl/adidas-sportswear-technochaos-2000-mesh-sneakers-ecru-donkergroen-17532110/","status": "normal","imageUrl": "https://images.wehkamp.nl/i/wehkamp/17532110_pb_01/adidas-sportswear-technochaos-2000-mesh-sneakers-ecru-donkergroen-ecr …"},{"productNumber": "17490758","value": "Grijsgroen/wit/zilver","url": "https://www.wehkamp.nl/adidas-sportswear-technochaos-2000-mesh-sneakers-grijsgroen-wit-zilver-17490758/","status": "normal","imageUrl": "https://images.wehkamp.nl/i/wehkamp/17490758_pb_01/adidas-sportswear-technochaos-2000-mesh-sneakers-grijsgroen-wit-zilve …"},{"productNumber": "17532108","value": "Wit/rood/platina","url": "https://www.wehkamp.nl/adidas-sportswear-technochaos-2000-mesh-sneakers-wit-rood-platina-17532108/","status": "normal","imageUrl": "https://images.wehkamp.nl/i/wehkamp/17532108_pb_01/adidas-sportswear-technochaos-2000-mesh-sneakers-wit-rood-platina-wit …"}],"scrapedAt": "2026-07-02T16:21:05.513Z","source": "detail","isRepost": false,"subtitle": "adidas Sportswear","specifications": {"Merk": "adidas","Merklijn": "adidas Sportswear","Stijlnaam": "Technochaos","Kleur": "Zwart/antraciet","Materiaal samenstelling": "Mesh-PU/voering: mesh/voetbed: EVA","Materiaal buitenkant": "Mesh met PU","Materiaal voering": "Mesh","Sluiting": "Veter","Leest": "Normaal","Hoogte schoen": "Laag","Hak- of zoolvorm": "Platte zool","Uitneembaar voetbed": "Ja","Materiaal binnenzool": "EVA","Materiaal buitenzool": "Rubber","Eigenschappen zool": "Dempend","Leveranciers artikelnummer": "JR7229","Leverancierskleur": "CBLACK/CBLACK/IRONMT"},"condition": "NewCondition","reviewStats": {"total": 1,"averageRating": 4}}
Examples
Search for jurk:
{"searchQuery": "jurk","maxItems": 100}
Cap the price:
{"searchQuery": "jurk","maxItems": 100,"maxPrice": 24.5}
Scrape a specific search URL:
{"startUrls": [{"url": "https://www.wehkamp.nl/elektronica/"}],"maxItems": 200}
Daily monitoring (run on a schedule):
{"searchQuery": "jurk","maxItems": 500}
Schedule this input to run once a day in the Apify Scheduler to track prices, stock and new items over time.
💰 Pricing
$1.39 per 1,000 results — you only pay for successfully retrieved products. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.14 |
| 1,000 | ~$1.39 |
| 10,000 | ~$13.90 |
| 100,000 | ~$139 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate further, down to $1.39 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | under 1 minute |
| 1,000 results | 2–4 minutes |
| 10,000 results | 20–35 minutes |
Known limitations
- Some fields (brand, condition, shipping) are only returned when the seller or source publishes them — expect
nullon a share of records. - Prices and stock change constantly; records reflect the moment of scraping.
- Very large result sets are bounded by the source's own paging limits.
- Items can sell or be withdrawn at any time, so a small share of URLs may expire shortly after scraping.
Technical details
- Source: wehkamp.nl
- Coverage: everything the public search exposes, filterable via the input parameters above
- Retry: automatic retry on network errors with exponential backoff
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl