# 2dehands Product Details Scraper (`ecomscrape/2dehands-product-details-scraper`) Actor

2dehands.be Product Details Scraper automates extraction of comprehensive product listings from Belgium's largest online marketplace. Collect detailed product information, seller data, pricing, shipping details, and statistics for market research, price monitoring, and competitive analysis.

- **URL**: https://apify.com/ecomscrape/2dehands-product-details-scraper.md
- **Developed by:** [ecomscrape](https://apify.com/ecomscrape) (community)
- **Categories:** Automation, E-commerce, Developer tools
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## 2dehands.be Product Details Scraper: Extract Belgian Marketplace Listings Data

### Introduction

2dehands.be (formerly 2ememain.be) is Belgium's leading online marketplace for buying and selling second-hand goods, similar to Craigslist or eBay Classifieds. With millions of active listings spanning categories from electronics and furniture to vehicles and real estate, 2dehands.be serves as a vital platform for the Belgian circular economy and consumer-to-consumer commerce.

For businesses engaged in market research, price intelligence, competitive analysis, or resale operations in the Belgian market, accessing structured product data from 2dehands.be is invaluable. However, manually collecting detailed information from individual product listings is extremely time-consuming, especially when analyzing market trends, monitoring competitor pricing, or building product databases.

The 2dehands.be Product Details Scraper automates extraction of comprehensive product information from individual listing pages, enabling systematic data collection for market intelligence, pricing strategy, and business analytics.

### Scraper Overview

The 2dehands.be Product Details Scraper is a specialized tool designed to extract detailed information from individual product listing pages on Belgium's largest online marketplace. This scraper navigates directly to specific product URLs and extracts comprehensive data including product details, seller information, pricing, shipping options, and engagement statistics.

The tool offers residential proxy support for reliable access, configurable retry mechanisms for handling network issues, and bulk URL processing capabilities. It's particularly valuable for resellers monitoring inventory opportunities, market researchers analyzing Belgian consumer behavior, price intelligence analysts tracking market trends, and competitive analysts studying product positioning and pricing strategies.

The scraper maintains high accuracy while respecting rate limits and implementing ethical scraping practices. Users can process multiple product URLs simultaneously to build comprehensive datasets for analysis and decision-making.

### Input and Output Details

Example url 1: https://www.2dehands.be/v/audio-tv-en-foto/accu-s-en-batterijen/a157630444-batterij-klasse-a-4-stuks-3-2v-100-ah-deep-cycle-l?c=cd58aa426c65a7bcbba6cb86b1aa4655\&casData=9T7RsgKEgxzqpDISTYcDks4MVARFOS0un58jVUVdqfgI5dCBclTUDVxao7pV1ZJA0cML1H2L1oeXPjnLgg1dUcoprj8GhP9Jg2Ajlbnxi6-N0-01qWV_aJ2v5YV2cv6c97f-TXggkKJOOtAULHVRZQz2q32LYUiok0rlULao3pL4BNyKZ_fb9ueuJsYUNfNON4cdqOjQhToqt0yuTP4VGTK-fMSIrQt6kHeOrF9Y__v3HEMOfo8pl4Dt2LhjtavvU0jUMNDaZnPmuK44_3xvuisH8xzCMrhL0ImZ31FTxlj4tpu-UbTXA-OVDthdcAt8VnZwel61ZMyGaS_Wj09Zt60vgi3KePsPZRtXH3QB3gE8ZhF_m7bc9zfcuzkUjJHop53kv3722PNjPlMs2MgvIY-fi1O4ONRQNBv0-IaYcB7Y79XCf9BRhjUSxOkww7DTIMHvo7FvgqolAX-6uj7jaICWIN5QdvpDz3vQB8IhJry1m7kQv_7WSH6oA9OPDssiIPXl47L1dZ3HiFO2eL4tAkTn86Bbis7zcDM5_F6xs4I&\_gl=1*tzhrp3*\_up*MQ..*\_ga*NjMyNDU2ODI2LjE3Njc5Nzg5NDk.*\_ga_HS0GGDE3SH\*czE3Njc5Nzg5NDUkbzEkZzAkdDE3Njc5Nzg5NTYkajQ5JGwwJGgyMDA0OTQ2MDY0

Example url 2: https://www.2dehands.be/v/audio-tv-en-foto/weerstations-en-barometers/a157941988-weerstation-binnen-en-buiten-met-buitensensor-draadloo?c=208777bbdb1d4c4c2a9cc16e04a41d7c&\_gl=1*dbtcjx*\_up*MQ..*\_ga*MTEzODQ1NjA0OC4xNzY3OTgxNjcz*\_ga_HS0GGDE3SH\*czE3Njc5ODE2NzAkbzEkZzAkdDE3Njc5ODE2NzAkajYwJGwwJGgyMDgwODE1MTE3

Example url 3: https://www.2dehands.be/v/audio-tv-en-foto/weerstations-en-barometers/a157941915-weerstation-binnen-en-buiten-met-buitensensor-draadloo?c=208777bbdb1d4c4c2a9cc16e04a41d7c&\_gl=1*dbtcjx*\_up*MQ..*\_ga*MTEzODQ1NjA0OC4xNzY3OTgxNjcz*\_ga_HS0GGDE3SH\*czE3Njc5ODE2NzAkbzEkZzAkdDE3Njc5ODE2NzAkajYwJGwwJGgyMDgwODE1MTE3

Example Screenshot of product information page:

![](https://i.ibb.co/whtjCxh4/Screenshot-from-2026-01-10-01-07-24.png)

#### Input Format

The scraper accepts a simple JSON configuration focused on product URL extraction:

```json
{
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "BE"
  },
  "urls": [
    "https://www.2dehands.be/v/audio-tv-en-foto/accu-s-en-batterijen/a157630444-batterij-klasse-a-4-stuks-3-2v-100-ah-deep-cycle-l?c=cd58aa426c65a7bcbba6cb86b1aa4655&casData=9T7RsgKEgxzqpDISTYcDks4MVARFOS0un58jVUVdqfgI5dCBclTUDVxao7pV1ZJA0cML1H2L1oeXPjnLgg1dUcoprj8GhP9Jg2Ajlbnxi6-N0-01qWV_aJ2v5YV2cv6c97f-TXggkKJOOtAULHVRZQz2q32LYUiok0rlULao3pL4BNyKZ_fb9ueuJsYUNfNON4cdqOjQhToqt0yuTP4VGTK-fMSIrQt6kHeOrF9Y__v3HEMOfo8pl4Dt2LhjtavvU0jUMNDaZnPmuK44_3xvuisH8xzCMrhL0ImZ31FTxlj4tpu-UbTXA-OVDthdcAt8VnZwel61ZMyGaS_Wj09Zt60vgi3KePsPZRtXH3QB3gE8ZhF_m7bc9zfcuzkUjJHop53kv3722PNjPlMs2MgvIY-fi1O4ONRQNBv0-IaYcB7Y79XCf9BRhjUSxOkww7DTIMHvo7FvgqolAX-6uj7jaICWIN5QdvpDz3vQB8IhJry1m7kQv_7WSH6oA9OPDssiIPXl47L1dZ3HiFO2eL4tAkTn86Bbis7zcDM5_F6xs4I&_gl=1*tzhrp3*_up*MQ..*_ga*NjMyNDU2ODI2LjE3Njc5Nzg5NDk.*_ga_HS0GGDE3SH*czE3Njc5Nzg5NDUkbzEkZzAkdDE3Njc5Nzg5NTYkajQ5JGwwJGgyMDA0OTQ2MDY0",
    "https://www.2dehands.be/v/audio-tv-en-foto/weerstations-en-barometers/a157941988-weerstation-binnen-en-buiten-met-buitensensor-draadloo?c=208777bbdb1d4c4c2a9cc16e04a41d7c&_gl=1*dbtcjx*_up*MQ..*_ga*MTEzODQ1NjA0OC4xNzY3OTgxNjcz*_ga_HS0GGDE3SH*czE3Njc5ODE2NzAkbzEkZzAkdDE3Njc5ODE2NzAkajYwJGwwJGgyMDgwODE1MTE3",
    "https://www.2dehands.be/v/audio-tv-en-foto/weerstations-en-barometers/a157941915-weerstation-binnen-en-buiten-met-buitensensor-draadloo?c=208777bbdb1d4c4c2a9cc16e04a41d7c&_gl=1*dbtcjx*_up*MQ..*_ga*MTEzODQ1NjA0OC4xNzY3OTgxNjcz*_ga_HS0GGDE3SH*czE3Njc5ODE2NzAkbzEkZzAkdDE3Njc5ODE2NzAkajYwJGwwJGgyMDgwODE1MTE3"
  ],
  "max_retries_per_url": 2
}
```

**The `urls` parameter**: Add the URLs of specific product detail pages you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list. Each URL should point to an individual product listing page on 2dehands.be.

**The `max_retries_per_url` parameter**: Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load. Default value is 2, balancing thoroughness with efficiency.

**The `proxy` parameter**: Proxy configuration is essential for avoiding detection. For best results with 2dehands.be, use Belgian residential proxies (`apifyProxyCountry: "BE"`) to ensure optimal access and reduce blocking risk.

#### Output Format

**Example output**

```json
[
  {
  "item_id": "a157630444",
  "title": "Batterij klasse A - 4 stuks - 3,2V - 100 Ah - Deep Cycle - L",
  "traits": [],
  "ad_type": "Admarkt",
  "bids_info": {
    "is_bidding_enabled": false,
    "is_removing_bid_enabled": false,
    "bids": []
  },
  "price_info": {
    "price_cents": 12995,
    "price_type": "FIXED"
  },
  "custom_dimensions": [
    {
      "index": "seller_account_type",
      "name": "SellerAccountType",
      "scope_level": 3,
      "value": "Admarkt"
    },
    {
      "index": "seller_name",
      "name": "SellerName",
      "scope_level": 3,
      "value": "Retourdeal.nl"
    },
    {
      "index": "seller_id",
      "name": "SellerID",
      "scope_level": 3,
      "value": "56901722"
    },
    {
      "index": "ad_price",
      "name": "AskingPrice",
      "scope_level": 3,
      "value": "12995"
    },
    {
      "index": "ad_type",
      "name": "AdType",
      "scope_level": 3,
      "value": "Admarkt"
    },
    {
      "index": "shipping_method",
      "name": "ShippingMethod",
      "scope_level": 3,
      "value": "Verzenden"
    },
    {
      "index": "ad_seller_type",
      "name": "SellerType",
      "scope_level": 3,
      "value": "UNKNOWN"
    },
    {
      "index": "buyerProtection",
      "name": "AdHasBuyerProtection",
      "scope_level": 3,
      "value": "0"
    },
    {
      "index": "shipping_price",
      "name": "ShippingCost",
      "scope_level": 3,
      "value": "{\"Unavailable\":null}"
    }
  ],
  "seller": {
    "id": 56901722,
    "encrypted_seller_id": "ED74C29709DCA18538319C8E568B3B6C",
    "name": "Retourdeal.nl",
    "page_url": "/u/retourdeal-nl/56901722/",
    "active_since_diff": "6 maanden",
    "active_years": 0,
    "is_asq_enabled": false,
    "is_saved": false,
    "phone_number": "",
    "phone_number_hidden": false,
    "seller_website_url": "https://admarkt.2dehands.be/buyside/url/seDTjPSCkRitBSTh1fN4YNViDIsE-RhoXKFYSEZ9rxFyNF7z26uWtfSbpFLTXyDc_A9btKAy0QNcRg_2G-zQPhZZ9QHZCESloKyU1IMkYdPd5BAZLLC_gsNOglh_LSRmqjBWFpi5AdM_hooH_gUqkP7vosWnHY-E1MTwPRC1aBxXBx3ZZl2p7scNRbeTjzcxd8pLsphFBDYX4SgfxeYGo8ShtjrLHBP8RUdiijPSOkrtLKw7DNGa65pxgnhhmKiTaL6AQ7dI3UcVPfu5_a4x7nTtao6MRu5cU0oLs2bHmMtgyVnu1ejL8w9mk9wg2bjSxjuav1bURwhYvYHofIvs0l1iiz3ClGQge6mV7QZ32D_vSveShy9gIU94-QRwTEpoKgrgwJl614HNo6uZRFe4ByHyoWIwL9YCpFu3Yl75UUbH57406AmpIDxGvkY4kl_Pcu_PBBZ_xAuno8o7NdcS7OIrbJTjS3vlj-OG5ULDoez9ONXj5T9jf1tDSFXFFCZONRftV87iIC2Cz1YumuotUAUSqbnXkkq45MFkj7CdzLutmHIC0SDAhNqHE91-z0YjU0deczfToCEsixIIa0kv8shEa_8wn5qlPlIf4Q2xZ7Hsx_gDHkXD1o8EehfQ666lmgvk1aCGcKQsA9X5F6xoBqx99HsGZrS8vXJ480Bj4BOTVxDOxMAbznHBHPCrvP1OEEbF1oK_ZfJ-mCBR1MA0fxUAGFOZEDnzyU7f3UClqVlSHXZkXi9R2B95h8rDYh2cMeoshBrTL60GoDLPBwlFDYGC8YM4YOpYIOBi894RsdQ9ry8GlG6e0HvtRPg_hEPC_02d19_ufv8-THPcH9Bb7-B2MsMZHrCDHHcK7E_CH1UGS3NJc-ntbymQ2NDPN_pl_wr5e8WUm_sEJk5LE50M95eDevGpWeE1_8dOAZuYGqTUnbf10f4ATG-7jyzfJFwL-L6f0jpchYmBQpioCSbZVnF7BKEDCFm5rBeXjR50U9HDveHPxY6TBMsGzrt8sKF1RwUv3eStCzRzn0hEWceMVkxfIwODUowhRu72MzpyrkbRnWK0qw7eJ2M58iRve9ysBySX8wSh-VXe8UEr9IxWv55bCJYsRAKCAc10MoX_8aNjq6lCqCdV9ouqUDpCDqa-7kkiHo52k4dpU_ZF83GIHw",
    "seller_website_display_url": "klik hier en bestel dit product op retourdeal.nl",
    "seller_type": "UNKNOWN",
    "show_map": true,
    "show_seller_reviews": true,
    "show_profile_picture": false,
    "show_sales_representatives": false,
    "show_seller_response_rate": true,
    "show_verifications": true,
    "show_dealer_legal_disclaimer": false,
    "finance_available": false,
    "request_external_reviews": false,
    "allow_car_test_drive_request": false,
    "with_call_availability_indicator": false,
    "location": {
      "is_abroad": false,
      "is_on_country_level": true,
      "latitude": 0,
      "longitude": 0
    },
    "contact_options": [
      "website"
    ]
  },
  "gallery": {
    "image_urls": [
      "//twhbe.images.icas.io/api/v1/4f9d6f39/images/db/db75e0ac-d527-4cd7-92f0-a5ec6d3af6e0?rule=eps_#.JPG",
      "//twhbe.images.icas.io/api/v1/4f9d6f39/images/ba/ba31cdf3-cb5b-436b-9f6b-21545408f680?rule=eps_#.JPG",
      "//twhbe.images.icas.io/api/v1/4f9d6f39/images/97/97da2f06-22d7-4ecb-9fe9-f74c45562ddd?rule=eps_#.JPG",
      "//twhbe.images.icas.io/api/v1/4f9d6f39/images/e0/e08b82a6-640b-4c6c-bf7e-142a560d74fc?rule=eps_#.JPG",
      "//twhbe.images.icas.io/api/v1/4f9d6f39/images/0d/0d5f1fbd-5ea0-48d8-8aa5-97959158713d?rule=eps_#.JPG",
      "//twhbe.images.icas.io/api/v1/4f9d6f39/images/59/59384c49-f8c6-4c18-b1ce-1058958acdbb?rule=eps_#.JPG",
      "//twhbe.images.icas.io/api/v1/4f9d6f39/images/f4/f41ae157-65fe-474d-9e11-884c1e27f9dc?rule=eps_#.JPG",
      "//twhbe.images.icas.io/api/v1/4f9d6f39/images/e2/e25981b1-457c-497b-afe2-b1efb09ce429?rule=eps_#.JPG",
      "//twhbe.images.icas.io/api/v1/4f9d6f39/images/dd/ddd6fec3-0f78-48e7-9a7a-7c53d8e17872?rule=eps_#.JPG"
    ],
    "media": {
      "image_sizes": {
        "x_l": "84",
        "m": "82",
        "x_x_x_l": "86",
        "l": "83",
        "x_x_l": "85",
        "x_x_s": "14",
        "x_s": "14",
        "s": "82"
      },
      "images": [
        {
          "id": 0,
          "media_id": "00000000-0000-0000-0000-000000000000",
          "base": "//twhbe.images.icas.io/api/v1/4f9d6f39/images/db/db75e0ac-d527-4cd7-92f0-a5ec6d3af6e0?rule=eps_#.JPG",
          "original_height": 664,
          "original_width": 1024,
          "aspect_ratio": {
            "width": 128,
            "height": 83
          }
        },
        {
          "id": 0,
          "media_id": "00000000-0000-0000-0000-000000000000",
          "base": "//twhbe.images.icas.io/api/v1/4f9d6f39/images/ba/ba31cdf3-cb5b-436b-9f6b-21545408f680?rule=eps_#.JPG",
          "original_height": 1024,
          "original_width": 1024,
          "aspect_ratio": {
            "width": 1,
            "height": 1
          }
        },
        {
          "id": 0,
          "media_id": "00000000-0000-0000-0000-000000000000",
          "base": "//twhbe.images.icas.io/api/v1/4f9d6f39/images/97/97da2f06-22d7-4ecb-9fe9-f74c45562ddd?rule=eps_#.JPG",
          "original_height": 1024,
          "original_width": 1024,
          "aspect_ratio": {
            "width": 1,
            "height": 1
          }
        },
        {
          "id": 0,
          "media_id": "00000000-0000-0000-0000-000000000000",
          "base": "//twhbe.images.icas.io/api/v1/4f9d6f39/images/e0/e08b82a6-640b-4c6c-bf7e-142a560d74fc?rule=eps_#.JPG",
          "original_height": 1024,
          "original_width": 1024,
          "aspect_ratio": {
            "width": 1,
            "height": 1
          }
        },
        {
          "id": 0,
          "media_id": "00000000-0000-0000-0000-000000000000",
          "base": "//twhbe.images.icas.io/api/v1/4f9d6f39/images/0d/0d5f1fbd-5ea0-48d8-8aa5-97959158713d?rule=eps_#.JPG",
          "original_height": 1024,
          "original_width": 1024,
          "aspect_ratio": {
            "width": 1,
            "height": 1
          }
        },
        {
          "id": 0,
          "media_id": "00000000-0000-0000-0000-000000000000",
          "base": "//twhbe.images.icas.io/api/v1/4f9d6f39/images/59/59384c49-f8c6-4c18-b1ce-1058958acdbb?rule=eps_#.JPG",
          "original_height": 1024,
          "original_width": 1024,
          "aspect_ratio": {
            "width": 1,
            "height": 1
          }
        },
        {
          "id": 0,
          "media_id": "00000000-0000-0000-0000-000000000000",
          "base": "//twhbe.images.icas.io/api/v1/4f9d6f39/images/f4/f41ae157-65fe-474d-9e11-884c1e27f9dc?rule=eps_#.JPG",
          "original_height": 1024,
          "original_width": 1024,
          "aspect_ratio": {
            "width": 1,
            "height": 1
          }
        },
        {
          "id": 0,
          "media_id": "00000000-0000-0000-0000-000000000000",
          "base": "//twhbe.images.icas.io/api/v1/4f9d6f39/images/e2/e25981b1-457c-497b-afe2-b1efb09ce429?rule=eps_#.JPG",
          "original_height": 1024,
          "original_width": 1024,
          "aspect_ratio": {
            "width": 1,
            "height": 1
          }
        },
        {
          "id": 0,
          "media_id": "00000000-0000-0000-0000-000000000000",
          "base": "//twhbe.images.icas.io/api/v1/4f9d6f39/images/dd/ddd6fec3-0f78-48e7-9a7a-7c53d8e17872?rule=eps_#.JPG",
          "original_height": 1024,
          "original_width": 1024,
          "aspect_ratio": {
            "width": 1,
            "height": 1
          }
        }
      ]
    },
    "alt": "Batterij klasse A - 4 stuks - 3,2V - 100 Ah - Deep Cycle - L, Audio, Tv en Foto, Accu's en Batterijen, Nieuw, Verzenden"
  },
  "shipping_information": {
    "augmented_labels": [
      {
        "should_show_more_info": false,
        "carrier_id": null,
        "labels": [
          {
            "label": "",
            "price": "",
            "delivery_method": "UNKNOWN_BECAUSE_DIY",
            "carrier_name": "Zelf Verzenden"
          }
        ]
      }
    ],
    "delivery_type": {
      "attribute_label": "Levering",
      "attribute_value_label": "Verzenden",
      "attribute_value_key": "Verzenden"
    }
  },
  "stats": {
    "favorited_count": 1,
    "view_count": 63,
    "since": "2025-12-12T13:57:16Z"
  },
  "category": {
    "id": 2035,
    "name": "Accu's en Batterijen",
    "full_name": "Accu's en Batterijen",
    "parent_id": 31,
    "parent_name": "Audio, Tv en Foto"
  },
  "is_saved": false,
  "is_saving_enabled": true,
  "is_free_ad": false,
  "is_animal_ad": false,
  "is_car_ad": false,
  "is_automotive_ad": false,
  "is_caravans_and_camping_ad": false,
  "flags": {
    "show_banners_on_vip": true,
    "show_external_ads": true,
    "show_seller_other_items": true,
    "request_relevant_items": true,
    "is_admarkt": true,
    "allow_trade_in_request": false,
    "shippable": true,
    "request_feeds": false,
    "has_call_tracking": false,
    "is_lease_car": false,
    "show_loan_indicators": false,
    "with_banners_from_seller": false
  },
  "highlights": [],
  "buyers_protection_allowed": false,
  "thin_content": false,
  "buy_it_now_enabled": false,
  "large_item_shipping_logical_allowed": false
}
]
```

The scraper returns comprehensive product data with each field serving specific purposes:

- **Item ID**: Unique product listing identifier. *Essential for tracking listings over time, avoiding duplicates, and referencing specific products in your database.*

- **Title**: Product listing title. *Key for product identification, search indexing, and understanding what's being sold.*

- **Traits**: Product characteristics and attributes. *Provides detailed specifications like condition, brand, model, size, color, and other product-specific features crucial for accurate categorization and comparison.*

- **Ad Type**: Type of advertisement (e.g., standard listing, featured ad). *Indicates listing prominence and seller investment level, useful for competitive analysis.*

- **Bids Info**: Bidding information if auction-style listing. *Shows current bid amounts, number of bidders, and auction dynamics for price analysis.*

- **Price Info**: Detailed pricing information including asking price, currency, and price type. *Critical for price monitoring, market value analysis, and identifying pricing opportunities.*

- **Custom Dimensions**: Additional tracking dimensions and metadata. *Provides platform-specific data for advanced analytics and tracking.*

- **Seller**: Comprehensive seller information including username, location, rating, and verification status. *Essential for seller reputation analysis, trust assessment, and identifying professional vs. casual sellers.*

- **Gallery**: Array of product images URLs. *Visual content for product verification, quality assessment, and enriched database records.*

- **Shipping Information**: Shipping options, costs, and delivery methods available. *Important for total cost analysis, logistics planning, and understanding seller flexibility.*

- **Stats**: Listing statistics including views, saves, and engagement metrics. *Reveals listing popularity, market demand indicators, and competitive positioning insights.*

- **Category**: Product category and subcategory classification. *Enables market segmentation, category-specific analysis, and organized data structuring.*

- **Is Saved**: Boolean indicating if listing is in user's saved items. *Tracking flag for personal monitoring (context-dependent on scraping session).*

- **Is Saving Enabled**: Whether saving functionality is available for this listing. *Indicates listing status and availability.*

- **Is Free Ad**: Boolean showing if item is listed for free/giveaway. *Important for filtering, identifying non-commercial listings, and market behavior analysis.*

- **Is Animal Ad**: Boolean indicating animal-related listing. *Special category flag for compliance and specialized market analysis.*

- **Is Car Ad**: Boolean for automotive listings. *Identifies vehicle marketplace segment requiring specialized handling.*

- **Is Automotive Ad**: Boolean for broader automotive category including parts and accessories. *Enables automotive market segmentation.*

- **Is Caravans and Camping Ad**: Boolean for recreational vehicle category. *Specialized market segment identifier.*

- **Flags**: Various listing flags and status indicators. *Shows special conditions, featured status, urgency markers, and platform-specific attributes.*

- **Highlights**: Featured highlights or selling points emphasized by seller. *Captures key value propositions and marketing messages.*

- **Buyers Protection Allowed**: Whether buyer protection is available for transaction. *Important for risk assessment and transaction security evaluation.*

- **Thin Content**: Flag indicating minimal listing information. *Quality indicator useful for filtering low-quality listings.*

- **Buy It Now Enabled**: Boolean showing immediate purchase option availability. *Indicates transaction flexibility and seller preferences.*

- **Large Item Shipping Logical Allowed**: Whether large item shipping is logistically feasible. *Important for furniture, appliances, and bulky goods analysis.*

Each field serves specific purposes in market research, competitive intelligence, price monitoring, and resale opportunity identification within the Belgian marketplace.

### Usage Guide

#### Setting Up Product URL Extraction

**Step 1: Identify Target Products**

Navigate to 2dehands.be and locate the specific product listings you want to analyze. You can find products through:

- Category browsing
- Keyword searches
- Seller profiles
- Saved searches or alerts

Copy the full URL from each product detail page you want to scrape.

**Step 2: Prepare URL List**

Collect product URLs in your input configuration:

- Add URLs individually for small batches
- Use Bulk edit feature for large lists
- Ensure URLs are complete and properly formatted
- Remove tracking parameters if desired (though not required)

**Step 3: Configure Proxy Settings**

For optimal scraping performance:

- Enable Apify residential proxies
- Set `apifyProxyCountry` to `"BE"` for Belgian proxies
- This provides local IP addresses reducing detection risk

**Step 4: Set Retry Parameters**

Configure `max_retries_per_url` based on your needs:

- Use default value of 2 for standard reliability
- Increase for products that may have loading issues
- Decrease if speed is more important than completeness

#### Best Practices

**URL Collection Strategy:**

- Verify URLs point to active listings before batch processing
- Organize URLs by category or research objective
- Keep backup copies of URL lists
- Check for expired or removed listings periodically

**Proxy Configuration:**

- Always use residential proxies for 2dehands.be
- Belgian proxies provide best access and lowest block rates
- Monitor for blocked requests and adjust if needed

**Batch Processing:**

- Start with small batches (10-20 URLs) to validate configuration
- Scale up after confirming successful extraction
- Implement delays between large batches to avoid rate limiting
- Track which URLs have been processed to avoid duplicates

**Data Validation:**

- Cross-check sample outputs against actual listings
- Verify all expected fields are populated
- Check image URLs are accessible
- Validate price and shipping information accuracy

#### Common Use Cases

**Price Monitoring:**

- Track pricing trends across product categories
- Identify undervalued listings for resale opportunities
- Monitor competitor pricing strategies
- Analyze seasonal price fluctuations

**Market Research:**

- Assess product availability and supply
- Understand seller behavior and listing patterns
- Analyze category-specific market dynamics
- Identify emerging trends in Belgian marketplace

**Competitive Intelligence:**

- Monitor competitor product offerings
- Track listing optimization strategies
- Analyze successful listing characteristics
- Benchmark pricing and positioning

**Inventory Sourcing:**

- Identify resale opportunities
- Monitor specific product categories for deals
- Track seller activity for sourcing relationships
- Analyze product condition and pricing for profitability

#### Troubleshooting

**URL Access Issues:**

- Verify URLs are still active (listings may expire)
- Check proxy configuration if consistently blocked
- Ensure URLs are properly formatted
- Try Belgian residential proxies if using other regions

**Missing Data Fields:**

- Some fields may be empty for certain listing types
- Verify listing is active and fully loaded
- Check if field is category-specific
- Consider listing age (older listings may have different schema)

**Rate Limiting:**

- Reduce batch sizes if encountering blocks
- Increase delays between requests
- Verify proxy rotation is working
- Consider spreading extraction over longer timeframes

### Benefits and Applications

The 2dehands.be Product Details Scraper transforms manual product research into automated data collection, reducing hours of manual work to minutes of automated extraction.

**Primary Applications:**

**Resale Business Intelligence:** Identify undervalued products for arbitrage opportunities, monitor inventory availability across categories, track price fluctuations for optimal purchase timing, and analyze seller behavior patterns for sourcing strategies.

**Market Price Analysis:** Build comprehensive pricing databases by category, track market value trends over time, identify pricing anomalies and opportunities, and benchmark prices against market standards.

**Competitive Research:** Monitor competitor product offerings and positioning, analyze listing optimization techniques, track successful selling strategies, and understand market dynamics in specific niches.

**Consumer Behavior Analysis:** Study Belgian marketplace preferences and trends, analyze category popularity through listing volumes, understand seasonal demand patterns, and identify emerging product categories.

**Inventory Planning:** Assess product availability and supply levels, identify gaps in market offerings, understand seller concentration by category, and plan inventory based on market demand indicators.

**The scraper provides advantages through:**

- Comprehensive product data including 20+ detailed fields
- Seller information for reputation and trust analysis
- Engagement statistics revealing market demand
- Category-specific flags enabling specialized analysis
- Shipping and transaction details for total cost assessment
- Bulk processing capability for large-scale research

The structured output integrates with analytics platforms, price monitoring tools, inventory management systems, and business intelligence solutions for immediate actionable insights.

### Conclusion

The 2dehands.be Product Details Scraper enables efficient extraction of detailed product data from Belgium's largest online marketplace. By automating the collection of comprehensive listing information, it empowers businesses to make data-driven decisions about pricing, inventory, and market positioning.

Whether you're monitoring prices for resale opportunities, conducting market research on Belgian consumer behavior, or analyzing competitive dynamics, this scraper provides the systematic data extraction needed to accelerate your business intelligence gathering in the Belgian marketplace.

## Related Actors

- [**2dehands.com Product Search Scraper**](https://apify.com/ecomscrape/2dehands-product-search-scraper): A specialized data extraction solution engineered to harvest comprehensive product information from 2dehands.com's marketplace.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about 2dehands.com Product Details Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Specific product urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `max_retries_per_url` (type: `integer`):

Limit the number of retries for each URL, if the scrape is detected as a bot or the page fails to load

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

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.2dehands.be/v/audio-tv-en-foto/accu-s-en-batterijen/a157630444-batterij-klasse-a-4-stuks-3-2v-100-ah-deep-cycle-l?c=cd58aa426c65a7bcbba6cb86b1aa4655&casData=9T7RsgKEgxzqpDISTYcDks4MVARFOS0un58jVUVdqfgI5dCBclTUDVxao7pV1ZJA0cML1H2L1oeXPjnLgg1dUcoprj8GhP9Jg2Ajlbnxi6-N0-01qWV_aJ2v5YV2cv6c97f-TXggkKJOOtAULHVRZQz2q32LYUiok0rlULao3pL4BNyKZ_fb9ueuJsYUNfNON4cdqOjQhToqt0yuTP4VGTK-fMSIrQt6kHeOrF9Y__v3HEMOfo8pl4Dt2LhjtavvU0jUMNDaZnPmuK44_3xvuisH8xzCMrhL0ImZ31FTxlj4tpu-UbTXA-OVDthdcAt8VnZwel61ZMyGaS_Wj09Zt60vgi3KePsPZRtXH3QB3gE8ZhF_m7bc9zfcuzkUjJHop53kv3722PNjPlMs2MgvIY-fi1O4ONRQNBv0-IaYcB7Y79XCf9BRhjUSxOkww7DTIMHvo7FvgqolAX-6uj7jaICWIN5QdvpDz3vQB8IhJry1m7kQv_7WSH6oA9OPDssiIPXl47L1dZ3HiFO2eL4tAkTn86Bbis7zcDM5_F6xs4I&_gl=1*tzhrp3*_up*MQ..*_ga*NjMyNDU2ODI2LjE3Njc5Nzg5NDk.*_ga_HS0GGDE3SH*czE3Njc5Nzg5NDUkbzEkZzAkdDE3Njc5Nzg5NTYkajQ5JGwwJGgyMDA0OTQ2MDY0"
  ],
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "urls": [
        "https://www.2dehands.be/v/audio-tv-en-foto/accu-s-en-batterijen/a157630444-batterij-klasse-a-4-stuks-3-2v-100-ah-deep-cycle-l?c=cd58aa426c65a7bcbba6cb86b1aa4655&casData=9T7RsgKEgxzqpDISTYcDks4MVARFOS0un58jVUVdqfgI5dCBclTUDVxao7pV1ZJA0cML1H2L1oeXPjnLgg1dUcoprj8GhP9Jg2Ajlbnxi6-N0-01qWV_aJ2v5YV2cv6c97f-TXggkKJOOtAULHVRZQz2q32LYUiok0rlULao3pL4BNyKZ_fb9ueuJsYUNfNON4cdqOjQhToqt0yuTP4VGTK-fMSIrQt6kHeOrF9Y__v3HEMOfo8pl4Dt2LhjtavvU0jUMNDaZnPmuK44_3xvuisH8xzCMrhL0ImZ31FTxlj4tpu-UbTXA-OVDthdcAt8VnZwel61ZMyGaS_Wj09Zt60vgi3KePsPZRtXH3QB3gE8ZhF_m7bc9zfcuzkUjJHop53kv3722PNjPlMs2MgvIY-fi1O4ONRQNBv0-IaYcB7Y79XCf9BRhjUSxOkww7DTIMHvo7FvgqolAX-6uj7jaICWIN5QdvpDz3vQB8IhJry1m7kQv_7WSH6oA9OPDssiIPXl47L1dZ3HiFO2eL4tAkTn86Bbis7zcDM5_F6xs4I&_gl=1*tzhrp3*_up*MQ..*_ga*NjMyNDU2ODI2LjE3Njc5Nzg5NDk.*_ga_HS0GGDE3SH*czE3Njc5Nzg5NDUkbzEkZzAkdDE3Njc5Nzg5NTYkajQ5JGwwJGgyMDA0OTQ2MDY0"
    ],
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/2dehands-product-details-scraper").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 = {
    "urls": ["https://www.2dehands.be/v/audio-tv-en-foto/accu-s-en-batterijen/a157630444-batterij-klasse-a-4-stuks-3-2v-100-ah-deep-cycle-l?c=cd58aa426c65a7bcbba6cb86b1aa4655&casData=9T7RsgKEgxzqpDISTYcDks4MVARFOS0un58jVUVdqfgI5dCBclTUDVxao7pV1ZJA0cML1H2L1oeXPjnLgg1dUcoprj8GhP9Jg2Ajlbnxi6-N0-01qWV_aJ2v5YV2cv6c97f-TXggkKJOOtAULHVRZQz2q32LYUiok0rlULao3pL4BNyKZ_fb9ueuJsYUNfNON4cdqOjQhToqt0yuTP4VGTK-fMSIrQt6kHeOrF9Y__v3HEMOfo8pl4Dt2LhjtavvU0jUMNDaZnPmuK44_3xvuisH8xzCMrhL0ImZ31FTxlj4tpu-UbTXA-OVDthdcAt8VnZwel61ZMyGaS_Wj09Zt60vgi3KePsPZRtXH3QB3gE8ZhF_m7bc9zfcuzkUjJHop53kv3722PNjPlMs2MgvIY-fi1O4ONRQNBv0-IaYcB7Y79XCf9BRhjUSxOkww7DTIMHvo7FvgqolAX-6uj7jaICWIN5QdvpDz3vQB8IhJry1m7kQv_7WSH6oA9OPDssiIPXl47L1dZ3HiFO2eL4tAkTn86Bbis7zcDM5_F6xs4I&_gl=1*tzhrp3*_up*MQ..*_ga*NjMyNDU2ODI2LjE3Njc5Nzg5NDk.*_ga_HS0GGDE3SH*czE3Njc5Nzg5NDUkbzEkZzAkdDE3Njc5Nzg5NTYkajQ5JGwwJGgyMDA0OTQ2MDY0"],
    "max_retries_per_url": 2,
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/2dehands-product-details-scraper").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 '{
  "urls": [
    "https://www.2dehands.be/v/audio-tv-en-foto/accu-s-en-batterijen/a157630444-batterij-klasse-a-4-stuks-3-2v-100-ah-deep-cycle-l?c=cd58aa426c65a7bcbba6cb86b1aa4655&casData=9T7RsgKEgxzqpDISTYcDks4MVARFOS0un58jVUVdqfgI5dCBclTUDVxao7pV1ZJA0cML1H2L1oeXPjnLgg1dUcoprj8GhP9Jg2Ajlbnxi6-N0-01qWV_aJ2v5YV2cv6c97f-TXggkKJOOtAULHVRZQz2q32LYUiok0rlULao3pL4BNyKZ_fb9ueuJsYUNfNON4cdqOjQhToqt0yuTP4VGTK-fMSIrQt6kHeOrF9Y__v3HEMOfo8pl4Dt2LhjtavvU0jUMNDaZnPmuK44_3xvuisH8xzCMrhL0ImZ31FTxlj4tpu-UbTXA-OVDthdcAt8VnZwel61ZMyGaS_Wj09Zt60vgi3KePsPZRtXH3QB3gE8ZhF_m7bc9zfcuzkUjJHop53kv3722PNjPlMs2MgvIY-fi1O4ONRQNBv0-IaYcB7Y79XCf9BRhjUSxOkww7DTIMHvo7FvgqolAX-6uj7jaICWIN5QdvpDz3vQB8IhJry1m7kQv_7WSH6oA9OPDssiIPXl47L1dZ3HiFO2eL4tAkTn86Bbis7zcDM5_F6xs4I&_gl=1*tzhrp3*_up*MQ..*_ga*NjMyNDU2ODI2LjE3Njc5Nzg5NDk.*_ga_HS0GGDE3SH*czE3Njc5Nzg5NDUkbzEkZzAkdDE3Njc5Nzg5NTYkajQ5JGwwJGgyMDA0OTQ2MDY0"
  ],
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ecomscrape/2dehands-product-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ecomscrape/2dehands-product-details-scraper"
        }
    }
}
```

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/wxz04SBCO38XMF9uh/builds/egxNgTieLzhAje8ui/openapi.json
