Extract live prices, ratings, stock status, promo badges, and open-box deals from Coolblue (NL, BE, DE). Search by keyword or browse any category page.
- Live price tracking: Pull current prices, currency, and promo badge text for any keyword or category on Coolblue.
- Stock and availability checks: Know instantly which products are in stock before you plan a purchase or a resale.
- Rating and review benchmarking: Compare community rating scores and review counts across a whole category in one run.
- Open-box deal discovery: Surface open-box alternative prices and links alongside the regular listing in the same record.
- Multi-region coverage: Scrape the Netherlands, Belgium, or Germany storefronts from the same input form.
- Enter a search keyword, or paste a category page URL.
- Pick the Coolblue domain and language you want to scrape.
- Click Start: The actor collects every matching record and writes one flat row per item.
- Download your results: Export as Excel, CSV, JSON, or HTML from the Output tab.
| Field | Type | Required | Description |
|---|---|---|---|
mode |
string | No | How to find products: search by keyword or browse a category URL. Defaults to search. |
domain |
string | No | Regional Coolblue domain to scrape: coolblue.nl, coolblue.be, or coolblue.de. Defaults to coolblue.nl. |
language |
string | No | Language subpath to scrape: nl, en, fr, or de. Defaults to nl. |
keywords |
string | No | Search term to look up across Coolblue. Used in search mode. |
categoryUrl |
string | No | Direct category listing URL to crawl. Used in category mode. |
sort |
string | No | Product ordering: relevance, best reviewed, price low to high, price high to low, or most popular. |
includeSpecs |
boolean | No | Extract specification highlights shown on each product card. Defaults to true. |
includeBullets |
boolean | No | Extract product highlight bullet points. Defaults to true. |
includePromo |
boolean | No | Extract promotional badge text and campaign labels. Defaults to true. |
includeSecondChance |
boolean | No | Extract open-box alternative price and link when available. Defaults to true. |
maxItems |
integer | No | Maximum number of products to collect in one run. Defaults to 100. |
proxyConfiguration |
object | No | Proxy settings. Rotating proxies are the default and work reliably for Coolblue. |
Each row in your dataset is one product listing. All fields are flat with no nested data, so the file opens cleanly in any spreadsheet program.
{
"product_id": "976911",
"title": "Apple MacBook Pro 14 inch M5 Pro (15 CPU / 16 GPU) 24GB/1TB Zwart QWERTY",
"price": 2949.0,
"currency": "EUR",
"rating_score": 9.6,
"reviews_count": 20,
"in_stock": true,
"specifications": ["MacBook Pro", "2026", "14 inch (36 cm)"],
"bullet_highlights": ["Ultra thin design", "18 hour battery life"],
"promo_text": "tot 450 euro inruilwaarde",
"second_chance_price": 2891.0,
"second_chance_url": "https://www.coolblue.nl/tweedekans-product/2994680",
"image_url": "https://image.coolblue.nl/transparent/max/320xauto/products/1730017064",
"view_item_url": "https://www.coolblue.nl/product/976911/apple-macbook-pro-14-inch.html",
"scraped_at": "2026-06-27T09:00:00.000Z"
}| Field | Type | Description |
|---|---|---|
product_id |
string | Unique Coolblue product identifier. |
title |
string | Full product title as shown on the listing. |
price |
number | Current selling price in EUR. |
currency |
string | Currency code, always EUR. |
rating_score |
number | Community rating out of 10. |
reviews_count |
number | Total number of customer reviews. |
in_stock |
boolean | Whether the product is currently available. |
specifications |
array | Key specification highlights shown on the product card. |
bullet_highlights |
array | Short selling point bullets for the product. |
promo_text |
string | Active promotional badge or campaign label, when present. |
second_chance_price |
number | Open-box alternative price, when available. |
second_chance_url |
string | Link to the open-box listing, when available. |
image_url |
string | Main product image link. |
view_item_url |
string | Direct link to the product page on Coolblue. |
scraped_at |
string | Extraction time in ISO 8601 format. |
$2.50 per 1,000 results. No monthly subscriptions and no minimum commits. New Apify accounts include $5 of free usage, so you can try it before you pay.
You only pay for the records you collect. A typical run of 100 products completes in under a minute.
Create a .env file from .env.example, add your Apify API token, and run:
npm install
npm startThe script uses the Apify API client to start the Coolblue Scraper actor and fetch results.
- Search vs category: Use search mode for broad market sweeps. Use category mode to monitor one specific segment with guaranteed scope.
- Sort by best reviewed: Surface the top rated products in a category first and stop early, keeping runs cheap.
- Keep open-box deals on: Leave the open-box field enabled to capture alternative pricing and links in the same record as the new price.
- Run multiple regions in parallel: Start one run per domain to compare pricing across all three Coolblue markets.
Is it legal to scrape Coolblue? Scraping publicly available product data is generally legal in most jurisdictions. This actor collects only public listing information and no private account data. You are responsible for how you use the data and for following Coolblue's terms and applicable laws.
Do I need a Coolblue account to use this? No. The actor reads public product listing pages, so no Coolblue account or password is needed.
Can I scrape a specific brand or category page? Yes. Paste any Coolblue category, brand, or filtered listing URL into the category field and the actor will read it directly, including pagination.
Why did some products come back without a price? A small number of Coolblue listings are display only or show price on request. The actor leaves price empty for these and still captures the title and product URL.
For bug reports, missing fields, or feature requests, open an issue under the Issues tab, or visit the Coolblue Scraper actor page on Apify.
