Bol Listings Scraper
Pricing
from $3.00 / 1,000 product listings
Bol Listings Scraper
The Bol.com Listings Scraper extracts product listings and detail pages from bol.com (NL/BE), capturing titles, prices, ratings, brands, sellers, and per-variant data including EAN-13, color, weight, and buy-box offers — ideal for price tracking, repricing, and competitive analysis.
Pricing
from $3.00 / 1,000 product listings
Rating
0.0
(0)
Developer
FalconScrape
Maintained by CommunityActor stats
1
Bookmarked
37
Total users
4
Monthly active users
3 days ago
Last modified
Categories
Share
🛍️ Bol.com Scraper: Product Prices, EANs and All Seller Offers
Export bol.com search, category, brand and product pages as clean JSON, CSV or Excel. The Bol.com Listings Scraper returns each product's price, rating, review count, brand and delivery promise, and on request the full product page with every variant's EAN, color and weight plus all seller offers (new, used and refurbished). Use it as a simple bol API alternative, a bol.com price tracker, or an EAN lookup for the Dutch and Belgian shops.
🎯 Use Cases
- Bol.com seller monitoring: see every seller (verkoper) offering the same product, with price, shipping, seller rating and who holds the buy box, to plan your own repricing.
- EAN code lookup on bol.com: paste a list of EAN barcodes and get the exact matching product, its variants and all current offers for the NL or BE shop.
- Bol.com price tracker: schedule a daily run on your searches or products and build the price history (prijshistorie) bol.com doesn't show.
- Refurbished and second-hand (tweedekans) offers: compare used and refurbished prices, condition grades and seller comments against new stock.
- Competitor and category research: pull whole search results or category pages with prices, ratings, review counts, brands and sponsored flags before you launch a product.
- Catalog and feed building: turn bol.com products into a feed with EAN-13, brand, color, weight, category path and images.
✨ Features
- Listing cards: title, price, currency, rating, review count, brand and brand ID, image, key specs, delivery promise, sponsored flag and the seller shown on the card.
- Product pages with every variant: EAN-13 (ISBN-13 for books), color, weight in grams, brand, series (model), price, condition and buy-box seller for each variant, plus the category path and rating summary.
- All seller offers per product: new, used and refurbished offers with price, shipping, total price, delivery text, latest delivery date, seller rating, top-seller flag, condition grade and the seller's condition comment, plus bol's own per-condition counts.
- Completeness check:
offersCompleteistrueonly when every offer page was read and the count matches bol's own per-condition counts. - EAN lookup: each barcode is confirmed against the exact product, never a sibling variant. EANs with no match return a free
unresolvedrecord. - Netherlands and Belgium: scrape
bol.com/nl/nl/orbol.com/be/nl/. The same product often has different sellers and prices in each country. - Search, category, brand, series and product URLs: one per line, many per run, up to bol's 256-page limit per listing.
- No duplicates: sponsored products that repeat on every results page are saved and billed once.
- Spend cap:
maxItemsstops the run at the number of records you want to pay for, and the run also stops at your maximum cost per run.
🛠️ How It Works
- Choose your input: search keywords, pasted bol.com URLs (search, category
/l/, brand/pb/, series/serie/or product/p/pages) or a list of EAN barcodes. Pick the Netherlands or Belgium shop. - Choose the depth: leave Visit product detail pages off for fast listing cards, or turn it on for full product records. Add Include all seller offers to attach every seller's offer to each product.
- Run the scraper and download the results as JSON, CSV or Excel, or pull them through the API.
⚙️ Input
| Field | What it does |
|---|---|
| Start URLs | bol.com URLs: search (/s/), category (/l/), brand (/pb/), series (/serie/) or product (/p/) pages on bol.com/nl/nl/ or bol.com/be/nl/. A URL with ?page=3 starts at page 3. |
| Search queries | Keywords as you would type them on bol.com. Each becomes one search on the selected shop. |
| EANs | EAN/GTIN barcodes, 8–14 digits, as text so leading zeros survive. Requires Visit product detail pages. |
| Country shop | nl (Netherlands) or be (Belgium). Default nl. |
| Max items | Maximum records saved (and charged) across the whole run. Default 50; 0 = unlimited. |
| Visit product detail pages | Use listings only to find products and save one full product record per product. Default off. |
| Include all seller offers | Attach every seller offer of the selected product to its record. Requires Visit product detail pages. No extra charge per offer. Default off. |
| Max offer pages per product | Safety cap on seller-offer pages (10 offers each). Default 5, up to 50. |
With none of Start URLs, Search queries or EANs, the run searches for harry potter boek as an example.
All seller offers for one EAN on bol.com NL:
{"eans": ["5702017583488"],"country": "nl","includeProductDetails": true,"includeSellerOffers": true}
Listing cards for two searches on bol.com BE:
{"searchQueries": ["koptelefoon", "lego"],"country": "be","maxItems": 200}
💰 Pricing
Pay only for the records you get. No monthly rental. Which event you pay for depends on Visit product detail pages; one run uses one or the other.
| Event | Price | What you get |
|---|---|---|
| Product listing | $0.003 per card ($3.00 per 1,000) | One listing card from a search, category, brand or series page |
| Item detail | $0.01 per product ($10.00 per 1,000) | One full product record with all variants, plus all seller offers when turned on |
| Actor start | $0.00005 per run | Charged once when the run starts |
Examples:
- 50 listing cards (the default) = $0.15
- 1,000 listing cards = $3.00
- 100 EAN lookups with all seller offers = $1.00 (unresolved EANs are free)
Seller offers are included in the item detail price: one charge per product record, never per offer. Set Max items to cap the run and your bill.
📊 Sample Output Data
A product record from an EAN lookup with all seller offers (description and offers trimmed):
{"type": "product","productGroupId": "9300000157956429","name": "LEGO Botanicals Rozenboeket Decoratief Bloemen Bouwpakket uit de Botanical Collection 10328","description": "LEGO Botanicals Rozenboeket. Type product: Bouwpakket, Aanbevolen leeftijd (min): 18 jaar…","imageUrl": "https://media.s-bol.com/JRpEMYLx2602/zR2B6m/1200x1173.jpg","rating": 4.8,"reviewCount": 150,"bestRating": 5,"lowPrice": 39.99,"highPrice": 39.99,"offerCount": 1,"priceCurrency": "EUR","category": [{ "name": "Speelgoed", "url": "https://www.bol.com/nl/nl/l/speelgoed/7934/", "position": 1 },{ "name": "Bouwen & Constructie", "url": "https://www.bol.com/nl/nl/l/bouwen-constructie/10462/", "position": 2 },{ "name": "Bouwsets", "url": "https://www.bol.com/nl/nl/l/bouwsets/20001/", "position": 3 }],"variants": [{"productId": "9300000157956429","name": "LEGO Botanicals Rozenboeket Decoratief Bloemen Bouwpakket uit de Botanical Collection 10328","imageUrl": "https://media.s-bol.com/JRpEMYLx2602/zR2B6m/1200x1173.jpg","imageWidth": 1200,"imageHeight": 1173,"color": "Meerkleurig","gtin13": "5702017583488","weightGrams": null,"brandName": "LEGO","brandUrl": "https://www.bol.com/nl/nl/pb/lego/4648554/","modelName": "LEGO Botanicals","modelUrl": "https://www.bol.com/nl/nl/serie/lego-botanicals/9700000000009755/","price": 39.99,"priceCurrency": "EUR","condition": "NewCondition","availability": "InStock","sellerName": "bol"}],"url": "https://www.bol.com/nl/nl/p/lego-icons-rozenboeket-10328/9300000157956429/","domain": "nl","scrapedAt": "2026-09-22T11:50:49.548Z","ean": "5702017583488","selectedProductId": "9300000157956429","sellerOfferCount": 7,"sellerOfferCounts": { "new": 7, "used": 0, "refurbished": 0 },"offersComplete": true,"offersIncompleteReason": null,"offersSourceUrl": "https://www.bol.com/nl/nl/prijsoverzicht/lego-icons-rozenboeket-10328/9300000157956429/?sort=price&sortOrder=asc","sellerOffers": [{"offerId": "79d170d5-1796-4efe-a16f-2c8f7af3a9cf","sellerId": "1651123","sellerName": "Multiplaza Nederland","sellerRating": 8.6,"topSeller": false,"condition": "new","conditionGrade": null,"conditionComment": null,"price": 54.75,"currency": "EUR","shipping": 0,"totalPrice": 54.75,"deliveryDescription": "Op voorraad. Voor 16:00 uur besteld, morgen in huis","latestDeliveryDate": "2026-09-23","deliveredWithin48Hours": true,"isBuyBox": false,"selectPrice": null}]}
description (on the product and each variant) is plain text, one line per paragraph or bullet. selectedProductId is the exact product (variant) the offers belong to; variants lists every variant in the product group. offerCount comes from the product page itself, while sellerOfferCount counts all sellers' offers. conditionGrade is set for used (AS_NEW, GOOD, REASONABLE) and refurbished (A, B, C) offers, and selectPrice holds the bol Select member price when one is shown. shipping is null when unknown, never guessed as 0.
A listing card (when Visit product detail pages is off):
{"type": "listing","productId": "9200000123476518","url": "https://www.bol.com/nl/nl/p/harry-potter-golden-snitch-lamp-clip/9200000123476518/","title": "Harry Potter Gouden Snaai Leeslampje","imageUrl": "https://media.s-bol.com/7n8nkXKgq7LO/270x840.jpg","brandName": "Harry Potter","brandId": "1666027","price": 17.56,"priceCurrency": "EUR","rating": 3,"reviewCount": 7,"specs": ["Harry Potter"],"offerUid": "dc4026b8-a814-4d97-8ba1-6c16ad00ac35","sponsored": true,"sustainable": false,"sellerHint": "bol","deliveryText": "Voor 23:59 uur besteld, morgen in huis","domain": "nl","sourceUrl": "https://www.bol.com/nl/nl/s/?searchtext=harry+potter+boek","sourcePage": 1,"scrapedAt": "2026-10-20T06:04:21.264Z"}
sellerHint is the seller of the offer shown on the card (bol or the partner's shop name). sustainable is true when bol marks the product as a more sustainable choice (its "Goede Keuze" label). sourceUrl and sourcePage tell you which search or category page the card came from, so you can track a product's rank over time.
🔁 Schedule and Integrate
For price and seller monitoring, run it once a day with the same searches, URLs or EANs: every run is a dated snapshot, and together they form your price and buy-box history. Set it up in Apify Schedules. Send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations, so new prices and offers land where your team already works.
🤖 Use with AI Agents (MCP)
This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). An agent can call it with:
{ "eans": ["5702017583488"], "includeProductDetails": true, "includeSellerOffers": true }
❓ FAQ
Does bol.com have an official API? Yes, bol offers a Retailer API for sellers on its marketplace and partner tools for affiliates. Both need an approved account, and the Retailer API covers your own offers and orders. This Actor needs no key or account and returns the public data any shopper sees: prices, ratings, EANs and every seller's offer on a product, including competitors'.
How do I look up an EAN code on bol.com? Put the barcodes under EANs and turn on Visit product detail pages. You get one product record per EAN that matches exactly, and a free unresolved record (with a reason) for EANs bol.com doesn't sell.
How do I see all sellers (verkopers) of a product on bol.com? Turn on Include all seller offers. Each product record then lists every seller's offer with price, shipping, delivery date, seller rating and buy-box flag. The offers are for the selected country, so run NL and BE separately to compare.
How do I track bol.com price history? bol.com doesn't show past prices. Schedule this Actor daily with the same input and keep each run's dataset (or append them to a Google Sheet) to build the history yourself.
Do I need a bol.com account? No.
Why is a field empty? New products have no rating yet, books and some products have no weight or color, and sellerRating is empty for bol's own offers. offersComplete is false when a product has more offers than Max offer pages per product allows (offersIncompleteReason is max-offer-pages) or when offers couldn't be fully read.
Are there limits? bol.com shows at most 256 pages per search or category. Only the Dutch-language shops for the Netherlands and Belgium are supported. Large runs of thousands of records need a longer run timeout than the default 300 seconds; a run that gets close to its timeout stops cleanly, keeps what it saved and says so in its status.
🔗 Related Scrapers
- Kaufland Listings Scraper: the same kind of marketplace data, with EAN and sellers, for Kaufland Germany, Poland, Czechia, Slovakia and Austria.
- Marktplaats Listings Scraper: Dutch second-hand listings to compare against bol.com new and used prices.
- 2dehands Listings Scraper: Belgium's biggest second-hand marketplace, a natural pair for the bol.com BE shop.
- Otto.de Listings Scraper: prices, sale prices and delivery dates from Germany's Otto.de.
- Idealo Listings Scraper: price comparison listings across six European countries for cross-shop checks.