# Debijenkorf.nl Scraper (PPE) (`memo23/debijenkorf-cheerio`) Actor

Gain a competitive edge with the DeBijenkorf.nl Scraper, your go-to tool for extracting detailed product data from the Netherlands' premier luxury retailer. Stay ahead with insights on pricing, stock, and product details, all tailored to streamline your e-commerce or market research efforst.

- **URL**: https://apify.com/memo23/debijenkorf-cheerio.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** E-commerce, Automation, Lead generation
- **Stats:** 5 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $1.70 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### Overview

The DeBijenkorf.nl Scraper is designed to extract comprehensive product data from the luxury retailer De Bijenkorf's website. This tool is ideal for e-commerce analysts, brand managers, and market researchers who need up-to-date information on products, pricing, stock availability, and other product-specific attributes.

De Bijenkorf is a leading luxury department store in the Netherlands, offering a wide range of products, including fashion, beauty, homeware, and more. This scraper allows you to easily collect structured data from the site, streamlining your data collection efforts.

### Features

- Scrape detailed product information, including names, descriptions, pricing, and availability.
- Extract metadata, such as categories, brand details, and related product recommendations.
- High customization capabilities with start URLs and concurrency settings.
- Built-in proxy support for smooth and anonymous scraping.
- Support for various types of URLs, including product listing pages, category pages, and filtered product URLs.

### How to Use

1. **Set Up**: Ensure you have an Apify account and access to the Apify platform.
2. **Provide Start Input**: Enter the desired start URLs for the categories or products you wish to scrape.
3. **Adjust Scraper Settings**: Modify settings such as `maxConcurrency`, `minConcurrency`, and `maxRequestRetries` to match your requirements.
4. **Configure Proxy Settings**: (Optional) Configure proxy settings to avoid rate limiting or IP blocks.
5. **Run the Scraper**: Execute the scraper on the Apify platform. The output will be available in various formats, including JSON, CSV, or Excel.
6. **Export Results**: Download the output data in your preferred format.

### Input Configuration

Here is an example of how to set up the input for the DeBijenkorf.nl Scraper:

```json
{
    "startUrls": [
        {
            "url": "https://www.debijenkorf.nl/herenmode/polo-s-t-shirts/t-shirts"
        }
    ],
    "maxItems": 100,
    "maxConcurrency": 10,
    "minConcurrency": 1,
    "maxRequestRetries": 100,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
```

#### Input Fields Explanation

- **Start URLs (startUrls)**: List of URLs where the scraper will start collecting data. These can include category pages like "<https://www.debijenkorf.nl/herenmode/polo-s-t-shirts/t-shirts>", product pages, or even filter-based URLs such as "<https://www.debijenkorf.nl/product-lister-page.html?fh_location=%2F%2Fcatalog01%2Fnl_NL%2Fcategories%3C%7Bcatalog01_80%7D>". This flexibility allows targeted and comprehensive data collection across De Bijenkorf's website.
- **Max Items (maxItems)**: Maximum number of items to scrape during a session. Default is `100`.
- **Max Concurrency (maxConcurrency)**: Maximum number of parallel requests. Default is `10`.
- **Min Concurrency (minConcurrency)**: Minimum number of parallel requests. Default is `1`.
- **Max Request Retries (maxRequestRetries)**: Number of retries for failed requests. Default is `100`.
- **Proxy Configuration (proxy)**: Specifies proxy servers for anonymous scraping. Default uses Apify’s residential proxies.

### Output Structure

The scraper produces a list of products with each item containing fields such as:

#### Product Example:

