Watch one saved search on 2dehands.be or 2ememain.be and get only the NEW listings each run - postcode radius and price band included. Built for hourly schedules with email or Slack. No seller identity, ever. Quiet runs cost nothing.
$1.79 / 1,000 · Recently published - building its public record.
Run it on Apify → Free to try - runs bill per result on your own account.
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
searchQuery |
string | The saved search to watch, exactly as you would type it on 2dehands.be or 2ememain.be, e.g. "gazelle elektrische fiets". A query, a category id, or both. | gazelle elektrische fiets |
domain |
string | Which Belgian site to watch: 2dehands.be (Dutch) or 2ememain.be (French). Both serve the same listings. | 2dehands.be |
categoryId |
integer | Optional Marktplaats level-1 category id to watch. | - |
postcode |
string | Belgian postcode (e.g. "2000") to center a radius search on. | - |
radiusKm |
integer | Watch this many km around the postcode (up to 300). Needs a postcode. | - |
priceMinEur |
integer | Only listings costing at least this much. | - |
priceMaxEur |
integer | Only listings costing at most this much. | - |
maxItems |
integer | Stop after this many new listings per run. Free-plan runs are capped at 25 items. | 200 |
stateStoreName |
string | Named store remembering which listings were already delivered, so scheduled runs emit only new ones. Use a different name to track several searches independently. | tweedehands-alerts-state |
resetState |
boolean | Forget everything seen so far and deliver the current snapshot as a fresh baseline. | False |
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
| Field | Type | Meaning |
|---|---|---|
listingId |
string | Marketplace listing ID, e.g. m2419606891. |
title |
string | Listing title as posted. |
description |
string | Listing description snippet as returned by the marketplace search. |
priceCents |
integer | Asking price in euro cents. Absent when the listing has no price. |
priceType |
string | Marketplace price kind, e.g. FIXED or MIN_BID. |
city |
string | Municipality of the listing. |
country |
string | Country of the listing. |
latitude |
number | Marketplace-provided municipality-level coordinate, not a seller address. |
longitude |
number | Marketplace-provided municipality-level coordinate, not a seller address. |
postedAt |
string | Posting date as the marketplace displays it: a date, or a relative label like 'Vandaag' (today). |
imageUrls |
array | Protocol-relative image URLs; prepend https: to use them. |
categoryId |
integer | Numeric marketplace category ID. Reusable as the categoryId input. |
url |
string | Direct link to the listing. |
attributes |
object | Whitelisted, non-personal listing attributes that vary by category — e.g. condition and delivery on any item; constructionYear, mileage, fuel, transmission and options for cars; livingArea and numberOfRooms for property; storage and cameraResolution for phones. Present when the listing has them. |
reserved |
boolean | Whether the listing is currently marked as reserved by the marketplace. |
sellerType |
string | Whether the listing comes from a business or a private seller. The only seller-related field in the output. |
Recently published - building its public record. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.