2dehands & 2ememain New Listing Alerts

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.

What you give it

Every field is optional unless marked; sensible defaults do the rest.

FieldTypeWhat it doesDefault
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

What you get back

One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.

FieldTypeMeaning
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.

Health

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.