[{"data":1,"prerenderedAt":381},["ShallowReactive",2],{"custom-scraper-bol":3,"custom-scraper-summaries":290,"data-flow":358},{"category":4,"site_name":5,"region":6,"official_api":7,"domains":8,"card_text":10,"seo":11,"hero":15,"answer":27,"steps":30,"io":43,"table":73,"fields":107,"pricing":141,"difficulty":152,"use_cases":185,"limits":206,"faq":228,"links":263},"Marketplace","Bol","Netherlands and Belgium","Retailer API for your own seller account only",[9],"bol.com","Who holds the buy block on a bol listing, at what delivered price, and which other sellers sit underneath it.",{"title":12,"description":13,"keywords":14},"Bol.com Scraper: Scrape Bol Prices and Sellers","Bol's Retailer API only covers your own account. Scrape bol.com offers, buy block and sellers: your columns, daily, by REST, CSV or Excel.","bol.com scraper, bol scraper, scrape bol.com, bol com api, bol buy block, bol price monitoring, dutch marketplace scraper, benelux ecommerce data",{"badge":16,"title":17,"subtitle":18,"image":19,"image_alt":20,"cta_primary":21,"cta_secondary":24},"Custom scraper","Bol.com Scraper","Bol dominates Dutch and Belgian ecommerce, and its Retailer API is scoped to your own seller account: your listings, your orders, your stock. It will not tell you who took the buy block off you this morning. The AI scraper reads the public offer page instead.","/img/custom-scrapers/hero-bol.svg","Three stages of a bol.com run: paste a bol URL billed on the render plus super tier at EUR 3.75 per 1,000 pages; declare seller_name and has_buy_block in the Custom Schema builder; and get back the fourteen declared columns, one row per seller offer.",{"label":22,"url":23},"Start with 5 free requests","https://portal.scrapewise.ai/register",{"label":25,"url":26},"Have us set it up","/demo",{"title":28,"text":29},"How to scrape bol.com","Bol works much like Amazon does: many sellers can offer the same product, one of them wins the buy block, and that seller takes the overwhelming majority of the sales. Bol's Retailer API is a genuinely good API, but it authenticates as your seller account and answers questions about your side of the marketplace. Competitor pricing, the full seller list on a listing, and who currently holds the buy block are not things it hands you, and there is no public read API that does. Scrapewise carries no dedicated Bol endpoint either. What works is the offer page. You paste bol.com product URLs into the AI scraper, declare the columns you want, and set a daily schedule. Every run comes back over REST, CSV or Excel, and you pay per page from a prepaid wallet.",{"title":31,"intro":32,"items":33},"What the AI scraper does with a bol.com link","Three steps, same as any other site. The bol-specific part is that the interesting data is in the other-sellers block, not the headline price.",[34,37,40],{"title":35,"text":36},"Paste the link","A product page, the other-sellers view for that product, a seller's page, or a category URL with the filters applied. Bol runs one site serving both the Netherlands and Belgium, so unlike most marketplaces here there is no country-domain matrix to manage.",{"title":38,"text":39},"You declare the columns","A bol pricing job usually wants the buy block price, delivery cost and window, the seller holding the block, every other seller and their price, plus condition and whether the offer is fulfilled by bol. You name those fields yourself in a Custom Schema, or start from the ready Product List schema and add to it.",{"title":41,"text":42},"Schedule it and take the data out","Run it once or daily. Pull each run by REST API or download it as CSV or Excel. Because the columns stay stable, the run-over-run table is what shows you how often the buy block actually changes hands, which a single snapshot never will.",{"title":44,"intro":45,"inputs":46,"row_label":71,"formats":72},"What you send and what you get","You send a link and a column list. Who holds the buy block, and what every other seller is asking underneath it, comes from the page itself.",[47,54,60],{"name":48,"label":49,"required":50,"description":51,"example":52,"control":53},"url","Link to a bol.com product or other-sellers page",true,"The other-sellers view is the one worth pasting: it carries every competing offer, not just the winning one.","https://www.bol.com/nl/nl/p/{product-slug}/{product-id}/","link",{"name":55,"label":56,"required":50,"description":57,"control":58,"example":59},"schema","Your column list","Start from the ready Product List schema or name your own fields in a Custom Schema. The AI fills the fields you declared.","box","Custom Schema, 14 fields",{"name":61,"label":62,"required":63,"control":64,"options":65,"selected":67,"description":70},"schedule","How often it runs",false,"choice",[66,67,68,69],"On demand","Daily","Weekly","Monthly","Daily is the fastest cadence available. The run-over-run table is what shows how often the buy block changes hands.","One row per seller offer on the product","REST API, CSV or Excel. The column set stays the same between runs, so the history builds up without a transformation step.",{"title":74,"description":75,"columns":76,"column_notes":91,"footnote":106},"The columns a bol.com run gives you","We are not going to print a table of invented seller offers and call it real output. Bol refuses both a plain fetch and an ordinary browser, so a run has to go through the residential tier. This is the column list you declare before the run, and the column list every run comes back with.",[77,78,79,80,81,82,83,84,85,86,87,88,89,90],"offer_rank","seller_name","has_buy_block","seller_rating","offer_price","delivery_cost","total_price","delivery_promise","condition","fulfilment","product_title","brand","ean","checked_at",{"offer_rank":92,"seller_name":93,"has_buy_block":94,"seller_rating":95,"offer_price":96,"delivery_cost":97,"total_price":98,"delivery_promise":99,"condition":100,"fulfilment":101,"product_title":102,"brand":103,"ean":104,"checked_at":105},"Position of the offer on the page, buy block first","Merchant behind this offer","Whether this seller currently holds the buy block","Seller rating, when bol displays one","Headline price, before delivery","Delivery cost as the page states it","Offer price plus delivery","Delivery promise shown with the offer","New or second hand, as the offer states it","Fulfilled by bol or shipped by the seller","Product title as bol writes it","Brand shown on the product","EAN, only when the page prints it","When this run collected the page (UTC)","The columns are yours, not ours. Add, rename or drop any of them in a Custom Schema and every future run returns exactly your set.",{"title":108,"intro":109,"groups":110,"schema_note":139,"note":140},"Typical fields the AI scraper extracts from a bol.com page","A starting point, not a fixed schema. What comes back is whatever the page actually shows on the day of the run.",[111,120,129],{"title":112,"text":113,"items":114},"Buy block and price","The buy block is the whole game on bol. Everything else on the page is context for it.",[115,116,117,118,119],"Buy block price","Delivery cost and delivery window","Total delivered price","Which seller holds the buy block","Strikethrough or reference price, when shown",{"title":121,"text":122,"items":123},"The other sellers","The block underneath the buy block is where you find out how much room there actually is, and who is standing in it.",[124,125,126,101,127,128],"Seller name for each competing offer","Price and delivery cost per offer","Condition, new or second hand","Seller rating, when displayed","Delivery promise per offer",{"title":130,"text":131,"items":132},"Product identity","What you match your own catalogue against. Bol carries identifiers more often than a comparison site does, but not universally.",[133,134,135,136,137,138],"Product title","Brand","EAN, when the page prints it","Category breadcrumb","Rating and review count","Product image URL","The column list is one you write: name each field, give it a type and a line telling the AI what to look for. The schema belongs to your account, so a bol field set can be pointed at the next marketplace without rebuilding it.","The scraper cannot invent a field the page does not render. The competing-seller list sits behind its own view, so if the full list is what you need, that is the URL to scrape rather than the main product page. EAN comes back only when bol prints it. Anything behind the seller login, your own buy block share, your orders, your performance score, is out of reach, and bol's Retailer API is the correct tool for that.",{"title":142,"intro":143,"tier_match":144,"tier_label":145,"reason":146,"example":147,"note":151},"What a bol.com page costs","Pay-as-you-go from your wallet. No plan, no monthly fee, no seat count.","Render + Super (the hardest sites)","Render plus residential tier","Measured on 24 September 2026, not assumed. A plain fetch of a bol.com search URL is refused, and loading the same URL in a real browser returned a stub page with no listings in it. A browser alone is not enough here, so budget for a rendered page coming out of a residential exit.",{"label":148,"text":149,"result":150},"Worked example","250 bol.com product pages checked once a day for a month is 7,500 pages.","about EUR 28.13 for the month at this tier","You are charged for the tier a run actually used, not the tier it was expected to need, and your balance never expires.",{"title":153,"intro":154,"categories":155},"What makes bol.com harder than an ordinary storefront","The structure is the difficulty. A snapshot of the headline price tells you almost nothing useful.",[156,163,171,178],{"title":157,"icon":158,"items":159},"Access","shield",[160,161,162],"A plain fetch returns a page missing the offer and seller blocks","An ordinary browser gets a stub page with no listings in it, so runs have to go out rendered through a residential exit","Success is high but not guaranteed on any individual run",{"title":164,"icon":165,"items":166},"The buy block model","layers",[167,168,169,170],"One listing, many sellers, one winner, and the winner can change several times a day","The competing sellers sit in a separate view that has to be scraped as its own URL","Second-hand offers appear alongside new ones and will distort a price average if you do not capture condition","A single daily snapshot cannot show how often the block changed hands, only where it sat at that moment",{"title":172,"icon":173,"items":174},"Two markets, one site","globe",[175,176,177],"bol.com serves both the Netherlands and Belgium from one domain","Delivery promises and availability can differ by destination country even on the same listing","Assortment is Benelux-specific, so a product that exists on a German marketplace may simply not be listed here",{"title":179,"icon":180,"items":181},"Scheduling and delivery","calendar",[182,183,184],"Daily is the fastest cadence, so treat the output as a daily observation, not a live buy block feed","Every run is retrievable by REST API, or downloadable as CSV or Excel","Columns stay stable between runs, so downstream jobs do not need to re-map fields",{"title":186,"items":187},"What people use bol.com data for",[188,191,194,197,200,203],{"title":189,"description":190},"Tracking who holds the buy block","On bol the buy block takes nearly all the sales, so whether you hold it is the number that decides your week. Scraping it daily across your catalogue tells you which SKUs you lost and to whom, instead of finding out from the sales report a fortnight later.",{"title":192,"description":193},"Seeing how thin the gap really is","Losing the block by two cents and losing it by four euros are completely different problems. Capturing every competing offer alongside the winner tells you which one you have, and therefore whether a price move is worth making at all.",{"title":195,"description":196},"Finding unauthorised sellers in Benelux","For brands, the seller list on a bol listing is a roster of everyone moving your SKU in the Netherlands and Belgium, including the ones you never appointed. That is what a MAP or channel case is built from.",{"title":198,"description":199},"Entering the Dutch market with real numbers","Before you list on bol, scraping the category tells you the going delivered price, how many sellers are already on each product, and where the crowding actually is. That is a cheaper way to find out than listing and watching nothing sell.",{"title":201,"description":202},"Watching second-hand undercut your new stock","Bol lists used offers next to new ones. If you do not capture condition, a used offer quietly drags your competitive picture down and your pricing logic reacts to a product that is not really yours.",{"title":204,"description":205},"Feeding your own repricing rules","The export is a normal REST API or CSV, so it drops into whatever repricing logic you already run. Scrapewise supplies the observation; your rules decide what to do with it.",{"title":207,"intro":208,"items":209},"What this page is not promising","We would rather say this here than in a support ticket.",[210,213,216,219,222,225],{"title":211,"text":212},"No dedicated bol endpoint","There is no bol data API in our catalogue and no pre-built bol schema. The AI scraper reads the page you point it at, and that is the whole mechanism.",{"title":214,"text":215},"No seller-account data","Your own buy block share, orders, stock and performance score live behind the seller login. A scraper reading public pages cannot reach them, and bol's Retailer API is the right tool for that job.",{"title":217,"text":218},"Not a live buy block feed","Daily is the fastest schedule. The buy block can change several times between two runs, so treat the output as a daily observation rather than a real-time signal.",{"title":220,"text":221},"No guaranteed delivery","Automated traffic gets challenged. We escalate to higher tiers, but we cannot promise every bol page returns data on every run.",{"title":223,"text":224},"No price-history database","We store nothing about bol prices on our side. A price curve is something you build by scheduling the scraper, starting from the day you switch it on.",{"title":226,"text":227},"No SKU matching or selling tools","You get bol's rows as bol presents them. Mapping them to your catalogue is a separate job, we do not push prices to bol, and we are not lawyers, so check bol's terms before you run anything.",{"badge":229,"title":230,"description":231,"items":232},"FAQ","Bol.com scraping — questions","What people ask before pointing the scraper at bol.com.",[233,236,239,242,245,248,251,254,257,260],{"title":234,"description":235},"Bol has a Retailer API, so why would I scrape it?","Because the Retailer API is scoped to you. It authenticates as your seller account and answers questions about your listings, your orders and your stock. It does not return the competing sellers on a listing, their prices, or who currently holds the buy block, and there is no public read API that does. That is the gap a scraper fills.",{"title":237,"description":238},"Can I see who has the buy block?","Yes, when the page shows it, and it generally does. Capturing it daily across your catalogue is the main reason people scrape bol at all, because losing the block is what actually moves your revenue.",{"title":240,"description":241},"Can I get all the other sellers, not just the winner?","Yes, but the competing offers sit in their own view rather than on the main product page, so that view is the URL to scrape. Say up front that you need the full seller list and we will scope the URLs that way.",{"title":243,"description":244},"How do I scrape bol.com prices?","Sign up, paste bol.com product URLs into a new scraper, pick a ready schema or define your own columns, and set a daily schedule. Each run is available by REST API, CSV or Excel, and you are charged per page from your wallet.",{"title":246,"description":247},"Does it cover Belgium as well as the Netherlands?","Bol serves both markets from one site, so there is no separate domain to scrape. Be aware that delivery promises and availability can differ by destination country on the same listing, which is worth capturing if Belgian delivery matters to you.",{"title":249,"description":250},"Will second-hand offers be mixed into my price data?","They will, unless you capture condition as a column. Bol lists used offers alongside new ones, and a used price dragged into a new-price average is one of the commonest ways a bol dataset goes quietly wrong.",{"title":252,"description":253},"Does it get blocked?","Bol challenges traffic that looks automated, and an ordinary browser gets a stub page rather than listings. Runs go out rendered through a residential exit. Most pages come back. We do not promise every page on every run, and you are charged for the tier that was actually used.",{"title":255,"description":256},"How much does scraping bol.com cost?","You pay per page from a prepaid wallet. A browser alone does not clear bol.com, so its pages fall on the render plus residential tier at EUR 3.75 per 1,000 pages. Every account starts with 5 free requests, top-ups start at EUR 5, and your balance never expires.",{"title":258,"description":259},"Will it match bol listings to my own SKUs?","No. You get bol's rows as bol presents them. Tying a marketplace listing to the right product in your catalogue is a separate problem, covered on our product matching page.",{"title":261,"description":262},"Is scraping bol.com legal?","We cannot answer that for you and nothing here is legal advice. The scraper only reads pages that are publicly visible to any shopper, but whether you may collect and use that data depends on bol's terms, your jurisdiction and what you do with it. Take your own advice before you start.",{"title":264,"items":265},"Where to go next",[266,270,274,278,282,286],{"anchor":267,"href":268,"text":269},"eBay scraper","/custom-scrapers/ebay","The other marketplace where the seller roster on a listing matters more than the headline price.",{"anchor":271,"href":272,"text":273},"Kaufland scraper","/custom-scrapers/kaufland","The same buy-box question one market over, on the German side.",{"anchor":275,"href":276,"text":277},"Repricing on marketplaces","/use-cases/marketplace-repricing","What teams do with the rows once they know how far under the buy block they are sitting.",{"anchor":279,"href":280,"text":281},"Match bol offers to your own SKUs","/use-cases/product-matching","Bol gives you offers, not your SKUs. This is the step that ties a listing to the product in your catalogue.",{"anchor":283,"href":284,"text":285},"Price list and free requests","/pricing","The full tier list, the wallet, and the 5 free requests you start with.",{"anchor":287,"href":288,"text":289},"Browse all data APIs","/scrapers/data-apis","The sources that do have a dedicated endpoint, with per-call prices.",[291,294,308,323,335,349],{"slug":292,"name":5,"category":4,"cardText":10,"domains":293,"region":6,"tier":145,"officialApi":7},"bol",[9],{"slug":295,"name":296,"category":4,"cardText":297,"domains":298,"region":306,"tier":145,"officialApi":307},"ebay","eBay","Live listings, seller names and the sold and completed history that eBay's own API will not hand you. Daily schedule, REST, CSV or Excel.",[299,300,301,302,303,304,305],"ebay.com","ebay.co.uk","ebay.de","ebay.fr","ebay.it","ebay.es","ebay.com.au","Global, strongest in US, UK and DE","Public Browse API exists, but sold listings are not in it",{"slug":309,"name":310,"category":311,"cardText":312,"domains":313,"region":320,"tier":321,"officialApi":322},"idealo","Idealo","Price comparison","Every merchant offer on one idealo product page, read after JavaScript and returned as columns you choose. Daily schedule, REST, CSV or Excel.",[314,315,316,317,318,319],"idealo.de","idealo.at","idealo.co.uk","idealo.fr","idealo.it","idealo.es","DACH and Western Europe","Render tier","Merchant-facing only, no public read API",{"slug":324,"name":325,"category":4,"cardText":326,"domains":327,"region":333,"tier":145,"officialApi":334},"kaufland","Kaufland.de","Every seller on a Kaufland offer, the winning price and who holds it, read after JavaScript and returned as columns you choose.",[328,329,330,331,332],"kaufland.de","kaufland.at","kaufland.cz","kaufland.sk","kaufland.pl","Germany, Austria, Czechia, Slovakia, Poland","Seller API only, nothing for reading competitors",{"slug":336,"name":337,"category":338,"cardText":339,"domains":340,"region":347,"tier":145,"officialApi":348},"mediamarkt","MediaMarkt","Electronics retailer","Europe's largest electronics chain, read as columns you choose: price, the strikethrough above it, delivery, store pickup and the energy label.",[341,342,343,344,345,346],"mediamarkt.de","mediamarkt.at","mediamarkt.es","mediamarkt.nl","mediamarkt.be","mediamarkt.pl","Germany, Austria, Spain, Netherlands, Belgium, Poland","Nothing public for reading prices",{"slug":350,"name":351,"category":4,"cardText":352,"domains":353,"region":355,"tier":356,"officialApi":357},"otto","Otto.de","Germany's second-largest online retailer, read as a marketplace: price, delivery, seller and variant, returned as columns you choose.",[354],"otto.de","Germany","Plain page tier","Partner API for approved sellers only",{"title":359,"intro":360,"steps":361,"llm_example":374},"Set it up once. The data keeps coming.","Save your search once and it runs by itself. Every run lands in your own Scrapewise database, and you pick how to read it.",[362,365,368,371],{"title":363,"text":364},"Set it up once","Add your ASINs, keywords, places or apps to a scraper in the web app. New accounts get 5 free requests.",{"title":366,"text":367},"Runs on your schedule","Pick daily, weekly on the days you choose, every few days, or the first or last day of the month. Scheduled runs start at night, European time. Need it more often? Start runs from your own code.",{"title":369,"text":370},"Saved in your database","Each run adds dated rows, so this week sits next to last week. Rows are kept for 90 days.",{"title":372,"text":373},"Use it your way","Open the table in the web app and download the latest run as an Excel file. Ask your own AI assistant about it. Or pull the rows into your code with an API key.",{"title":375,"prompt_examples":376,"text":380},"Ask your AI assistant about your own data",[377,378,379],"Which of my ASINs lost the Buy Box this week?","Which competitor cut prices the most since Monday?","Show the keywords where I dropped out of the top 10.","Connect Claude Desktop or Claude Code with a read-only key. The assistant reads the rows you've already collected, at no extra cost on Scrapewise. With a full-access key it can start a run for you too.",1790283357530]