Marktplaats Scraper: Listings, Prices & Sellers avatar

Marktplaats Scraper: Listings, Prices & Sellers

Pricing

from $1.00 / 1,000 listings

Go to Apify Store
Marktplaats Scraper: Listings, Prices & Sellers

Marktplaats Scraper: Listings, Prices & Sellers

The Marktplaats Listings Scraper extracts listings from Marktplaats.nl, capturing titles, prices, descriptions, sellers and verification status, locations, categories, attributes, images and bidding info across every category — ideal for price monitoring, market research, and resale sourcing.

Pricing

from $1.00 / 1,000 listings

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

18

Total users

2

Monthly active users

8 days ago

Last modified

Features

Limited permissions

Share

🛒 Marktplaats Scraper: Listings, Prices and Sellers from Marktplaats.nl

Export Marktplaats.nl search and category results as clean JSON, CSV or Excel. Search by keyword or paste a URL, filter by price, condition, delivery, postcode and radius, and sort by newest or price. The Marktplaats Listings Scraper returns each ad's title, price in EUR, price type, seller, city, coordinates, category, condition, delivery, specs and photos, and can add view counts, favorites, seller type and shipping options from each listing page. Use it as a Marktplaats price monitor, for second-hand market research, or as a simple alternative to a Marktplaats API. No login and no API key.

🎯 Use Cases

  • Marktplaats price monitor: schedule a daily run on a search (iPhone, fietsen, meubels) and build your own history of Marktplaats prices ("marktplaats prijzen").
  • Marktplaats alerts for new ads: run a saved search (zoekopdracht) every hour and send new listings to Slack, email or a Google Sheet.
  • Resale and arbitrage sourcing: spot underpriced second-hand items (tweedehands) across the Netherlands by price, condition and city.
  • Dealer and competitor research: see which shops and traders list in a category, at what prices, and how many views and favorites their ads get.
  • Second-hand market data: count supply and price ranges per category or region for reports and pricing models.

✨ Features

  • Keywords or URLs: type one or more keywords, or paste any Marktplaats search or category URL from your browser; the keyword, price range, postcode and distance, condition and most other URL filters are kept.
  • Filters in the form: price range, condition, pickup or shipping, postcode and radius, posted today / since yesterday / last week, buy-it-now only, and sort (relevance, newest, oldest, price).
  • Prices as numbers: price in EUR plus priceType (FIXED, MIN_BID, FAST_BID, SEE_DESCRIPTION).
  • Seller and location: seller ID, name and verified flag, city, country, GPS coordinates and the distance from your postcode.
  • Condition, delivery and specs: condition and delivery as fields, plus category specs such as storage, colour, brand or frame size in attributes.
  • Optional listing details: view count, favorite count, exact listing timestamp, full category path, seller type (private or trader) and tenure, seller profile link, bidding status with the current minimum bid, buy-it-now flag, shipping carriers and the full photo gallery.
  • Large searches are split automatically: Marktplaats returns only a few thousand results for one search, so bigger searches are split into subcategories and then price ranges.
  • No duplicates: a listing found by two searches or two split ranges is saved and charged once.

🛠️ How It Works

  1. Type keywords such as iphone or fiets, or paste Marktplaats URLs: a search such as https://www.marktplaats.nl/q/iphone/ or a category such as https://www.marktplaats.nl/l/fietsen-en-brommers/.
  2. Add filters if you need them (price, condition, delivery, postcode and radius, posted since, sort).
  3. Set Max items (default 50, 0 = no limit) and turn on Scrape listing details if you need views, favorites and shipping.
  4. Run the scraper and download the results, or pull them through the Apify API.

⚙️ Input

FieldWhat it does
Search keywordsOne keyword per line; each is a separate search. Empty input searches "iphone".
Search or category URLsMarktplaats search or category URLs, one per line. Filters set in the browser are kept.
Max itemsMaximum listings to save across all searches. Default 50; 0 means no limit.
Minimum / Maximum pricePrice range in EUR. Bid-only ads without a price are left out when set.
ConditionNew, as good as new, used, refurbished, not working (any of the chosen).
DeliveryAny, pickup (Ophalen) or shipping (Verzenden).
Postcode / Radius (km)Search around a Dutch postcode, e.g. 1012AB within 25 km. Adds distanceKm to each row.
Posted sinceToday, since yesterday or the last week.
Buy it now onlyOnly Direct Kopen listings.
Sort byRelevance, newest, oldest, price low to high or high to low.
Scrape listing detailsVisits each listing page for views, favorites, seller type, shipping and the full gallery. Default off.
{
"searchQueries": ["iphone 15", "macbook air"],
"minPrice": 200,
"maxPrice": 800,
"condition": ["new", "as_good_as_new"],
"delivery": "shipping",
"postcode": "1012AB",
"distanceKm": 50,
"sortBy": "newest",
"maxItems": 500,
"scrapeDetails": false
}

Tips

  • Filters in the form apply to every keyword and URL, and replace the same filter in a pasted URL. For category-specific filters (brand, size, mileage), set them on Marktplaats and paste the URL: they live after the # in the address and are applied as-is.
  • With Sort by Relevance, runs that need more than 2,500 listings collect them in price order (highest first), the order that pages most completely. Pick another sort to override it.
  • Listings without a price in a very large subcategory (for example bid-only phones) can be missed when a search is split by price.

