2dehands Scraper — Belgium Classified Ads & Prices avatar

2dehands Scraper — Belgium Classified Ads & Prices

Pricing

from $2.10 / 1,000 results

Go to Apify Store
2dehands Scraper — Belgium Classified Ads & Prices

2dehands Scraper — Belgium Classified Ads & Prices

Scrape 2dehands.be, the largest classified ads marketplace in Belgium. Extract title and description, price in euros and price type, seller name, city and GPS coordinates, listing date, category and photos across every category.

Pricing

from $2.10 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Belgium's largest classified ads marketplace in rows: title and description, price in euros and price type, seller, city, GPS coordinates, listing date and photos — across every category.

What does the 2dehands Scraper do?

This Actor collects classified ads from 2dehands.be, the largest consumer marketplace in Belgium and the default place Flemish buyers and sellers meet for anything second-hand.

The ads are read from the page's own server state rather than the rendered cards. That gets three things the cards do not show cleanly: the price as an integer in cents rather than formatted text, the price type — whether the seller wants a fixed price, a minimum bid, or is giving the item away — and the seller's GPS coordinates, so geographic analysis needs no geocoding afterwards.

Who is it for?

  • Second-hand and recommerce platforms benchmarking Belgian resale prices.
  • Car and bike dealers tracking private-sale asking prices in their province.
  • Market researchers measuring supply and pricing in a consumer category.
  • Price-guide and valuation services building Belgian resale curves.
  • Retail and brand teams watching the grey and second-hand market for their products.
  • Cross-border traders comparing Belgian prices against the Dutch market.

Use cases

  • Track asking prices for a car model across Belgium.
  • Compare fixed-price against bidding ads to gauge seller confidence.
  • Map ad density by city using the coordinates on every row.
  • Watch new-listing volume in a category as a demand indicator.
  • Build a second-hand price index for consumer electronics.
  • Find professional sellers by counting ads per seller name.
  • Compare the same category against the Dutch market for arbitrage.

Why use this 2dehands Scraper?

  • Price as a clean number, converted from cents, with bidding sentinels filtered out.
  • Price type kept — FIXED, MIN_BID and the rest, so a €1 opening bid is not read as a €1 sale.
  • GPS coordinates on every row, not just a city name.
  • Listing dates converted to ISO, with the Dutch label preserved alongside. See the FAQ.
  • Thirty ads per page, fetched several pages at a time.
  • Keyless and login-free.

What data can you extract?

One row per ad. Anything the source left blank comes back as null.

FieldDescription
itemId2dehands item ID
urlLink to the ad
titleAd title
descriptionAd description
priceAsking price in euros
priceTypeFIXED, MIN_BID, FAST_BID, RESERVED, FREE
sellerNameSeller display name
citySeller city
latitudeLatitude
longitudeLongitude
publishedAtListing date as ISO
publishedTextListing date as the site shows it
imageUrlFirst photo
categoryThe category crawled
scrapedAtISO timestamp of collection

Sample output

{
"itemId": "m2434093236",
"url": "https://www.2dehands.be/v/auto-s/jaguar/m2434093236-jaguar-f-pace-r-sport",
"title": "Jaguar F-Pace R-sport",
"description": "Een klassevolle, krachtige en perfect onderhouden SUV.",
"price": 23800,
"priceType": "MIN_BID",
"sellerName": "bvdv",
"city": "Retie & Deel Arendonk & Oud-Turnhout",
"latitude": 51.267067584607,
"longitude": 5.0767831589577,
"publishedAt": "2026-08-23",
"publishedText": "Vandaag",
"imageUrl": "https://images.2dehands.com/api/v1/hz-twh-pro-listing/images/8a.jpg",
"category": "auto s",
"scrapedAt": "2026-08-23T11:29:25.852Z"
}

How to use the 2dehands Scraper

Option A — one category

