Bol Listings Scraper avatar

Bol Listings Scraper

Pricing

from $3.00 / 1,000 product listings

Go to Apify Store
Bol Listings Scraper

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

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

๐Ÿ›๏ธ Bol.com Listings Scraper

Easily extract product data from bol.com โ€” the leading Dutch and Belgian e-commerce marketplace. The Bol.com Listings Scraper turns any search query, category, brand, series, or product detail URL into structured JSON, with optional per-variant enrichment (EAN-13, color, weight, seller, condition) pulled straight from bol.com's embedded JSON-LD.

โœจ Features

  • ๐Ÿท๏ธ Comprehensive product data: titles, prices, ratings, review counts, brand, seller, delivery promises, sponsored flags, and image URLs straight from listing pages.
  • ๐Ÿ”ฌ Per-variant enrichment: opt into product detail pages for full JSON-LD ProductGroup records โ€” EAN-13, color, weight in grams, condition, availability, and per-variant buy-box seller.
  • ๐Ÿ‡ณ๐Ÿ‡ฑ ๐Ÿ‡ง๐Ÿ‡ช NL + BE shops: scrape bol.com/nl/nl/ or bol.com/be/nl/. The Actor automatically pins Apify Residential proxy to the matching country.
  • ๐Ÿ›ก๏ธ Anti-bot ready: Akamai Bot Manager bypass via Apify Residential proxy + browser-realistic headers + automatic session rotation on 403/429.
  • ๐Ÿ“š Books too: handles bol's Book JSON-LD shape with variants under workExample โ€” ISBN-13 ends up in the same gtin13 field.
  • ๐Ÿ’ธ Pay-per-event pricing: pay only for items pushed to the dataset โ€” see the pricing table below.

๐Ÿ› ๏ธ How It Works

  1. Choose a mode by what you put in the input:
    • Search โ€” keywords under searchQueries (e.g. harry potter boek) or paste search URLs into startUrls.
    • Category / Brand / Series โ€” paste /l/, /pb/, or /serie/ URLs into startUrls.
    • Product detail โ€” paste /p/.../{id}/ URLs into startUrls.
  2. Pick the country shop โ€” nl or be. The Actor pins the residential proxy to the matching country.
  3. (Optional) Turn on includeProductDetails to switch into PDP-enrichment mode โ€” listing pages become URL sources only, and the dataset gets one rich record per product detail page.
  4. Set maxItems to cap your spend, or leave it 0 for unlimited.
  5. Run the scraper โ€” results stream to the default dataset, ready to download as JSON / CSV / Excel.

โš™๏ธ Input

FieldTypeRequiredDefaultDescription
startUrlsarray of URLsoptionalโ€”Bol.com URLs to crawl. Supports /s/, /l/, /pb/, /serie/, and /p/ paths on bol.com/nl/nl/ or bol.com/be/nl/.
searchQueriesstring[]optional[]Keywords to convert into search start URLs (one search URL per query, on the selected country shop).
countrynl | beoptionalnlCountry shop. Drives both the search URL path and the residential proxy country (forced to match โ€” never mix /nl/ with BE IPs).
maxItemsinteger โ‰ฅ 0optional0Maximum dataset items to push across the whole run. 0 = unlimited. Use this to cap spend.
includeProductDetailsbooleanoptionalfalseWhen true, listings are used only to discover product URLs; the dataset gets one PDP record per product (full JSON-LD).
proxyConfigurationobjectoptionalRESIDENTIALApify proxy options. Residential is required โ€” bol blocks datacenter IPs. Country code is overwritten to match country.

At least one of startUrls or searchQueries must be provided.

๐Ÿ“Š Sample Output Data

Listing card (when includeProductDetails=false)

{
"type": "listing",
"productId": "9200000023479731",
"url": "https://www.bol.com/nl/nl/p/harry-potter-boxset/9200000023479731/",
"title": "Harry Potter - Full Boxset",
"imageUrl": "https://media.s-bol.com/qwD5RRPRo10/550x450.jpg",
"brandName": "J.K. Rowling",
"brandId": "545975",
"price": 56.93,
"priceCurrency": "EUR",
"rating": 4.8,
"reviewCount": 612,
"specs": ["Engels", "Boxset paperback", "9781408856772", "09 oktober 2014", "3872 pagina's"],
"offerUid": "94f335fe-0d0b-40ed-ab3c-51598d511285",
"sponsored": false,
"sustainable": false,
"sellerHint": "bol",
"deliveryText": "Voor 23:59 uur besteld, maandag in huis",
"domain": "nl",
"sourceUrl": "https://www.bol.com/nl/nl/s/?searchtext=harry+potter+boek",
"sourcePage": 1,
"scrapedAt": "2026-05-16T10:00:00.000Z"
}

Product detail with variants (when includeProductDetails=true)

{
"type": "product",
"productGroupId": "9300000219087542",
"name": "iPhone 17 - verwacht model",
"rating": 4.8,
"reviewCount": 32,
"lowPrice": 815,
"highPrice": 1218,
"offerCount": 10,
"category": [
{ "name": "Elektronica", "position": 1, "url": "https://www.bol.com/nl/nl/l/elektronica/3136/" },
{ "name": "Smartphones", "position": 3, "url": "https://www.bol.com/nl/nl/l/smartphones/4010/" }
],
"variants": [
{
"productId": "9300000240171669",
"url": "https://www.bol.com/nl/nl/p/apple-iphone-17-256gb-sage/9300000240171669/",
"name": "Apple iPhone 17 - 256GB - Sage",
"color": "Groen",
"gtin13": "0195950644388",
"weightGrams": 337,
"brandName": "Apple",
"price": 889,
"priceCurrency": "EUR",
"condition": "NewCondition",
"availability": "InStock",
"sellerName": "Smartech NL"
}
],
"domain": "nl",
"url": "https://www.bol.com/nl/nl/p/apple-iphone-17-256gb-sage/9300000240171669/",
"scrapedAt": "2026-05-16T10:00:00.000Z"
}

๐Ÿ’ฐ Pricing

This Actor uses pay-per-event โ€” you pay only for items written to the dataset. Which event you're charged for depends on the includeProductDetails flag (the two modes are mutually exclusive within a single run).

EventWhen chargedPrice (USD)
product-listingEach listing card pushed when includeProductDetails=false$0.003
item-detailEach PDP record (with full JSON-LD variants) when includeProductDetails=true$0.010

Worked examples:

ScenarioItemsEventTotal cost
Keyword search, first 10 pages (~250 cards)250product-listing$0.75
Full keyword search to bol's 256-page cap (~6,400 cards)6,400product-listing$19.20
1,000 PDPs with includeProductDetails=true1,000item-detail$10.00
10,000 PDPs with includeProductDetails=true10,000item-detail$100.00

Set maxItems to put a hard cap on the run and your bill. ๐ŸŽฏ

Get the freshest Dutch and Belgian e-commerce data with Bol.com Listings Scraper today! ๐Ÿš€