bol.com Scraper - Products, Prices, Sellers, EAN & Reviews avatar

bol.com Scraper - Products, Prices, Sellers, EAN & Reviews

Pricing

from $1.62 / 1,000 product delivereds

Go to Apify Store
bol.com Scraper - Products, Prices, Sellers, EAN & Reviews

bol.com Scraper - Products, Prices, Sellers, EAN & Reviews

Scrape bol.com (Netherlands and Belgium) by keyword, category or product link: price, reference price, discount, Select price, seller, delivery date, rating, review count, categories, badges and sponsored flag. Optional product pages add EAN and full specs. Error rows are free.

Pricing

from $1.62 / 1,000 product delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 days ago

Last modified

Share

bol.com Scraper: products, prices, sellers, delivery, ratings and EAN from bol.com NL and BE

bol.com Scraper collects products from bol.com, the largest online store in the Netherlands and Belgium, without an account or cookies. Give it keywords, category links or product links and every product comes back as one clean row: title, brand, current price, reference price and discount, bol Select price, who sells it (bol itself or a marketplace partner), delivery promise and date, rating and number of reviews, full category path, image, description, key specs, awards and whether the listing is a sponsored ad.

Switch on product pages and each row also gets the EAN barcode, the complete specification table, the star distribution, the review topics bol.com summarises, the seller rating, shipping cost and every product image.

It is used for price monitoring and repricing on bol.com, assortment and competitor research for marketplace sellers, EAN matching against your own catalogue, tracking which brands buy sponsored positions, and building product datasets for the Dutch and Belgian market.

At a glance

WhatPrice
Product delivered from a search or category pageUS$ 1.90 per 1,000 products (US$ 0.0019 each)
Detailed product (product page opened: EAN, full specs)US$ 6.00 per 1,000 products (US$ 0.006 each, instead of the one above)
Run startUS$ 0.005 per run
  • 500 airfryers from one search = US$ 0.96. The same 500 with EAN and specifications = US$ 3.01.
  • Error rows, duplicates, filtered products and skipped sponsored products are never charged. maxItems is a hard cap, and a spending limit set on the run stops it cleanly with everything delivered so far.
  • The proxy is included in the price.

Quick start

{
"searchTerms": ["airfryer"],
"maxItems": 100
}

Cheapest first, Belgian store, no ads:

{
"searchTerms": ["lego", "robot vacuum"],
"country": "be-nl",
"sortBy": "price_asc",
"skipSponsored": true,
"maxItems": 200
}

A category with the full product page for each product (EAN and specifications):

{
"startUrls": [{ "url": "https://www.bol.com/nl/nl/l/airfryers/18336/" }],
"scrapeDetails": true,
"maxItems": 50
}

Product links work too: paste https://www.bol.com/nl/nl/p/<name>/<id>/ and the Actor returns that product with every detail. Search links keep any filter you set on bol.com (brand, price range, delivery time, rating).

Input

FieldWhat it does
searchTermsKeywords, one per line. Each keyword is one bol.com search. Dutch or English both work (airfryer, stofzuiger, iphone 16).
startUrlsbol.com links: search pages (/s/?searchtext=...), category pages (/l/<name>/<id>/) or product pages (/p/<name>/<id>/), from /nl/nl/, /be/nl/ or /be/fr/.
countryStore for the keyword searches: nl (default), be-nl or be-fr. Links keep their own store.
sortByrelevance (default), popularity, price_asc, price_desc, release_date, rating, wishlist. The same options as the sort menu on bol.com.
scrapeDetailsOpen each product page to add EAN, all specifications, star distribution, review topics, seller rating, shipping cost and all images (default off).
skipSponsoredLeave out sponsored products (default off).
minPrice / maxPriceKeep only products in this price range, in EUR.
onlyNewFor schedules: skip products this search already delivered in earlier runs of your account.
maxItemsCap for the whole run (default 50; 0 = no cap).
proxyConfigurationApify residential proxy in the Netherlands by default. bol.com refuses most other IPs.

searchQuery, keyword, queries, urls, maxResults and limit are accepted too, so inputs written for other bol.com tools keep working.

Output

FieldDescription
productIdbol.com product id (the number at the end of the product link)
title, urlProduct title and clean product link
brand, brandUrlBrand name and its bol.com brand page
price, currencyCurrent price of the best offer, in EUR
referencePrice, referencePriceTypePrice bol.com compares against (Adviesprijs = recommended retail price, Meestal = usual price)
discountPercentSaving versus the reference price, in percent
selectPrice, selectDiscountPercentPrice and discount for bol Select members, when the product has one
sellerName, sellerId, isSoldByBolWho sells the best offer: bol itself (sellerId 0) or a marketplace partner company
availabilityInStock or the stock state bol.com publishes
deliveryText, deliveryDate, deliveredWithin48HoursDelivery promise as shown on the site, the latest delivery date and the 48-hour flag
isScarce, offerTypeLow-stock flag and offer type
secondHandPriceCheapest second-hand offer, when there is one
rating, reviewCountAverage stars (1 to 5) and number of reviews
categories, mainCategoryEvery category path the product is listed in, and the main one
imageUrl, description, keySpecsMain image, description as plain text, and the short spec highlights shown on the list
awards, promotionsBadges such as "Keuze van bol" or consumer test awards, and active deals, cashback or Select labels
sustainabilityLabelsSustainability labels bol.com shows (for example PFAS-free)
isSponsored, sponsoredByWhether the row is a sponsored ad, and the advertiser company
familyId, offersUrlProduct family (colour/size variants) and the page with all offers
position, pageRank of the product on the results page and the page number
store, sourceQueryStore (nl-nl, be-nl, be-fr) and the keyword or link that found it