Put a category slug in Categoryauto-s, fietsen-en-brommers, huis-en-inrichting, computers-en-software — set Maximum results and run.

Option B — several categories

Run once per category and combine the datasets. Each row carries its category.

Option C — a price watch

Schedule a daily run and diff by itemId to see what sold, what was relisted and what changed price.

Input parameters

ParameterTypeDefaultDescription
categorystringauto-sCategory slug as it appears in a 2dehands URL after /l/
maxResultsinteger1000Stop after this many ads (max 50,000)
proxyConfigurationobjectBE residential2dehands serves Belgian exits

Tips for best results

  • Always read priceType next to price. A MIN_BID of €50 is an opening bid, not an asking price, and averaging the two together will mislead you.
  • Use the coordinates, not the city string, for mapping — Belgian municipality names are often compound, as in the sample above.
  • publishedText is the audit trail for publishedAt; keep it if you need to justify a date.
  • Take the slug from the URL: 2dehands.be/l/**fietsen-en-brommers**/.
  • Deduplicate on itemId when combining scheduled runs; relisted ads keep their id.

Integrations

Connect the dataset to Make, Zapier, Airbyte, Google Sheets, Slack, GitHub or any HTTP endpoint through Apify integrations, or schedule a run and push results into a warehouse with a webhook.

API usage

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("logiover/2dehands-belgium-marketplace-scraper").call(run_input={
"category": "auto-s",
"maxResults": 3000,
})
rows = list(client.dataset(run["defaultDatasetId"]).iterate_items())
fixed = [r["price"] for r in rows if r["priceType"] == "FIXED" and r["price"]]
print("median fixed price €", sorted(fixed)[len(fixed) // 2])

Use with AI agents (MCP)

The Actor is callable from the Apify MCP server, so an assistant can pull Belgian marketplace ads directly and answer pricing and availability questions.

FAQ

Do I need a 2dehands account or API key?

No. This Actor reads the public listing pages; there is nothing to register.

How many ads can one run return?

Up to 50,000 per run, thirty per page. Pages are fetched several at a time, so a few thousand ads take about a minute.

Why are there two date columns?

Because 2dehands does not publish a timestamp on the listing card — it publishes a Dutch label such as "Vandaag" (today), "Gisteren" (yesterday) or "20 aug 25". A generic date parser returns nothing for all of those. This Actor converts the label to an ISO date in publishedAt and keeps the original wording in publishedText.

What do the price types mean?

FIXED is an asking price, MIN_BID an opening bid, FAST_BID an auction-style listing, FREE a giveaway and RESERVED an ad already promised to a buyer. Filter on this before computing any average.

Why is price sometimes empty?

Because the ad has no real amount attached — a giveaway or a "make me an offer" listing carries a sentinel value rather than a price, which is left as null rather than reported as a figure.

Is the site in Dutch or French?

2dehands is the Dutch-language Belgian marketplace; its French-language sibling is a separate site. Titles, descriptions and date labels come back in Dutch.

Are the coordinates the exact address?

No. They are the seller's approximate location as the site publishes it, accurate to the municipality rather than the doorstep.

Can I export to CSV or Excel?

Yes — every run's dataset exports to JSON, CSV, Excel, XML or JSONL.

How fresh is the data?

Each run reads the marketplace live, so results are as current as 2dehands itself.

Why did my run return zero ads?

Almost always a category slug that does not exist. Copy it from a 2dehands URL exactly as it appears after /l/.

2dehands is a public marketplace and this Actor reads only its public listing pages — no accounts, no logins. Ad titles, prices and locations are commercial listings published for public view. Seller display names may be personal, so you remain responsible for how you use the data, including under the GDPR, and for respecting the marketplace's terms in your own jurisdiction.

  • Marktplaats Scraper — the Dutch sibling marketplace.
  • Jofogas Scraper — Hungary's largest classifieds.
  • Kleinanzeigen Scraper — German classifieds.
  • Subito Scraper — Italian classifieds.