vanHaren Scraper — NL & BE Shoe Prices & Stock avatar

vanHaren Scraper — NL & BE Shoe Prices & Stock

Pricing

from $1.20 / 1,000 result scrapeds

Go to Apify Store
vanHaren Scraper — NL & BE Shoe Prices & Stock

vanHaren Scraper — NL & BE Shoe Prices & Stock

Scrape product data from vanharen.nl and vanharen.be, the Dutch/Belgian shoe retailer. Extract names, brands, prices, sizes, stock levels, and images via vanHaren's own product search API.

Pricing

from $1.20 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Share

vanHaren Scraper

Pull product data from vanharen.nl and vanharen.be, the Dutch/Belgian shoe retailer and part of the Deichmann Group. This scraper pulls directly from vanHaren's own product search API, so it returns clean, structured data -- brand, price, per-size stock, images -- without any HTML parsing.

How to scrape Van Haren data

Give the actor a search term in Dutch (e.g. "sneaker", "laarzen", "sandalen") and pick a country (NL for vanharen.nl or BE for vanharen.be). It queries vanHaren's search endpoint directly, paginating until it hits maxResults or runs out of matching products. There's nothing else to configure -- no category URLs to hunt down, no pagination logic to babysit.

Under the hood, vanHaren's storefront (built on the same SCAYLE headless-commerce platform as sibling brands Deichmann and Ochsner Sport) calls an unauthenticated JSON API for every search and category browse. This actor talks to that same API directly instead of rendering pages and parsing HTML, which makes it faster and far less likely to break when vanHaren tweaks its frontend markup.

If you don't provide any input, it defaults to searching "sneaker" on the Netherlands site as a demo.

Input

FieldTypeDescription
countrystring"NL" (vanharen.nl) or "BE" (vanharen.be). Default: "NL"
searchQuerystringSearch term, in Dutch (e.g. "laarzen", "sandalen", "pumps")
maxResultsintegerCap on number of products returned (default: 100)
proxyConfigurationobjectApify proxy settings. vanHaren's product API has no anti-bot protection, so the default Apify proxy is sufficient -- no residential proxy needed

What you get back

FieldTypeExample
namestring"bugatti Sneaker Zwart"
brandstring"bugatti"
pricenumber59.99
originalPricenumber | null59.99 (only set when the item is discounted)
currencystring"EUR"
discountstring | null"-50%"
skustring"02649128"
productIdstring"m02649128_02649135"
inStockboolean | nulltrue (null only if the source omits stock data)
stockLevelinteger | null96 (total units across all sizes)
urlstringFull product page URL
imageUrlstringPrimary product image
imageUrlsarrayAll product images
categorystring | null"Lage sneaker"
countrystring"NL" or "BE"
sizesarrayPer-size stock: [{"size": "40", "inStock": true, "stockQuantity": 10}]
scrapedAtstringISO timestamp

Sample output

{
"name": "bugatti Sneaker Zwart",
"brand": "bugatti",
"price": 59.99,
"originalPrice": null,
"currency": "EUR",
"discount": null,
"sku": "02649128",
"productId": "m02649128_02649135",
"inStock": true,
"stockLevel": 96,
"url": "https://www.vanharen.nl/nl-nl/p/bugatti-sneaker-zwart-148223",
"imageUrl": "https://asset.vanharen.nl/images/f_auto,q_auto,w_800/02649128_1/img",
"imageUrls": [
"https://asset.vanharen.nl/images/f_auto,q_auto,w_800/02649128_1/img",
"https://asset.vanharen.nl/images/f_auto,q_auto,w_800/02649128_2/img"
],
"category": "Lage sneaker",
"country": "NL",
"sizes": [
{ "size": "40", "inStock": true, "stockQuantity": 10 }
],
"scrapedAt": "2026-08-24T19:49:24.586Z"
}

Use cases

  • Price monitoring -- track vanHaren's own price and discount changes over time on the styles you sell against, in both the Dutch and Belgian markets.
  • Stock tracking -- sizes gives you per-size availability, useful for spotting which sizes sell out fastest.
  • Assortment research -- see which brands and shoe categories vanHaren is pushing, and at what price points, in NL versus BE.
  • Market comparison -- vanHaren's budget-to-mid positioning makes it a useful reference point when benchmarking footwear pricing across the Dutch and Belgian markets.

Coverage

v1 covers both vanHaren storefronts: the Netherlands site (vanharen.nl/nl-nl) and the Belgium site (vanharen.be/nl-be), selected via the country input. Both price in EUR. vanHaren is part of the Deichmann Group and shares the same SCAYLE storefront platform as Deichmann and Ochsner Sport, so the underlying data quality and update cadence match those sibling scrapers.

Performance and cost

The scraper hits vanHaren's JSON API directly -- no browser rendering, no HTML parsing -- so it's fast. A run of 100 products typically completes in well under 10 seconds and uses a fraction of a compute unit. You're billed per actor start plus per result scraped; check the current per-event pricing on this actor's page before running at scale. Your run's usage cost only settles after the run reports SUCCEEDED -- checking cost mid-run will undercount it.

Limitations

  • Dutch language search only (matches vanHaren's own on-site search in both NL and BE). It does not accept direct product or category URLs.
  • Ratings and review counts aren't exposed by the search API, so they're not included in the output.
  • The API's X-Charybdis header (a shop-configuration blob, one per country) was harvested from a live browsing session. It's static shop config, not a rotating secret, but if vanHaren ever regenerates it, requests will start failing until the actor is updated.

If you're covering Benelux fashion and footwear retail more broadly, also check out:

Support

Found an issue or need a different locale covered? Open an issue on this actor's Apify Store page and we'll take a look.