```json
{
    "originalUrl": "www.debijenkorf.nl/escentric-molecules-molecule-discovery-set-eau-de-toilette-6408090148-640809014800000",
    "catalogUrl": "https://ceres-catalog.debijenkorf.nl/catalog/product/show?productCode=6408090148&productVariantCode=640809014800000&cached=false&locale=nl_NL&api-version=2.41",
    "productCode": "6408090148",
    "productVariantCode": "640809014800000",
    "archived": false,
    "code": "6408090148",
    "url": "//www.debijenkorf.nl/escentric-molecules-molecule-discovery-set-eau-de-toilette-6408090148",
    "defaultVariantCode": "640809014800000",
    "name": "Molecule Discovery Set Eau de Toilette",
    "displayName": "Escentric Molecules Molecule Discovery Set Eau de Toilette",
    "description": "<p>De Molecule Discovery Set is samengesteld om je nieuwsgierigheid aan te wakkeren en te voeden. Ontworpen om te ontdekken. Met deze set kun je alle vijf onze Molecule-geuren onderzoeken voordat je bepaalt welk parfum jij het lekkerst vindt. De geuren zitten in miniflacons van 8,5 ml, verkleind om de radiale wereld van Molecules te verkennen en al je parfumbehoeften onderweg te vervullen.</p>",
    "brand": {
        "name": "Escentric Molecules",
        "relativeUrl": "/escentric-molecules",
        "query": "fh_location=//catalog01/nl_NL/brand>{escentric_molecules}"
    },
    "subBrand": {
        "name": "TOM FORD BEAUTY",
        "relativeUrl": "/product-lister-page.html?fh_location=//catalog01/nl_NL/brand%3E%7Btom_ford%7D/producttype%3E%7Btom_ford_beauty%7D",
        "query": "fh_location=//catalog01/nl_NL/brand>{tom_ford}/producttype>{tom_ford_beauty}"
    },
    "variantProducts": [
        {
            "archived": false,
            "code": "208009000500000",
            "url": "//www.debijenkorf.nl/tom-ford-soleil-neige-eau-de-parfum-2080090005-208009000500000",
            "sellingPrice": {
                "currencyCode": "EUR",
                "value": 160,
                "type": "SALES"
            },
            "unitPrice": {
                "unit": "ml",
                "quantity": 100,
                "value": 533.33
            },
            "size": "30 ml",
            "availability": {
                "stock": 1,
                "buyableFromDate": 1601845200000,
                "available": true
            },
            "deliveryTime": "NEXT_DAY",
            "images": [
                {
                    "type": "FRONT",
                    "url": "//cdn-1.debijenkorf.nl/default/tom-ford-soleil-neige-eau-de-parfum/?reference=020/800/0208009000500000_pro_flt_frt_01_1108_1528_6189982.jpg"
                }
            ],
            "selectionImage": {
                "type": "DETAIL",
                "url": "//cdn-1.debijenkorf.nl/default/tom-ford-soleil-neige-eau-de-parfum/?reference=020/800/0208009000500000_pro_flt_det_01_1108_1528_6189980.jpg"
            },
            "signings": {
                "merchandise": [
                    {
                        "key": "signings/bestseller",
                        "text": "Bestseller"
                    }
                ],
                "discount": []
            },
            "trackingMetadata": {
                "color": null,
                "size": "30 ml"
            }
        }
    ],
    "currentVariantProduct": {
        "archived": false,
        "code": "208009000500000",
        "url": "//www.debijenkorf.nl/tom-ford-soleil-neige-eau-de-parfum-2080090005-208009000500000",
        "sellingPrice": {
            "currencyCode": "EUR",
            "value": 160,
            "type": "SALES"
        },
        "unitPrice": {
            "unit": "ml",
            "quantity": 100,
            "value": 533.33
        },
        "size": "30 ml",
        "availability": {
            "stock": 1,
            "buyableFromDate": 1601845200000,
            "available": true
        },
        "deliveryTime": "NEXT_DAY",
        "images": [
            {
                "type": "FRONT",
                "url": "//cdn-1.debijenkorf.nl/default/tom-ford-soleil-neige-eau-de-parfum/?reference=020/800/0208009000500000_pro_flt_frt_01_1108_1528_6189982.jpg"
            },
            {
                "type": "DETAIL",
                "url": "//cdn-1.debijenkorf.nl/default/tom-ford-soleil-neige-eau-de-parfum/?reference=020/800/0208009000500000_pro_flt_det_01_1108_1528_6189980.jpg"
            },
            {
                "type": "DETAIL",
                "url": "//cdn-1.debijenkorf.nl/default/tom-ford-soleil-neige-eau-de-parfum/?reference=020/800/0208009000500000_pro_flt_det_02_1108_1528_6189981.jpg"
            }
        ],
        "selectionImage": {
            "type": "DETAIL",
            "url": "//cdn-1.debijenkorf.nl/default/tom-ford-soleil-neige-eau-de-parfum/?reference=020/800/0208009000500000_pro_flt_det_01_1108_1528_6189980.jpg"
        },
        "signings": {
            "merchandise": [
                {
                    "key": "signings/bestseller",
                    "text": "Bestseller"
                }
            ],
            "discount": []
        },
        "trackingMetadata": {
            "color": null,
            "size": "30 ml"
        }
    },
    "groupedAttributes": [
      {
          "id": "composition",
          "attributes": [
              {
                  "label": "Geurtype",
                  "value": "Houtachtig",
                  "id": "A.182",
                  "visible": true
              },
              {
                  "label": "Ingrediënten",
                  "value": "ALCOHOL DENAT., PARFUM (FRAGRANCE), AQUA (WATER), LINALOOL, COUMARIN, LIMONENE, CITRONELLOL, EUGENOL, CINNAMAL, CITRAL",
                  "id": "A.1501",
                  "visible": true
              },
              {
                  "label": "Inhoud",
                  "value": "30 ml",
                  "id": "A.96",
                  "visible": true
              },
              {
                  "label": "Type parfum",
                  "value": "Eau de Parfum, Unisex geuren",
                  "id": "A.1083",
                  "visible": true
              },
              {
                  "label": "Unisex geur",
                  "value": "Dit is een unisex geur en kan door iedereen gedragen worden",
                  "id": "A.1960",
                  "visible": true
              },
              {
                  "label": "Verpakking",
                  "value": "Spray",
                  "id": "A.1059",
                  "visible": true
              }
          ]
      }
  ],
  "fitMessage": null,
  "categories": [
      {
          "id": "3320",
          "name": "Geuren",
          "url": "FROM FREDHOPPER"
      }...
  ],
  "categoryPath": [
      {
          "id": "org_web_shop",
          "name": "Main catalog for web shops",
          "type": "Category",
          "displayName": null,
          "description": "Main catalog for web shops",
          "online": "1"
      }...
  ],
  "trackingMetadata": {
      "name": "Penhaligon's Halfeti Eau de Parfum - travel size",
      "path": "/Shop/Dames/Cosmetica/Geuren"
  },
  "colorCount": 0,
  "defaultColor": null,
  "shipping": {
      "type": "STANDARD",
      "supplier": null
  },
  "promotionName": "kafka",
  "similarItems": [
      {
          "id": "brand",
          "name": "Penhaligon's",
          "query": "fh_location=//catalog01/nl_NL/brand>{penhaligon_s}",
          "url": "/penhaligon-s",
          "relativeUrl": "/penhaligon-s",
          "noFollow": false
      }...
  ],
  "gift": false,
  "designer": false,
  "sustainable": false,
  "defaultRelatedProducts": "bundle",
  "relatedProducts": {
      "bundle": {
          "endpoint": "//ceres-catalog.debijenkorf.nl:443/catalog/product/list?productCodes=8517090000,8517090003,8517090008,8517090011,8517090012,8517090038&includeOnlyAvailable=true&includeVariants=false&apiVersion=2.41&locale=nl_NL",
          "codes": [
              "8517090000",
              "8517090003",
              "8517090008",
              "8517090011",
              "8517090012",
              "8517090038"
          ],
          "title": null,
          "ruleName": null
      },
      "crossSell": {
          "endpoint": "//ceres-catalog.debijenkorf.nl:443/catalog/product/list?productCodes=3469090051,3469090074,4731090073,3469090181,6063090015,3469090180,2769090021,2450090205,2769090022,6116090371,2665090157,8535090022,2665090158,8535090023,8535090024,4081090093&includeOnlyAvailable=true&includeVariants=false&apiVersion=2.41&locale=nl_NL",
          "codes": [
              "3469090051",
          ],
          "title": "Anderen bekeken ook",
          "ruleName": "Catlevel3 - fallback - accessoires"
      }
  },
  "createdOn": 1734337912170,
  "recommendationRanking": 0,
  "alternativeUrls": {
      "nl_NL": "//www.debijenkorf.nl/penhaligon-s-halfeti-eau-de-parfum-travel-size-8517090013-851709001306090",
      "nl_BE": "//www.debijenkorf.be/penhaligon-s-halfeti-eau-de-parfum-travel-size-8517090013-851709001306090"
  },
  "videos": [],
  "returnInstructions": null,
  "apiAttributes": {
      "archived": {
          "label": "archived",
          "value": "-1",
          "id": "archived",
          "visible": false
      },
      "A.1280": {
          "label": "Navigation_Tracking_Path",
          "value": "/Dames/Cosmetica/Geuren",
          "id": "A.1280",
          "visible": false
      },
      "name_id": {
          "label": "",
          "value": "Penhaligon's Halfeti Eau de Parfum - travel size",
          "id": "name_id",
          "visible": false
      },
      "ES_Other": {
          "label": "ES_Other",
          "value": "8517090000,8517090003,8517090008,8517090011,8517090012,8517090038",
          "id": "ES_Other",
          "visible": false
      }
  },
  "supplierModel": "WHOLESALE",
}
```

