Bol Product Scraper
Pricing
from $4.86 / 1,000 results
Bol Product Scraper
Search Bol.com product listings for the Netherlands and Belgium marketplace. Designed for Benelux retail and sales-partner assortment analysis, returning normalized titles, prices, currency, images, seller signals, availability, URLs, query, and rank.
Pricing
from $4.86 / 1,000 results
Rating
0.0
(0)
Developer
AgentX
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Bol Product Scraper — Belgium and Netherlands Product Search API
Affiliate disclosure: Apify links on this page may include referral parameters. If you sign up through them, AgentX may receive a commission at no extra cost to you.
Search Bol.com by keyword in Belgium or the Netherlands, then export normalized product records with current EUR price signals, discounts, ratings, reviews, images, sponsored status, rank, source links, and optional seller or fulfillment details.
Run a minimum 10-result test for one market, inspect seller and fulfillment context, then repeat the same keyword in the other market if comparison is required.
Why Choose This API
Two localized Bol.com routes
The country input selects the Belgian or Dutch Bol.com market. Results preserve source-controlled differences in ranking, availability, partner offers, and result counts.
Verifiable marketplace observations
Records keep the original query, rank, product URL, source URL, market code, and processing timestamp. Optional price, seller, shipping, delivery, return, and specification fields remain empty when the source does not disclose them.
Verifiable records without fabricated values
Delivered records retain source links and leave unavailable optional values empty. This provides consistent product rows without inventing seller, fulfillment, price, or identifier data.
Shared shopping contract
Every record uses the 58-field AgentX shopping schema, making Bol.com results easier to compare with datasets from related product Actors.
Quick Start Guide
- Open Bol Product Scraper.
- Enter a product
keyword, chooseBelgiumorNetherlands, and setmax_results. - Click Start.
- Inspect and export the default dataset.
{"keyword": "Smart TV","country": "Belgium","max_results": 10}
max_results is an upper bound. Bol.com may expose fewer usable public product rows for a particular keyword and market.
Input Parameters
| Parameter | Type | Required | Limits | Description |
|---|---|---|---|---|
keyword | string | Yes | Non-empty | Product, brand, category, or search phrase to extract Bol.com product data |
country | string | Yes | Belgium, Netherlands | Bol.com country/site setting to query |
max_results | integer | Yes | 10–10,000 | Maximum number of Bol.com product records to return |
This Actor is fixed to Bol.com and does not expose a platforms input. Use All Shopping Scraper when you need a supported multi-platform search.
Output Data Schema
The default dataset contains 58 fields. Source-dependent fields are nullable.
| Group | Fields |
|---|---|
| Images and identity | main_image, image_urls, title, brand, badges, category, breadcrumbs, description, features, product_id, sku, gtin, mpn, model |
| Product details | specifications, manufacturer, origin, energy_class, included, condition, release_date, variant_group, variants |
| Price and promotions | price, was_price, unit_price, currency, price_text, discount_pct, discount_text, promo_text, installment_text |
| Availability and demand | stock_status, stock_text, sales_text, buy_limit, rating, review_count |
| Seller and fulfillment | seller, seller_url, seller_score, shipping_text, shipping_cost, delivery_text, pickup_text, return_text, return_days, warranty_text |
| Traceability | platform, site, country, product_url, source_url, query, rank, sponsored, processor, processed_at |
Example schema record:
{"main_image": "https://media.s-bol.com/example.jpg","title": "55 Inch 4K Smart TV","brand": "Example Brand","product_id": "9300000000000000","price": 499.0,"was_price": 549.0,"currency": "EUR","price_text": "€ 499.00","discount_text": "Save €50.00","stock_text": "Op voorraad","rating": 4.6,"review_count": 1248,"seller": "Example seller","platform": "bol","site": "www.bol.com","country": "BE","product_url": "https://www.bol.com/be/nl/p/example/9300000000000000/","source_url": "https://www.bol.com/be/nl/s/?searchtext=Smart+TV","query": "Smart TV","rank": 1,"sponsored": false,"processor": "https://apify.com/agentx/bol-product-scraper","processed_at": "2026-07-20T00:00:00.000Z"}
This is a documentation example, not a live offer or inventory guarantee.
Integration Examples
Dataset export workflow
Run the Actor from its Store page, review the default dataset, and use the export options made available by Apify. The completed run exposes its dataset reference for downstream workflows.
Repeated market comparison
Keep the keyword and result limit stable, run once for Belgium and once for the Netherlands, then compare records by product_id or product_url. Retain query, rank, source_url, and processed_at so comparisons remain auditable.
Actor API and MCP
{"actorId": "qSDgjQniFvlx4XARW","input": {"keyword": "Smart TV","country": "Belgium","max_results": 10}}
Use the Actor API tab for account-specific examples. For agent clients, follow the official Apify MCP guide and provide the same explicit input. Required fields are not silently defaulted.
Pricing & Cost Calculator
Each Actor start has an apify-actor-start event price of $0.01. Delivered dataset records use the result event:
| Account tier | Actor start | Price per delivered result | Total for 10 delivered results |
|---|---|---|---|
| FREE | $0.01000 | $0.00540 | $0.06400 |
| BRONZE | $0.01000 | $0.00522 | $0.06220 |
| SILVER | $0.01000 | $0.00504 | $0.06040 |
| GOLD | $0.01000 | $0.00486 | $0.05860 |
| PLATINUM | $0.01000 | $0.00486 | $0.05860 |
| DIAMOND | $0.01000 | $0.00486 | $0.05860 |
Billing follows delivered result events, not the requested maximum. Check the live Store pricing panel before large production runs.
Compared with alternatives
| Option | Best fit | Important trade-off |
|---|---|---|
| Bol Product Scraper | Repeatable public Bol.com snapshots for Belgium and the Netherlands | Current observations; optional partner and delivery fields can be sparse |
| All Shopping Scraper | Compatible multi-platform product comparisons | Broader output needs more identity matching |
| Manual Bol.com browsing | A few offer checks with direct human review | Slow to repeat and difficult to audit at scale |
| Authorized Bol partner tools | Managing a merchant's own offers and catalog | Requires partner credentials and serves a different scope |
Choose this Actor for structured public search collection. Use direct product-page review when seller, buy-box, delivery, warranty, or purchase decisions matter.
Use Cases & Applications
- Compare Bol.com search rankings between Belgium and the Netherlands.
- Monitor current EUR prices, original prices, discounts, and stock text over time.
- Research public seller, delivery, shipping, and return signals when available.
- Match Bol.com products to internal catalogs with identifiers, titles, brands, images, and URLs.
- Build auditable marketplace research datasets without inventing missing values.
The output does not verify seller identity, stock, delivery performance, future price availability, or product authenticity.
FAQ
What does each delivered record represent?
Each record represents a usable public Bol.com result collected during that run. Use query, rank, product_url, source_url, and processed_at to review its source context.
Can a run return fewer records than max_results?
Yes. max_results is an upper bound, while the delivered count depends on the usable public products available for the selected keyword and country during that run.
Why can Belgium and Netherlands results differ?
Bol.com controls offer availability, partner mix, ordering, and returned result counts separately for its Belgian and Dutch markets.
Why are some seller or fulfillment fields empty?
Bol.com does not expose every seller or fulfillment field for every result. Missing values remain empty rather than being inferred.
Is the data historical?
No. A record represents the source response processed during that run. Save successive datasets to create a history.
Can I request more than 10,000 products?
No. The public input accepts 10 through 10,000, and the source may return fewer usable rows.
Legal & Compliance
Use the Actor and exported data only when permitted by applicable law, Bol.com's current customer terms, and your own compliance requirements. The Actor does not grant intellectual-property, resale, privacy, or marketplace usage rights. Users remain responsible for their inputs, retention, and downstream use.
Related Tools
Related product scrapers
Enrich with AgentX
Support & Community
- Open the Actor
- Explore AgentX APIs
- Telegram community: @Apify_Actor
- Direct support: @AiAgentApi
When reporting an issue, include the input, run identifier, affected source_url, and a small sample. Never publish private tokens.
Last updated: July 21, 2026. Maintained by AgentX.