Marktplaats Scraper – NL Classifieds & Prices
Pricing
from $3.50 / 1,000 results
Marktplaats Scraper – NL Classifieds & Prices
Marktplaats.nl scraper: a no-login API alternative to export listings, prices, sellers and car ads to CSV/JSON. Scrape Dutch classifieds without API.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
9
Total users
0
Monthly active users
a day ago
Last modified
Categories
Features
Share
Marktplaats.nl Scraper — Dutch Classifieds, Prices & Seller Leads (No API)
Scrape classified listings (advertenties) from Marktplaats.nl, the Netherlands' #1 second-hand marketplace (Adevinta / eBay Classifieds Group) with millions of live ads — cars, bikes, phones, furniture, electronics and more. Search by keyword or category URL and get title, price in €, price type, city, GPS coordinates, seller, listing date, primary image and per-item attributes in clean structured JSON — straight from Marktplaats' own embedded __NEXT_DATA__ payload. Fast, no browser, no API key, no login.
🏆 Why this Marktplaats scraper?
17 fields per listing · thousands of ads per run · direct HTTP + JSON (no browser) · auto-pagination & de-duplication · residential-proxy ready · export to JSON / CSV / Excel. The unofficial Marktplaats API alternative for price monitoring, reselling & arbitrage, market research and seller lead generation.
✨ What this Actor does / Key features
- 🛒 Keyword and category search — search a term (
iphone,fiets,bank) and/or point it at any Marktplaats category or search URL (e.g.https://www.marktplaats.nl/l/auto-s/) — or both in one run. - 💶 Price + price type — asking price in euros plus a
priceTypeflag (FIXED,BIDDING,MIN_BID,ON_REQUEST,FREE) so you can keep only fixed-price ads and drop auctions. - 📍 Location & GPS — city, country and latitude/longitude for every ad, ready for maps and regional analysis.
- 👤 Seller data — seller name and stable seller ID, so you can cluster listings by seller or build outreach lists.
- 🧩 Rich per-item attributes — captures the fields that actually matter per category: cars get construction year, mileage and fuel; phones get model, storage and condition; etc.
- 🔁 Auto-pagination & de-duplication — 30 listings per page, paginates automatically, stops at the last page, and de-dupes by item ID across sources.
- 🖼️ Primary image + listing URL — main photo URL and the canonical ad URL and item ID.
- ⚡ Direct HTTP + JSON extraction — reads Marktplaats' own embedded
__NEXT_DATA__JSON; no browser, no DOM walking, no fragile HTML selectors. - 🛡️ Proxy support — Apify Proxy integration; a Netherlands/EU residential proxy is recommended for large runs.
🚀 Quick start (3 steps)
- Configure — add one or more Search keywords and/or paste Category / search URLs. Set Max pages per source and/or Max results to control volume.
- Run — click Start. The Actor paginates each source and streams listings into your dataset.
- Get your data — open the Output tab and export to JSON, CSV, Excel or XML, or pull it via the Apify API.
📥 Input
Give the Actor at least one keyword (queries / query) and/or one category URL (startUrls). Everything else is optional.
Example — keyword search (iPhone price monitoring)
{"queries": ["iphone 15", "iphone 14"],"maxPages": 20,"maxResults": 1000,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "NL" }}
Example — sweep an entire category (used cars)
{"startUrls": [{ "url": "https://www.marktplaats.nl/l/auto-s/" }],"maxPages": 50,"includePromoted": false}
Example — keyword + category in one run (seller lead list)
{"queries": ["macbook pro"],"startUrls": [{ "url": "https://www.marktplaats.nl/l/computers-en-software/" }],"maxPages": 30,"maxResults": 2000}
| Field | Type | Description |
|---|---|---|
queries | array | Search keywords, e.g. iphone, fiets, bank. Each keyword becomes its own paginated source. |
query | string | A single alternative keyword; combined with the queries list. |
startUrls | array | Direct Marktplaats category or search URLs (e.g. https://www.marktplaats.nl/l/auto-s/). Pagination is handled automatically. |
maxPages | integer | Max pages per source (Marktplaats returns 30 listings per page). Scraping stops early when results run out. Default 5. |
maxResults | integer | Total cap across all sources. 0 = no limit. Default 0. |
includePromoted | boolean | Include sponsored / priority listings in the results. Default true. |
proxyConfiguration | object | Apify Proxy settings. A Netherlands/EU residential proxy is recommended for large runs. |
Finding a category URL: browse marktplaats.nl, open the category or apply your filters, and copy the URL from the address bar (e.g.
https://www.marktplaats.nl/l/auto-s/for cars,https://www.marktplaats.nl/l/fietsen-en-brommers/for bikes). Filters in the URL are respected; the Actor appends the/p/N/page segment for you.
Additional input fields
These optional fields are also available in the input form and API:
| Field | Type | Default | Description |
|---|---|---|---|
sort | string | "" | Order of the returned listings. |
📤 Output
One row per listing — 17 fields, exportable to JSON, CSV, Excel or XML. Here is a trimmed sample record:
{"itemId": "m2405496960","title": "BMW 3-serie LPG High-Executive Pano","description": "Nette BMW 3-serie met panoramadak, LPG G3 installatie, onderhoudshistorie aanwezig.","priceEur": 12750,"priceType": "FIXED","city": "Drachten","country": "Nederland","latitude": 53.10,"longitude": 6.09,"sellerName": "Jan","sellerId": "48213977","date": "Vandaag","categoryId": "91","attributes": { "constructionYear": "2013", "mileage": "294576", "fuel": "LPG" },"imageUrl": "https://images.marktplaats.com/api/v1/listing-mp-p/images/...jpg","url": "https://www.marktplaats.nl/v/auto-s/bmw/m2405496960-bmw-3-serie","scrapedAt": "2026-07-06T12:00:00.000Z"}
Additional output fields
These fields are also present in the dataset:
| Field | Type | Description |
|---|---|---|
sellerVerified | boolean | Whether the seller is verified. |
priorityProduct | string | Promotion type if the listing is sponsored (e.g. DAGTOPPER), else null. |
reserved | boolean | Whether the item is marked reserved. |
💡 Use cases
- Price monitoring — track asking prices for any product across the whole market and watch how they move week to week.
- Reselling & arbitrage — sweep a category on a schedule and flag listings priced well below the median the moment they appear.
- Used-car pricing models — scrape
/l/auto-s/and analyze price againstconstructionYear,mileageandfuelfrom the attributes. - Market & pricing research — measure supply, demand and price distribution per category or region using city and GPS.
- Dealer & inventory intelligence — monitor cars, electronics, furniture and bikes for competitor stock and pricing.
- Seller lead generation — collect active sellers in a niche (via
sellerName/sellerId) for B2B outreach or partnerships.
👥 Who uses it
Resellers & arbitrage flippers · used-car and electronics dealers · pricing & market analysts · proptech / marketplace data teams · reCommerce and second-hand startups · lead-gen agencies building Dutch seller lists · researchers and data journalists tracking the NL classifieds market.
💰 Pricing
This Actor runs on a simple pay-per-result model — you pay for the listings you extract, with no separate platform-usage math to do. Try it on the free tier first, then scale up. See the Pricing tab on this page for the current rate.
❓ Frequently Asked Questions
Is it legal to scrape Marktplaats.nl? The Actor only collects publicly available listing data. You are responsible for using the data in compliance with Marktplaats' terms of service and applicable laws such as GDPR.
Does Marktplaats have a public API?
Marktplaats does not offer an open public listings API. This Actor reads the site's own embedded __NEXT_DATA__ JSON instead, giving you structured Dutch classifieds data without any API key.
Is this a Marktplaats API alternative? Yes. Since Marktplaats has no open listings API, this Actor works as an unofficial Marktplaats API alternative — it reads the embedded JSON and returns clean, structured advertentie records you can pull via the Apify API.
Can I scrape Marktplaats without an API or login? Yes. No Marktplaats account, login or API key is required — only an Apify account. The Actor pulls publicly available listings over direct HTTP.
How do I export Marktplaats data to CSV or JSON? Run a keyword or category search, then export the resulting dataset as CSV, JSON, Excel or XML from the Apify console or via the Apify API. Every advertentie comes back as one clean, flat record.
How much data can I scrape? Marktplaats categories hold hundreds of thousands of advertenties — raise Max pages per source to go deep, and combine multiple keywords and category URLs in a single run. Pagination stops automatically at the last available page and results are de-duplicated by item ID.
Keyword or category — which should I use? Use keywords for specific products and category URLs to sweep an entire section (cars, bikes, furniture…). You can combine both in one run.
Does the price always appear?
Fixed-price listings return a price in priceEur. Auction / bidding / on-request ads are flagged via priceType (their priceEur may be null), so you can keep only FIXED listings when you export.
Can I scrape Marktplaats car listings without an API?
Yes. Point a category URL like /l/auto-s/ at the Actor (no API needed) and it captures car ads with price, location, seller and per-vehicle attributes such as construction year, mileage and fuel type.
Do I need a proxy? No login or API key is needed. For large runs, a Netherlands/EU residential Apify Proxy is recommended for stability.
🔗 More e-commerce & classifieds scrapers by logiover
Building a cross-market or multi-country classifieds dataset? Pair Marktplaats with the rest of the marketplace suite:
| Region / Site | Actor |
|---|---|
| 🇫🇷 France | Leboncoin Scraper |
| 🇸🇪 Sweden | Blocket.se Scraper |
| 🇳🇴 Norway | Finn.no Scraper |
| 🇩🇰 Denmark | DBA.dk Scraper |
| 🇷🇺 Russia | Avito.ru Scraper |
| 🇺🇸 USA | Craigslist Scraper |
| 🇯🇵 Japan | Mercari Japan Scraper |
| 🌏 Lazada | Lazada Scraper |
| ✈️ Travel | Booking Hotels Prices Scraper · Google Flights Scraper |
👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media & B2B data.
⏰ Scheduling & integration
Schedule this Actor on Apify to track the Dutch classifieds market daily or weekly and catch fresh listings and price changes. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, BI tools and webhooks through the Apify API. Connect it to Make, n8n or Zapier to build automated price-monitoring, arbitrage-alert or lead-gen pipelines.
Pairs well with: the Website Contact Scraper to enrich business sellers with emails and socials, and the Bulk Email Verifier to validate seller contacts before outreach.
🤖 AI Agents, MCP & RAG Integration
Marktplaats Scraper – NL Classifieds & Prices works natively as an on-demand data tool for AI assistants and autonomous workflows.
Connect this Actor directly to Apify AI, Claude Desktop, Cursor, VS Code, Windsurf, LangChain, or LlamaIndex via the official Apify MCP Server — no custom wrapper code needed:
{"mcpServers": {"apify": {"type": "http","url": "https://mcp.apify.com?tools=logiover/marktplaats-nl-scraper"}}}
- Schema-typed inputs & outputs: Clean JSON records with explicit
.actor/input_schema.jsonand.actor/output_schema.jsondefinitions so LLM agents infer parameters and parse fields accurately without HTML noise. - Bounded & predictable runs: Built-in volume caps and pay-per-result budget guards prevent runaway agent tool loops.
- RAG & automation ready: Stream run datasets straight into vector stores, n8n, Make, Zapier, or webhook pipelines.
💬 Support, Issues & Reviews
- Bug reports & target-site changes: Hit an unexpected empty result or selector change? Open a ticket in the Issues tab with your Run ID or sample input — we actively monitor issues and ship fixes fast.
- Feature & field requests: Need an additional data attribute or filter? Request it in the Issues tab.
- Enjoying this Actor? If it saved you engineering time, please consider leaving an honest review on Apify Store or bookmarking logiover/marktplaats-nl-scraper — organic developer feedback helps others discover reliable tools and keeps maintenance prioritized.
⚖️ Legal
This Actor extracts only publicly available data and is intended for legitimate research, analytics and lead-generation use. You are responsible for complying with Marktplaats' terms of service, GDPR and any applicable local laws.
This Actor is an independent tool. It is not affiliated with, endorsed by, or sponsored by Marktplaats; Marktplaats and all other trademarks mentioned here are the property of their respective owners.
Marktplaats scraping — frequently asked questions
Do I need a Marktplaats API key, account or login?
No. This Actor reads publicly available pages and feeds, so there is nothing to register for and no credentials to manage.
How do I export Marktplaats data to CSV, Excel, JSON or Google Sheets?
Open the Storage tab after a run and pick the format you want — CSV, Excel, JSON, XML or an HTML table. For Google Sheets, Airtable or a database, use the dataset URL or the Apify API so the sheet refreshes itself on every run.
Can I schedule this Marktplaats scraper to run daily or hourly?
Yes. Use the Schedules tab and pick a cadence. Daily is enough for most tracking work; pick hourly only if the rows you care about really do change that fast.
How many rows can I get, and what does it cost?
See the volume section above for a measured figure. Billing is per result, so you pay for the rows you actually receive and a run that finds nothing costs nothing.
Is scraping Marktplaats legal?
This Actor collects only information that Marktplaats publishes publicly. It does not log in, does not defeat access controls and does not touch private data. You remain responsible for how you use the output, including under GDPR and similar rules where personal data is involved.
What happens if Marktplaats blocks the run or changes its layout?
A refused exit IP is swapped for a fresh one within a quarter of a second and retried, and rate limiting is waited out rather than fought. If nothing gets through, the run fails with the reason instead of reporting success with zero rows — so an empty result always means "no matches", never "the source would not answer".
Can I use this with an AI agent, LangChain or an MCP client?
Yes. The Actor is callable over the Apify API and through Apify's MCP server, so an agent can run it and read the dataset back as a tool call.
📝 Changelog
2026-11-14
- Verified live high-volume benchmark (2026-11-14): extracted 650 structured records in 108.0s on the production build.
- Hardened internal proxy stall fallback and pay-per-event dataset instance budget protection.
2026-11-11
- Added reliable terminal run status telemetry and structured Apify AI / MCP Server (
mcp.apify.com) tool configuration. - Added direct Issues & Reviews support links and refreshed live maintenance verification.
2026-11-01
- Monthly health check (2026-11-01): a live run on the current build completed successfully and returned data. Input options, output fields and pricing are unchanged.
- README refreshed: 1 link to renamed Actors updated, 3 links to retired Actors removed; independence disclaimer added; documented 1 additional input field; documented 3 additional output fields.
2026-10-15
- Every request now has a hard time limit, so a proxy connection that stalls can no longer hold up the run or push it past its timeout.
- A run that reaches its maximum cost per run now stops cleanly with its results saved and a status message, instead of ending as aborted.
- A proxy group your account cannot use no longer stops the run at start-up; it falls back to the default Apify Proxy.
- Runs with a short timeout (API and AI-agent calls) now finish inside it with what they collected, instead of being cut off.
- Memory is managed within the run's own limit, which removes a rare out-of-memory crash on large pages.
- The default used when the field is left out for
maxResultsis now 4,000 (was 500). - The default used when the field is left out for
maxPagesis now 60 (was 10).
2026-09-23
- Fleet-wide quality audit. Verified end to end against live data and re-checked the input schema, the output columns and the run configuration.
- Run reliability reviewed: 100.0% of public runs succeeded in the last 30 days.
- Input schema, output schema and pricing configuration reviewed.
2026-09-01
- Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
- Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
- No change to input, output fields or scraping logic.
2026-08-11
- Maintenance release: refreshed the build and dependencies.
- Re-verified live execution, non-empty structured output and dataset field/type integrity.
- Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.
2026-08-01
- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.
- Fixed the run Output link from
{{links.apiDefaultDatasetUrl}}to{{links.apiDefaultDatasetUrl}}/itemsso the results table opens the dataset items endpoint.
2026-08-01 — Health-check remediation
- August 2026 monthly health-check remediation is in progress; this build contains fixes verified from empty/default, Console-default, targeted live probes, or field-level semantic review.
- Fixed the run Output link from
{{links.apiDefaultDatasetUrl}}to{{links.apiDefaultDatasetUrl}}/itemsso the results table opens the dataset items endpoint. - The final four-input matrix verdict will be appended after post-build cloud revalidation.
2026-07-06
- ✨ README overhaul: richer 17-field output reference, ready-to-run example scenarios (keyword / category / combined), cross-market classifieds suite links, and a clearer quick-start.
2026-07-01
- Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
- Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
- Added ready-to-run example tasks that cover common real-world use cases.
2026-06-15
- Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.
2026-06-07
- Docs: added coverage for using the Actor as a Marktplaats API alternative, exporting listings to CSV/JSON, and scraping car listings without an API.
2026-06-05
- 🛡️ Reliability fix: results are no longer dropped by strict output validation — runs now complete cleanly even at high volume (thousands of results).
- ⚡ Stability & performance hardening; fresh rebuild.
2026-06-04
- Verified live & refreshed build — reliability/maintenance pass.
*Maintained: last verified 2026-11-14 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).