#### Output Fields Explanation

##### Product Fields:

- **Original URL (`originalUrl`)**: The URL of the product page.

- **Catalog URL (`catalogUrl`)**: The API catalog URL for detailed product information.

- **Product Code (`productCode`)**: The unique identifier for the product.

- **Product Variant Code (`productVariantCode`)**: The variant code for the specific product version.

- **Archived (`archived`)**: Indicates whether the product is archived.

- **Code (`code`)**: The product's internal code.

- **URL (`url`)**: The relative URL of the product.

- **Default Variant Code (`defaultVariantCode`)**: The default variant code for the product.

- **Name (`name`)**: The name of the product.

- **Display Name (`displayName`)**: The display name of the product.

- **Description (`description`)**: Detailed description of the product.

- **Brand (`brand`)**: Information about the product's brand, including name and related URLs.

- **SubBrand (`subBrand`)**: Information about the sub-brand, including name and related URLs.

- **Variant Products (**\`\`\*\* like t\*\*\*\*)\*\*: Details about product variants such as size, price, and availability.
  - **Archived (`archived`)**: Indicates if the variant is archived.
  - **Code (`code`)**: Unique identifier for the product variant.
  - **URL (`url`)**: URL of the variant.
  - **Selling Price (`sellingPrice`)**: Price details, including currency and value.
  - **Unit Price (`unitPrice`)**: Price per unit of measurement.
  - **Size (`size`)**: Size of the product variant.
  - **Availability (`availability`)**: Stock availability and buyable date.
  - **Delivery Time (`deliveryTime`)**: Estimated delivery time.
  - **Images (`images`)**: URLs of product images.
  - **Selection Image (`selectionImage`)**: Highlighted image for the variant.
  - **Signings (`signings`)**: Merchandise-related tags such as "Bestseller".
  - **Tracking Metadata (`trackingMetadata`)**: Metadata for tracking color and size.

- **Current Variant Product (`currentVariantProduct`)**: Detailed information about the currently selected product variant, including price, availability, and images.
  - **Archived (`archived`)**: Boolean indicating whether this specific variant is archived.
  - **Code (`code`)**: Unique identifier for the current product variant.
  - **URL (`url`)**: The relative URL pointing to the specific variant's page on the De Bijenkorf website.
  - **Selling Price (`sellingPrice`)**:
    - **Currency Code (`currencyCode`)**: The currency of the selling price (e.g., "EUR").
    - **Value (`value`)**: The actual price of the product variant.
    - **Type (`type`)**: Indicates the price type, such as "SALES" or "REGULAR".
  - **Unit Price (`unitPrice`)**:
    - **Unit (`unit`)**: The measurement unit for the price (e.g., "ml").
    - **Quantity (`quantity`)**: The amount associated with the unit price.
    - **Value (`value`)**: The calculated price per unit.
  - **Overridden Prices (`overriddenPrices`)**: A list of historical or promotional prices, if any.
  - **Size (`size`)**: Size specification of the product variant (e.g., "30 ml").
  - **Color (`color`)**: The color associated with the variant, if applicable.
  - **Minimum Order Quantity (`minOrderQuantity`)**: The minimum quantity required for purchase.
  - **Availability (`availability`)**:
    - **Stock (`stock`)**: Number of units available in stock.
    - **Buyable From Date (`buyableFromDate`)**: The timestamp indicating when the variant becomes purchasable.
    - **Available (`available`)**: Boolean indicating if the variant is currently available.
    - **Available Future (`availableFuture`)**: Boolean indicating if the variant will be available in the future.
  - **Delivery Time (`deliveryTime`)**: Estimated time for the product to be delivered (e.g., "NEXT_DAY").
  - **Images (`images`)**: A collection of image objects, each containing:
    - **Type (`type`)**: The context of the image (e.g., "FRONT", "DETAIL").
    - **URL (`url`)**: The URL of the image.
    - **Position (`position`)**: Order or importance of the image.
  - **Image Collections (`imageCollections`)**: Grouped images for specific purposes, if any.
  - **Signings (`signings`)**:
    - **Merchandise (`merchandise`)**: Tags or labels associated with the variant, such as "Bestseller".
    - **Discount (`discount`)**: List of any applied discounts.
  - **Selection Image (`selectionImage`)**: The primary image used for selection purposes.
  - **Color Swatch Image (`colorSwatchImage`)**: The image representing the color swatch, if available.
  - **EAN (`ean`)**: European Article Number for the variant.
  - **Department (`department`)**: ID of the department to which this variant belongs.
  - **Department Name (`departmentName`)**: Name of the department.
  - **Related Products (`relatedProducts`)**:
    - **Model Also Wears (`modelAlsoWears`)**: Suggests related items often worn or purchased together, including:
      - **Endpoint (`endpoint`)**: API endpoint for related items.
      - **Codes (`codes`)**: Product codes of the related items.
  - **Tracking Metadata (`trackingMetadata`)**:
    - **Color (`color`)**: Metadata for the color attribute.
    - **Size (`size`)**: Metadata for the size attribute.
  - **Lowest Price (`lowestPrice`)**: Historical lowest price for the variant, if tracked.
  - **Lowest Price Flag (`lowestPriceFlag`)**: Indicates whether this is the lowest price observed.
  - **Current (`current`)**: Boolean indicating if this variant is the current primary variant.
  - **Bundle Set (`bundleSet`)**: Boolean indicating if this variant is part of a bundle.
  - **Retail Set (`retailSet`)**: Boolean indicating if this variant is part of a retail set.

- **Grouped Attributes (groupedAttributes)**: A collection of grouped characteristics or features of the product, each identified by a unique `id`. These attributes provide detailed information about the product's composition, specifications, and fit. Below is an explanation of the fields:
  - **Composition Group (`id: composition`)**: This group includes attributes related to the product's composition and features:
  - **Label (`label`)**: A descriptive title for the attribute (e.g., "Geurtype").
  - **Value (`value`)**: The specific value or detail of the attribute (e.g., "Houtachtig" for the scent type).
  - **ID (`id`)**: A unique identifier for the attribute (e.g., "A.182").
  - **Visible (`visible`)**: A boolean indicating if the attribute is displayed on the product page.
  - **Specifications Group (`id: specifications`)**: This group is intended for additional technical specifications. It is empty in the provided example but can include details such as material composition, durability, or care instructions.
  - **Fit Group (`id: fit`)**: This group covers attributes related to the fit or usability of the product. It is also empty in the example but can include size recommendations, fit descriptions, or usage tips.

- **Fit Message (fitMessage)**: A message providing specific fit-related advice or notes about the product. It is typically null unless additional guidance is available.

- **Categories (categories)**: A list of categories to which the product belongs, each containing:
  - **ID (id)**: The unique identifier for the category.
  - **Name (name)**: The name of the category (e.g., "Geuren").
  - **URL (url)**: The source or reference URL for the category.

- **Category Path (categoryPath)**: A hierarchical representation of the product’s location within the website’s catalog, each entry containing:
  - **ID (id)**: The unique identifier for the category level.
  - **Name (name)**: The name of the category level.
  - **Type (type)**: The type of the category (e.g., "Category").
  - **Display Name (displayName)**: A user-friendly display name for the category (can be null if not defined).
  - **Description (description)**: A brief description of the category (can be empty).
  - **Online (online)**: Indicates if the category is available online (`"1"` for available).

- **Tracking Metadata (trackingMetadata)**: Metadata for tracking and analytics, including:
  - **Name (name)**: The name of the product for tracking purposes.
  - **Path (path)**: The hierarchical path of the product within the website structure.

- **Color Count (colorCount)**: An integer representing the number of color options available for the product.

- **Default Color (defaultColor)**: The default or primary color associated with the product. Can be null if no color is specified.

- **Shipping (shipping)**: Information about the product's shipping options, including:
  - **Type (type)**: The type of shipping available (e.g., "STANDARD").
  - **Supplier (supplier)**: The supplier responsible for shipping (can be null).

- **Promotion Name (promotionName)**: The name of the promotional campaign or offer associated with the product.

- **Similar Items (similarItems)**: A list of related or recommended items, each containing:
  - **ID (id)**: The identifier for the similar item.
  - **Name (name)**: The name of the similar item.
  - **Query (query)**: The query string used to retrieve the similar item.
  - **URL (url)**: The full URL to the similar item’s page.
  - **Relative URL (relativeUrl)**: A shorter relative path to the similar item’s page.
  - **No Follow (noFollow)**: A boolean indicating if search engines should follow the link.

- **Display Properties (`displayProperties`)**:
  - **Detail Page Variation (`detailPageVariation`)**: Specifies the type or variation of the detail page, such as "COSMETICS," to tailor the display format.
  - **Show Quantity (`showQuantity`)**: Boolean that indicates whether the quantity selection is displayed on the product page.
  - **Current Variant Selected (`currentVariantSelected`)**: Boolean that indicates if the current variant is selected as default or highlighted.

- **Gift (`gift`)**: Indicates whether the product can be marked as a gift (Boolean).

- **Designer (`designer`)**: Boolean specifying if the product is from a designer brand.

- **Sustainable (`sustainable`)**: Boolean indicating if the product has sustainable or eco-friendly attributes.

- **Default Related Products (`defaultRelatedProducts`)**: Specifies the type of related products (e.g., "bundle").

- **Related Products (`relatedProducts`)**:
  - **Bundle (`bundle`)**: Contains details about products grouped in bundles, such as:
    - **Endpoint (`endpoint`)**: API endpoint for fetching bundle details.
    - **Codes (`codes`)**: Array of product codes included in the bundle.
    - **Title (`title`)**: Optional title for the bundle.
    - **Rule Name (`ruleName`)**: Rule associated with the bundle's selection.
  - **Cross Sell (`crossSell`)**: Contains cross-sell recommendations, such as:
    - **Endpoint (`endpoint`)**: API endpoint for fetching cross-sell products.
    - **Codes (`codes`)**: Array of product codes for cross-sell recommendations.
    - **Title (`title`)**: Optional title for cross-sell recommendations.
    - **Rule Name (`ruleName`)**: Rule defining the cross-sell logic.

- **Created On (`createdOn`)**: Timestamp of when the product entry was created.

- **Recommendation Ranking (`recommendationRanking`)**: Numeric rank used to prioritize recommendations.

- **Alternative URLs (`alternativeUrls`)**: Contains alternative URLs for different regions or versions, such as:
  - **`nl_NL`**: URL for the Netherlands.
  - **`nl_BE`**: URL for Belgium.

- **Videos (`videos`)**: An array for video content related to the product, if any.

- **Return Instructions (`returnInstructions`)**: Guidelines for returning the product, if provided.

- **API Attributes (`apiAttributes`)**:
  - **Archived (`archived`)**: Metadata indicating if the product is archived.
  - **Navigation Tracking Path (`A.1280`)**: Path information for tracking navigation within the site.
  - **Name ID (`name_id`)**: Internal identifier for the product's name.
  - **ES Other (`ES_Other`)**: Metadata containing related product codes.

- **Supplier Model (`supplierModel`)**: Describes the supplier type (e.g., "WHOLESALE").

### Explore More Scrapers

If you found this actor useful, be sure to check out our other powerful scrapers and actors at [memo23's Apify profile](https://apify.com/memo23). We offer a wide range of tools to enhance your web scraping and automation needs across various platforms and use cases.

### Support

- For issues or feature requests, please use the [Issues](https://console.apify.com/actors/lJ53PIAsegcirqQid/issues) section of this actor.
- If you need customization or have questions, feel free to contact the author:
  - Author's website: <https://muhamed-didovic.github.io/>
  - Email: <muhamed.didovic@gmail.com>

### Additional Services

- Request customization or whole dataset: <muhamed.didovic@gmail.com>
- If you need anything else scraped, or this actor customized, email: <muhamed.didovic@gmail.com>
- For API services of this scraper (no Apify fee, just usage fee for the API), contact: <muhamed.didovic@gmail.com>

### 🤖 For AI Agents & LLM Apps

Compact reference for AI agents calling this actor via the [Apify MCP server](https://mcp.apify.com) or the Apify API (actor: `memo23/debijenkorf-cheerio`).

**Purpose:** Extract product data from De Bijenkorf (debijenkorf.nl) category, filter, and product URLs — one dataset row per product with variants, pricing, availability, attributes, and images.

**Minimal input:**

```json
{
    "startUrls": [{ "url": "https://www.debijenkorf.nl/l/herenmode/polo-s-t-shirts/t-shirts" }],
    "maxItems": 20
}
```

**Output:** one dataset row per product — originalUrl, catalogUrl, productCode, productVariantCode, code, url, name, displayName, description, brand {name, relativeUrl, query}, subBrand, variantProducts, currentVariantProduct {sellingPrice {currencyCode, value, type}, unitPrice, size, availability {stock, available}, deliveryTime, images}, groupedAttributes, categories, categoryPath, trackingMetadata, colorCount, shipping, similarItems, relatedProducts {bundle, crossSell}, alternativeUrls, supplierModel, createdOn.

**Behaviors an agent should know:**

- startUrls accept category pages, product-lister filter URLs, and individual product pages.
- Always set maxItems to cap; default is 100 items per run.
- The actor routes through its own built-in residential proxy at no extra cost — leave proxy empty unless overriding with your own.
- Prices are nested under sellingPrice/unitPrice ({currencyCode, value}); a product carries multiple variantProducts.
- Tune maxConcurrency / minConcurrency / maxRequestRetries for throughput and resilience.
- Billing: Pay-per-event billing — see the Pricing tab on the actor page.

### ⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by de Bijenkorf B.V. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly available product pages on debijenkorf.nl — no authenticated endpoints, paid features, or content behind a login wall. Users are responsible for ensuring their use complies with debijenkorf.nl's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.

### SEO Keywords

debijenkorf scraper, scrape debijenkorf, debijenkorf.nl scraper, debijenkorf API, Apify debijenkorf, department store scraper, product data scraper, ecommerce product scraper, price monitoring data, product catalog export, luxury retail data, Dutch ecommerce data, fashion product feed, stock availability tracking, competitor price intelligence, retail market analysis

# Actor input Schema

## `startUrls` (type: `array`):

URLs to start with.

## `maxItems` (type: `integer`):

Maximum number of items that will be scraped.

## `maxConcurrency` (type: `integer`):

Maximum number of pages that can be processed at the same time.

## `minConcurrency` (type: `integer`):

Minimum number of pages that will be processed at the same time.

## `maxRequestRetries` (type: `integer`):

Number of times the crawler will retry a failed request before giving up.

## `proxy` (type: `object`):

Leave empty — the actor already routes all traffic through its own built-in residential proxy at no extra cost to you. Only set this if you want to use your own proxies.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.debijenkorf.nl/l/herenmode/polo-s-t-shirts/t-shirts"
    }
  ],
  "maxItems": 100,
  "maxConcurrency": 10,
  "minConcurrency": 1,
  "maxRequestRetries": 100
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.debijenkorf.nl/l/herenmode/polo-s-t-shirts/t-shirts"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/debijenkorf-cheerio").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "startUrls": [{ "url": "https://www.debijenkorf.nl/l/herenmode/polo-s-t-shirts/t-shirts" }] }

# Run the Actor and wait for it to finish
run = client.actor("memo23/debijenkorf-cheerio").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.debijenkorf.nl/l/herenmode/polo-s-t-shirts/t-shirts"
    }
  ]
}' |
apify call memo23/debijenkorf-cheerio --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,memo23/debijenkorf-cheerio"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/lJ53PIAsegcirqQid/builds/xTueiewNFBPCTiZYC/openapi.json
