Skip to content

Marktplaats Scraper

Try for free

Scrape marktplaats.nl, 2dehands.be and 2ememain.be listings by URL, keyword or category: price, price type, description, attributes, location with coordinates, images, seller, and optional full details (views, bids, specifications).

🇳🇱 Marktplaats Scraper

Scrape listings from Marktplaats.nl, the biggest classifieds site in the Netherlands, and its Belgian sister sites 2dehands.be and 2ememain.be. Paste a search or category URL, type keywords, or browse a whole category, and get clean rows with price and price type, description, attributes, location with coordinates, images and seller. Switch on listing details for the full description, every specification, views, bids, seller type and shipping options. No login, no browser.

✨ Why use Marktplaats Scraper?

  • 🇳🇱🇧🇪 Three sites, one scraper: marktplaats.nl, 2dehands.be (Dutch) and 2ememain.be (French) share the same data, so one input format covers all of them.
  • ⚡ Fast: reads the sites' own JSON search data, 100 listings per request. 1,000 listings take well under a minute.
  • 🔗 Any search URL works: category, subcategory, brand and attribute filters, price range, postcode and distance, sort order and keywords are all read from the URL.
  • 🧾 Rich details on demand: full description, all specifications, exact posting time, views, favorites, bids, seller type and years active, shipping options and prices.
  • 🚗 Vehicle data: brand, model, year, mileage, fuel and transmission come straight from the search results.
  • 🔓 No login needed: only public listing data.

🎯 Use cases

  • 📈 Price monitoring: follow asking prices and bids for bikes, phones, furniture or cars.
  • 🚗 Used car research: compare prices by model, year and mileage across the Netherlands and Belgium.
  • 🛒 Resellers and dealers: spot new listings and underpriced items early by scheduling runs sorted by newest.
  • 🤝 Lead generation: find businesses selling in your niche (seller names and profile links).
  • 📊 Market research: measure supply, demand (views, favorites, bids) and regional spread per category.

🚀 How to use

  1. Open marktplaats.nl, 2dehands.be or 2ememain.be, search with the filters you want, and copy the URL from the address bar. Or type keywords into Search keywords and pick a site, category, price range and postcode.
  2. Paste the URLs into Marktplaats / 2dehands / 2ememain URLs (single listing URLs work too).
  3. Set Max listings, and switch on Listing details if you need the full description and statistics.
  4. Click Start and download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldDescription
startUrlsSearch, category or listing URLs from any of the three sites.
searchQueriesKeywords, one per line. Uses the filters below.
maxItemsMaximum number of listings in total (default 20).
includeDetailsOpen every listing page for full details (off by default).
site, categorySite and main category for keyword searches (a category alone browses it).
minPrice, maxPrice, postcode, distanceKmPrice range in euros and radius search.
condition, delivery, offeredSince, searchInDescription, sortByMore keyword filters.
{
  "startUrls": [{ "url": "https://www.marktplaats.nl/l/fietsen-en-brommers/fietsen-heren-sportfietsen-en-toerfietsen/f/gazelle/3494/" }],
  "searchQueries": ["bakfiets"],
  "site": "marktplaats.nl",
  "maxPrice": 1500,
  "postcode": "3511AA",
  "distanceKm": 25,
  "maxItems": 100,
  "includeDetails": true
}

📤 Output

FieldDescription
itemId, url, site, title, descriptionListing ID, link, site, title and description
price, priceCents, priceTypePrice in euros and its type (fixed, bidding, free, see description, ...)
date, postedDate, postedAtDate as shown, as YYYY-MM-DD, and the exact time (details)
city, country, latitude, longitude, distanceKmLocation
sellerName, sellerId, sellerVerified, sellerType, sellerActiveYears, sellerProfileUrlSeller
category, subcategory, categoryIdCategory
condition, delivery, brand, model, year, mileageKm, fuel, transmissionKey facts
attributes, specificationsEvery attribute (by key) and every specification on the listing page (by label)
viewCount, favoritedCount, bidCount, highestBid, buyItNow, shippingOptionsListing statistics and shipping (details)
imageUrl, imageCount, imagesImages
isReserved, isTopAd, priorityProductReserved flag and paid placement

Example with listing details (seller shortened):

{
  "itemId": "m2453937297",
  "url": "https://www.marktplaats.nl/v/fietsen-en-brommers/fietsen-heren-sportfietsen-en-toerfietsen/m2453937297-gazelle-ultimate-c8-hmb-h53",
  "site": "marktplaats.nl",
  "title": "Gazelle Ultimate C8+ HMB H53",
  "description": "- Zeer goed onderhouden Gazelle Ultimate C8+\n- Heren 53\n- Bosch Active Line Plus - 50 Nm\n- Bosch accu 500 Wh",
  "price": 1100,
  "priceType": "bidding",
  "postedDate": "2026-10-15",
  "postedAt": "2026-10-15T10:23:22Z",
  "city": "Deventer",
  "country": "Nederland",
  "sellerName": "Jan",
  "sellerType": "private",
  "sellerActiveYears": 20,
  "category": "Fietsen en Brommers",
  "subcategory": "Fietsen | Heren | Sportfietsen en Toerfietsen",
  "condition": "Zo goed als nieuw",
  "specifications": { "Conditie": "Zo goed als nieuw", "Merk": "Gazelle", "Wielgrootte": "28 inch" },
  "viewCount": 74,
  "favoritedCount": 1,
  "bidCount": 0,
  "imageCount": 16
}

💰 Pricing

  • $2.50 per 1,000 listings (result-item event), with or without listing details.
  • Platform usage (compute and proxy) is billed separately and is small: about a cent per 1,000 listings from search results, and roughly $0.03 to $0.10 more per 1,000 listings with Listing details (the listing pages are larger).

Example: 1,000 listings ≈ $2.50 in listing events plus about a cent of usage.

❓ FAQ

Is it legal to scrape Marktplaats? The scraper only reads public listings that anyone can see without an account. You are responsible for how you use the data, including personal data such as seller names (GDPR).

Do I need an account or a proxy? No. Datacenter proxies are used by default, and the scraper switches to residential proxies in the site's country by itself if it gets blocked.

How many listings can I get? The sites let you page through up to 5,000 listings per search. For more, split the search by category, price range or postcode; the run status tells you when a search hit that limit. Sorting by relevance reshuffles results between pages, so deep relevance searches return fewer unique listings (about 2,700 in our test) than newest-first (5,000).

Why is a field empty? Sellers fill in different attributes. Some fields (exact posting time, views, bids, seller type, subcategory name, full description) need Listing details.

Can I get phone numbers? No. Phone numbers are not collected; you get the seller name, ID and profile link.

Can I schedule it or use the API? Yes. Schedule runs sorted by newest to monitor new listings, and start runs or read results through the API.

⚠️ Limits

  • Up to 5,000 listings per search (a site limit); split large searches. Use newest-first sorting for deep searches.
  • Phone numbers and messages are not collected.
  • Without Listing details, the description is the snippet from the search results (about 200 characters).

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.