Marktplaats New Listing Alerts
Watch one saved Marktplaats search - query, category, postcode radius, price band - and get only the NEW listings each run.
Watch one saved Marktplaats search - query, category, postcode radius, price band - and get only the NEW listings each run. Built for hourly schedules with email or Slack. No seller identity, ever. Quiet runs cost nothing.
$3.00 / 1,000 · 100.0% success over 26 public runs in the last 30 days.
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.
| Field | Type | What it does | Default |
|---|---|---|---|
searchQuery |
string | The saved search to watch, exactly as you would type it on marktplaats.nl, e.g. "gazelle elektrische fiets". A query, a category id, or both. | gazelle elektrische fiets |
categoryId |
integer | Optional Marktplaats level-1 category id to watch. | - |
postcode |
string | Dutch postcode (e.g. "3511AA") 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 5 items. The form starts at 25 for a cheap first run - that is the form's prefill, not a cap on your plan; clear it to use the default of 200. | 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. | marktplaats-alerts-state |
resetState |
boolean | Forget everything seen so far and deliver the current snapshot as a fresh baseline. | False |
scrapeDetails |
boolean | The search returns only a ~200-character description snippet. Turn this on to read each new listing's own page for the seller's full description. One extra request per new listing delivered, so slower. The seller/trader block is never read; only the description text reaches the output. Off by default. | False |
reportFailures |
boolean | When a run fails, send the developer the actor name and build, an error category, the error message (truncated) and a one-way hash of your input - so a bug can be fixed without anyone asking you to reproduce it. Your input itself, your results and your identity are never sent, and successful runs send nothing at all. Switch this off and the actor behaves exactly the same. | True |
What you get back
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
A real result row from a recent run:
{
"attributes": {
"brand": "Batavus",
"condition": "Gebruikt",
"manufacturerTradename": "Gewoonfietsen"
},
"categoryId": 448,
"city": "Zoetermeer",
"country": "Nederland",
"description": "Wil je de stap maken van een gewone stadsfiets naar sportief doortrappen, dan is de batavus galibier een mooi begin. Deze sportieve fiets he...",
"imageUrls": [
"//images.marktplaats.com/api/v1/hz-mp-pro-listing/images/ee8c5486-b0d8-44f1-b3ab-935fc783e67a?rule=ecg_mp_eps$_82.jpg",
"//images.marktplaats.com/api/v1/hz-mp-pro-listing/images/9b375022-16a9-4ea4-b72f-33496b56053e?rule=ecg_mp_eps$_82.jpg",
"//images.marktplaats.com/api/v1/hz-mp-pro-listing/images/1b8e6974-fcbb-4268-a1a4-688e476e2837?rule=ecg_mp_eps$_82.jpg"
],
"latitude": 52.048082582629,
"listingId": "m2451353890",
"longitude": 4.506422728435,
"postedAt": "Vandaag",
"priceCents": 44900,
"priceType": "FIXED",
"reserved": false,
"sellerType": "private",
"title": "Batavus Galibier 53cm sportieve fiets",
"url": "https://www.marktplaats.nl/v/fietsen-en-brommers/fietsen-dames-sportfietsen-en-toerfietsen/m2451353890-batavus-galibier-53cm-sportieve-fiets"
}
| Field | Type | Meaning |
|---|---|---|
listingId |
string | Marketplace listing ID, e.g. m2420174899. |
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 (usually Nederland). |
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
100.0% success over 26 public runs in the last 30 days. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.