💰 Pricing

Pay only for the listings you get. No monthly rental.

EventPriceWhat you get
Listing$0.001 per listing ($1.00 per 1,000)One listing from a search or category page (details off).
Listing detail$0.003 per listing ($3.00 per 1,000)One listing enriched from its detail page (details on).
Actor start$0.00005 per runCharged once when the run starts.

Each listing is charged one event: Listing with details off, Listing detail with details on; if a listing's detail page cannot be loaded, it is saved without details and charged as a Listing. The run stops at your maximum cost per run.

Examples:

  • 50 listings (default input) = $0.05
  • 1,000 listings = $1.00
  • 1,000 listings with details = $3.00

📊 Sample Output Data

A listing with details off (real row, trimmed):

{
"id": "a1532671679",
"url": "https://www.marktplaats.nl/v/telecommunicatie/mobiele-telefoons-apple-iphone/a1532671679-iphone-17-256gb-zwart-nieuw-en-geseald",
"title": "iPhone 17 256GB Zwart | Nieuw en Geseald",
"description": "Levering: voor 18:00 besteld = dezelfde dag verzonden! Liever afhalen? Dit kan dagelijks op afspraak…",
"price": 899,
"priceType": "FIXED",
"currency": "EUR",
"sellerId": 8229070,
"sellerName": "rocketsale.nl",
"sellerIsVerified": false,
"city": "Nijmegen",
"country": null,
"latitude": 51.844635009765625,
"longitude": 5.860201358795166,
"distanceKm": null,
"date": "Vandaag",
"categoryId": 1953,
"condition": "Nieuw",
"delivery": "Ophalen of Verzenden",
"reserved": false,
"attributes": { "storage": "256 GB", "color": "Zwart", "condition": "Nieuw", "delivery": "Ophalen of Verzenden" },
"imageUrl": "https://admarkt-cdn.marktplaats.com/api/v1/icas-mp-pro-admarkt/images/01/01dc5188-…?rule=eps_82.JPG",
"imageUrls": ["https://admarkt-cdn.marktplaats.com/api/v1/icas-mp-pro-admarkt/images/01/01dc5188-…?rule=eps_82.JPG"]
}

With Scrape listing details on, each row also has these fields (real values from a trader's listing):

{
"categoryName": "Apple iPhone",
"categoryFullName": "Mobiele telefoons | Apple iPhone",
"viewCount": 3174,
"favoritedCount": 69,
"listedSince": "2026-10-01T12:59:43Z",
"sellerType": "TRADER",
"sellerActiveSince": "6 jaar",
"sellerPageUrl": "https://www.marktplaats.nl/smb-profile/profile/41948765/",
"biddingEnabled": false,
"buyItNowEnabled": false,
"minimumBid": null,
"shippingOptions": ["DHL", "PostNL"],
"images": ["https://admarkt-cdn.marktplaats.com/api/v1/icas-mp-pro-admarkt/images/b7/b7b83db6-…"]
}

date is the label Marktplaats shows on the card (for example "Vandaag" or "Gisteren"); listedSince is the exact timestamp. priceType tells you how to read price: MIN_BID is an asking price open to bids, while FAST_BID ("Bieden") and SEE_DESCRIPTION ads have no asking price and show price 0. condition (Nieuw, Zo goed als nieuw, Gebruikt, Refurbished) and delivery (Ophalen, Verzenden, Ophalen of Verzenden) are Marktplaats' own Dutch labels; attributes adds the category specs the card shows (storage, colour, type, brand). distanceKm is filled when you search around a postcode.

🔁 Schedule and Integrate

For price monitoring, run the same search once a day: each run is a dated snapshot, and together they form your Marktplaats price history. For new-ad alerts, run a narrow search every hour with a small Max items and compare IDs with the previous run. Set it up in Apify Schedules, then send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations.

🤖 Use with AI Agents (MCP)

This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). An agent can call it with:

{ "searchQueries": ["iphone 15"], "maxPrice": 500, "sortBy": "newest", "maxItems": 20 }

❓ FAQ

Does Marktplaats have an official API? Marktplaats offers tools for business advertisers to manage their own ads, but no public API for searching other people's listings. This Actor needs no key, account or approval: paste the search URL you already use and get structured listings with prices, sellers, locations and, optionally, views, favorites and shipping.

How do I set up a Marktplaats alert or monitor for new ads? Enter the keyword and filters (or paste your saved search URL), set Sort by to Newest first, and schedule the Actor hourly or daily. New listing IDs that were not in the previous run are your new ads.

Do I need a Marktplaats account? No. The Actor reads public listings only and does not collect phone numbers or email addresses.

Why is a field empty or 0? Shop (Admarkt) ads carry no country and often no city, so city, country or the coordinates can be empty or 0. Bid-only ads have price 0 (see priceType). Detail fields are filled only with Scrape listing details on.

How many results can I get? A single Marktplaats search shows a few thousand listings. The Actor splits bigger searches into subcategories and price ranges, so a whole category can be collected; set Max items to 0 for no limit and give long runs a longer timeout.

Does it work for 2dehands or 2ememain in Belgium? Not this Actor; it covers marktplaats.nl. Use the Belgian sister scrapers below.