Skip to content

bol.com Scraper

Try for free

Scrape bol.com (NL & BE) by keyword, search, category or product URL. Get price, list price, discount, EAN, brand, rating, reviews count, seller (bol or partner), delivery promise, specs, images, variants and other sellers' offers.

🛒 bol.com Scraper

Scrape products from bol.com, the biggest online shop in the Netherlands and Belgium. Search by keyword or paste search, category, brand and product URLs, and get a clean record per product with price, list price, discount, rating, seller (bol or partner), delivery promise and image. You can also open every product page for EAN, MPN, full specifications, all images, variants, manufacturer details, reviews and other sellers' offers. No login, no browser, and fast: a 20-product search finishes in seconds.

✨ Why use bol.com Scraper?

  • ⚡ Fast: reads the same data bol.com's own pages load, without a browser. 20 products in about 7 seconds, 10 full product pages in about 10 seconds.
  • 💶 Cheap: $1 per 1,000 products from listings, $6 per 1,000 full product records.
  • 🔎 Every way in: keywords, search pages, category pages (with filters), brand pages, product URLs or bare product ids, for bol.com NL and BE (Dutch and French).
  • 🎛️ Filters built in: sort order, price range, minimum rating, brands, only products sold by bol, sponsored on/off.
  • 🧾 Rich records: EAN, MPN, list price and discount, seller rating, delivery date, quantity discounts, unit price, specifications, variants, manufacturer address and email.
  • 📦 Beyond the page limit: bol.com stops a search after 10 pages; the scraper splits big searches into price ranges to reach more products.

🎯 Use cases

  • 📉 Price monitoring: track prices, list prices and discounts of your products or your competitors' every day.
  • 🏷️ Assortment and EAN matching: match bol.com listings to your catalogue by EAN and MPN.
  • 🤝 Seller research: see which products are sold by bol and which by partners, with partner ratings and every competing offer.
  • 📊 Market research: compare brands, ratings and review counts across a category.
  • 🚚 Delivery and stock checks: watch delivery promises ("morgen in huis") and stock across products.
  • 🧪 Catalogue building: export specifications, descriptions and images for product data work.

🚀 How to use

  1. Type one or more search keywords (for example koptelefoon), or paste bol.com URLs: search pages, category pages, brand pages or product pages.
  2. Set Max products per search or URL (default 20, 0 = everything the listing offers).
  3. Optionally turn on Open every product page for full details, and add filters (sort, price, rating, brands).
  4. Click Start and download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
searchQueriesKeywords to search on bol.com, one search each.
startUrlsSearch, category, brand or product URLs (NL or BE). Filters and sort in the URL are kept. Bare product ids work too.
maxItemsMax products per keyword or list URL (0 = all).
scrapeProductDetailsOpen each product page for the full record.
countryShop for keyword searches: nl, be or be-fr.
sortRELEVANCE, POPULARITY, PRICE_ASC, PRICE_DESC, RATING, RELEASE_DATE, WISHLIST.
minPrice / maxPrice / minRating / brandsFilters applied by bol.com itself.
onlySoldByBol / includeSponsored / usePaginationKeep only bol's own offers, skip sponsored products, first page only.
includeOffers / includeReviewsAdd every seller's offer, add the reviews shown on the product page.
{
  "searchQueries": ["koptelefoon"],
  "startUrls": ["https://www.bol.com/nl/nl/l/koptelefoons/33078/"],
  "maxItems": 20,
  "scrapeProductDetails": false,
  "sort": "PRICE_ASC",
  "minPrice": 20,
  "maxPrice": 150,
  "brands": ["JBL", "Sony"]
}

📤 Output

One row per product. List records (product pages off) include:

FieldExample
product_id, name, url, brand9300000151669587, JBL Live 770NC ..., product URL, JBL
price, list_price, discount_percent, currency85, 179.99, 52.8, EUR
in_stock, availability_note, delivery_datetrue, Op voorraad. Voor 23:59 uur besteld, morgen in huis, 2026-10-16
seller_name, seller_id, sold_by_bolbol, 0, true
rating_value, review_count4.6, 112
category, breadcrumbs, main_image, imagescategory path and image URLs
badges, highlights, quantity_price_tiers, select_deal, sponsoreddeal labels, key specs, multi-buy prices, bol Select price, ad flag
search_query, source_url, page, position, scraped_atwhere the product was found

With Open every product page on, each record adds gtin (EAN), mpn, sku, breadcrumb_urls, images (all), videos, description, description_html, attributes (all specifications), specification_groups, color, size, weight, material, model, manufacturer_name, manufacturer_address, manufacturer_email, warranty, package_quantity, unit_price, estimated_delivery, shipping_cost, seller_rating_value, offers_count, rating_distribution, variants, series, sold_last_month, canonical_url, and optionally offers and reviews.