With scrapeDetails (and for product links) each row also has:

FieldDescription
eanEAN / GTIN barcode
specificationsEvery specification as name: value (dimensions, weight, power, material, age, ...)
descriptionFullFull description from the product page
imagesURLs of all product images in the largest size
ratingDistributionNumber of reviews with 5, 4, 3, 2 and 1 stars
reviewTopicsTopics bol.com extracts from the reviews, with mentions, positive and negative counts and bol.com's summary
sellerRating, sellerTopRetailerMarketplace seller score (out of 10) and top-retailer flag (empty when bol sells it)
shippingCost, offerCountShipping cost of the best offer and number of offers on the product

Example (real row, 16 Oct 2026, trimmed)

{
"type": "product",
"productId": "9300000233139234",
"title": "Ninja Dubbele Airfryer XXL - 9.5 L - Nieuw 2026 Model - 40 tot 240 Graden - 2470 W Vermogen - Dual Zone Technologie - DZ400EU",
"url": "https://www.bol.com/nl/nl/p/ninja-dubbele-airfryer-xxl-9-5-liter-twee-kookvakken-2470-watt-dual-zone-technologie-dz400eu/9300000233139234/",
"brand": "Ninja",
"price": 161.37,
"currency": "EUR",
"referencePrice": 229.99,
"referencePriceType": "Adviesprijs",
"discountPercent": 29.8,
"sellerName": "bol",
"isSoldByBol": true,
"availability": "InStock",
"deliveryText": "Op voorraad. Voor 23:59 uur besteld, maandag in huis",
"deliveryDate": "2026-10-19",
"rating": 4.7,
"reviewCount": 801,
"mainCategory": "Airfryers",
"keySpecs": ["Max. bakcapaciteit 2800 g", "Receptenboek inbegrepen", "Inhoud: 9.5 l"],
"isSponsored": true,
"sponsoredBy": "Elmarc B.V.",
"position": 1,
"page": 1,
"store": "nl-nl",
"ean": "0622356322676",
"specifications": { "Inhoud": "9.5 l", "Product hoogte": "32.50 cm", "Product gewicht": "12.4 kg" },
"ratingDistribution": { "5": 651, "4": 109, "3": 20, "2": 12, "1": 9 },
"reviewTopics": [
{ "topic": "schoonmaken", "mentions": 549, "positive": 548, "negative": 1,
"summary": "Kopers zijn uiterst tevreden over het schoonmaakgemak; de bakken, roosters en anti-aanbaklaag laten zich vlot afwassen of kunnen in de vaatwasser." }
],
"shippingCost": 0.0,
"offerCount": 3,
"scrapedAt": "2026-10-17T01:11:57Z"
}

Texts come in the language of the store (Dutch on /nl/nl/ and /be/nl/, French on /be/fr/).

Errors you may see

Every problem becomes one free row with type: "error", an errorCode and a readable error, so the run never ends with an empty dataset and no explanation.

errorCodeMeaning
INVALID_INPUTA field has a value the Actor cannot use (for example an unknown sortBy).
INVALID_URLThe link is not a bol.com search, category or product link.
NO_RESULTSbol.com has no product for this keyword and filters.
NOT_FOUNDThe product or category link no longer exists.
BLOCKEDbol.com refused every attempt for this source; running again a few minutes later usually works.

Integrations, scheduling and AI agents

  • Schedules: run a search every morning with onlyNew on to receive only products that appeared since the last run, or without it to log prices day by day for repricing.
  • Export: download the dataset as JSON, CSV, Excel or XML, or read it from the Apify API (/datasets/{id}/items?format=csv).
  • Make, n8n and Zapier: start the Actor and pick up the rows with the official Apify integrations, then push them to Google Sheets, Airtable, a database or Slack.
  • Webhooks: call your own endpoint when a run finishes.
  • AI agents: the Actor works through the Apify MCP server, so Claude, ChatGPT and other MCP clients can call it to look up bol.com prices, sellers or EANs on demand.

FAQ

Do I need a bol.com account? No. The Actor reads the same public pages any visitor sees.

Why a residential proxy? bol.com refuses most visitors from outside the Benelux, so the default proxy setting uses Apify residential IPs in the Netherlands. The proxy is included in the price.

How many products can one search return? bol.com shows up to about 10 pages per keyword search (around 300 products, more for some categories). For more, split the search by category link or by price range with minPrice and maxPrice.

Are sponsored products included? Yes, marked with isSponsored: true and the advertiser company in sponsoredBy. Turn on skipSponsored to leave them out; skipped ads are not charged.

Why do some products have no EAN? The EAN is on the product page only. Turn on scrapeDetails or paste the product links.

Does it return reviewer names? No. It returns review counts, the star distribution and the topic summaries bol.com writes itself, never the name, age or region of the people who wrote the reviews.

Can I monitor the Belgian store? Yes, set country to be-nl or be-fr, or paste /be/nl/ and /be/fr/ links.

Limitations

  • Prices, delivery promises and sellers are the ones bol.com shows to a visitor in the Netherlands (or Belgium for /be/ links) at the time of the run; Select prices are shown as published, without logging in.
  • bol.com caps keyword searches at about 10 pages. Category links and price ranges help reach more of a large category.
  • Only the best offer of each product comes with the list; the number of offers and the shipping cost need scrapeDetails.
  • Text fields stay in the store's language; nothing is translated.
  • The seller rating is empty when bol itself sells the product.

Changelog

  • 16 Oct 2026: first version. Keyword, category and product links for bol.com NL and BE, seven sort orders, price filters, sponsored flag and filter, product pages with EAN and full specifications, onlyNew for schedules, free error rows.