{
  "product_id": "9300000008050912",
  "name": "Skullcandy Crusher EVO – Draadloze Koptelefoon Bluetooth – Hoofdtelefoon draadloos – Zwart",
  "url": "https://www.bol.com/nl/nl/p/skullcandy-crusher-evo-over-ear-bt-true-black/9300000008050912/",
  "brand": "Skullcandy",
  "price": 127,
  "list_price": 189.99,
  "list_price_label": "Adviesprijs",
  "discount_percent": 33.2,
  "currency": "EUR",
  "in_stock": true,
  "availability_note": "Op voorraad. Voor 23:59 uur besteld, morgen in huis",
  "estimated_delivery": "Op voorraad. Voor 23:59 uur besteld, morgen in huis",
  "delivery_date": "2026-10-16",
  "seller_name": "bol",
  "seller_id": "0",
  "sold_by_bol": true,
  "rating_value": 4.5,
  "review_count": 164,
  "gtin": "0810015587249",
  "mpn": "S6EVW-N740",
  "category": "Koptelefoons",
  "breadcrumbs": ["Elektronica", "Audio & Hifi", "Audio voor jou", "Koptelefoons & Accessoires", "Koptelefoons"],
  "main_image": "https://media.s-bol.com/P9NZy1A48MB1/xKPO9z/1145x1200.jpg",
  "color": "Zwart",
  "weight": "374.2 g",
  "manufacturer_name": "Skullcandy Inc.",
  "offers_count": 2,
  "attributes": {"Merk": "Skullcandy", "Model": "Crusher EVO", "EAN": "0810015587249", "Bluetooth versie": "Bluetooth 5.3"},
  "variants": [{"product_id": "9300000008050911", "attributes": {"Colour": "Grijs"}, "price": 129.99, "in_stock": true}],
  "offers": [
    {"seller_name": "bol", "price": 127, "condition": "new", "delivery_date": "2026-10-16"},
    {"seller_name": "Example Partner BV", "seller_rating": 9.1, "price": 140, "condition": "new", "delivery_date": "2026-10-19"}
  ],
  "reviews": [
    {"rating": 5, "title": "Echt een aanrader", "text": "Sample review text.", "pros": ["Bass", "Accu"], "date": "2025-02-28T14:19:15Z", "author": "Sample reviewer", "verified_purchase": true}
  ],
  "details_loaded": true
}

💰 Pricing

Pay per product, no start fee:

  • Product from a listing: $1.00 per 1,000 ($0.001 each).
  • Full product record (product page opened): $6.00 per 1,000 ($0.006 each). Each product is charged once, as one or the other.

Example: 1,000 products from a search cost $1.00, or $6.00 with full product pages. Platform usage (compute and residential proxy traffic) is billed separately and is small: in our test runs about $0.01 per 1,000 listing products and about $0.25 per 1,000 full product records. Set a maximum total charge on the run if you want a hard budget; the scraper stops cleanly when it is reached.

❓ FAQ

Is it legal to scrape bol.com? The scraper reads public product pages only, the same information any visitor sees, without logging in. Check bol.com's terms and the laws in your country for your use case, and don't collect personal data you don't need.

Do I need a bol.com account or a proxy? No account. A residential proxy (Netherlands) is set by default because bol.com blocks datacenter IPs; you don't have to configure anything.

How many products can I get? Category pages can be read to the end (thousands of products). bol.com shows at most 10 pages per search, so for bigger searches the scraper splits the search into price ranges automatically.

Why is a field empty? bol.com doesn't show it for that product (for example no list price, no seller rating for bol's own offers, or no EAN for some digital products). Detail-only fields need Open every product page.

Can I schedule it or use the API? Yes. Save your input as a task, schedule it daily for price monitoring, and fetch results via the API or webhooks.

Does it work for Belgium? Yes: paste bol.com/be URLs or set Shop to Belgium (Dutch or French) for keyword searches.

⚠️ Limits

  • Reviews: only the reviews bol.com shows on the product page (about 6 per product), not the full review history.
  • Prices and delivery promises are those shown to an anonymous visitor in the chosen shop; personal or bol Select member prices are shown only as select_price when bol.com displays them.
  • Brand names in brands must match bol.com's brand filter on that listing; unknown brands are skipped with a warning.
  • Price-range splitting reaches far beyond the 10-page search limit, but bol.com's own result counts are estimates, so very large searches may not return every single product.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.