Marktplaats Netherlands Classifieds Scraper
Pricing
Pay per event
Marktplaats Netherlands Classifieds Scraper
Extract public Marktplaats.nl listings with prices, sellers, locations, attributes, images, and URLs for Dutch marketplace monitoring.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract structured listings from Marktplaats.nl category and search result pages.
Use this actor to collect Dutch marketplace data with listing URLs, titles, descriptions, prices, seller names, locations, category-specific attributes, image URLs, promoted flags, and scrape timestamps.
What does this Marktplaats scraper do?
The Marktplaats Netherlands Classifieds Scraper turns public Marktplaats result pages into a clean dataset.
It accepts Marktplaats category or search URLs and follows pagination until it reaches your limits.
Typical pages include car listings, bikes, furniture, electronics, home goods, tools, and other public classifieds categories.
The actor is HTTP-based and reads the structured listing data embedded in the page.
That keeps runs lightweight, fast, and affordable compared with browser automation.
Who is it for?
- ๐ Used-car dealers monitoring Dutch car inventory and prices.
- ๐๏ธ Resellers tracking popular second-hand product categories.
- ๐ Marketplace analysts building regional pricing benchmarks.
- ๐ Local commerce teams watching supply in Dutch cities.
- ๐ Researchers studying classified ad trends.
- ๐ค Automation teams feeding Marktplaats data into dashboards, alerts, and enrichment workflows.
Why use this actor?
Marktplaats pages are designed for people, not spreadsheets.
This actor extracts the important listing fields into JSON, CSV, Excel, or any dataset export supported by Apify.
You can run small checks from the Apify Console or schedule recurring jobs for monitoring.
You can also call the actor from code and connect the dataset to your own BI or data pipeline.
What data can I extract from Marktplaats?
The actor saves one dataset item per listing.
| Field | Description |
|---|---|
listingId | Marktplaats listing identifier |
listingUrl | Public listing URL |
title | Listing title |
shortTitle | Short or category title when available |
description | Listing snippet or category-specific description |
price | Price in euros when available |
priceCents | Raw price in euro cents |
currency | Currency code, usually EUR |
priceType | Price type such as fixed or sale/rent label |
city | Seller/listing city |
country | Listing country |
latitude / longitude | Coordinates when included in public data |
sellerName | Seller display name |
sellerId | Seller identifier when public |
sellerVerified | Seller verification flag when public |
date | Marktplaats date label |
imageUrls | Listing image URLs |
attributes | Category-specific attributes such as mileage, fuel, size, or condition |
traits | Marktplaats listing traits/promotions |
sourceUrl | Result page where the item was found |
scrapedAt | ISO timestamp for the scrape |
How much does it cost to scrape Marktplaats classifieds?
This actor uses pay-per-event pricing.
There is a $0.005 run-start event and a tiered per-listing event.
Bronze per-listing price is $0.00010275, with standard Apify tier discounts for Silver, Gold, Platinum, and Diamond users.
Small test runs are inexpensive when you keep maxItems and maxPagesPerUrl low.
For a first run, use the prefilled car category URL with 20 listings and 3 pages.
How to use it
- Open the actor on Apify.
- Paste one or more Marktplaats search/category URLs.
- Set
maxItemsto the number of listings you need. - Set
maxPagesPerUrlas a pagination safety cap. - Keep
includeAttributesenabled if you want category-specific specs. - Start the run.
- Export the dataset as JSON, CSV, Excel, XML, RSS, or HTML.
Input
{"startUrls": [{ "url": "https://www.marktplaats.nl/l/auto-s/" }],"maxItems": 20,"maxPagesPerUrl": 3,"includeAttributes": true}
Input fields
startUrls
Marktplaats result pages to scrape.
Use public category URLs such as https://www.marktplaats.nl/l/auto-s/.
Use public search URLs such as https://www.marktplaats.nl/q/fiets/.
maxItems
Maximum number of listings to save across all URLs.
maxPagesPerUrl
Maximum number of paginated result pages to visit for each URL.
includeAttributes
When enabled, the actor saves raw category-specific attributes.
For cars, attributes can include mileage, year, fuel, transmission, and body type.
For other categories, attributes vary by Marktplaats category.
Output example
{"listingId": "m2396885553","listingUrl": "https://www.marktplaats.nl/v/auto-s/fiat/m2396885553-fiat-panda-twinair-85-2012-zwart-zeer-zuinig","title": "Fiat Panda Twinair 85 2012 Zwart, zeer zuinig","price": 2750,"currency": "EUR","city": "Soest","country": "Nederland","sellerName": "Tom","date": "Vandaag","imageUrls": ["https://images.marktplaats.com/..."],"sourceUrl": "https://www.marktplaats.nl/l/auto-s/","scrapedAt": "2026-05-22T12:00:00.000Z"}
Tips for best results
- โ Start with one category URL and a low item limit.
- โ Use specific Marktplaats search URLs for narrow monitoring.
- โ
Increase
maxPagesPerUrlonly when you need deeper pagination. - โ
Keep
includeAttributeson for cars, real estate, electronics, and other spec-heavy categories. - โ Schedule recurring runs for price tracking and inventory monitoring.
Integrations
You can connect the output dataset to many workflows:
- ๐ Send prices to Google Sheets or Airtable.
- ๐งญ Build dashboards in Looker Studio, Power BI, or Metabase.
- ๐ Trigger alerts when new listings appear in a category.
- ๐งน Deduplicate listings by
listingIdin your data warehouse. - ๐ค Enrich leads with internal CRM data.
- ๐งช Compare Marktplaats prices with other classified marketplaces.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/marktplaats-netherlands-classifieds-scraper').call({startUrls: [{ url: 'https://www.marktplaats.nl/l/auto-s/' }],maxItems: 20,maxPagesPerUrl: 3,includeAttributes: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/marktplaats-netherlands-classifieds-scraper').call(run_input={'startUrls': [{'url': 'https://www.marktplaats.nl/l/auto-s/'}],'maxItems': 20,'maxPagesPerUrl': 3,'includeAttributes': True,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~marktplaats-netherlands-classifieds-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"startUrls": [{"url": "https://www.marktplaats.nl/l/auto-s/"}],"maxItems": 20,"maxPagesPerUrl": 3,"includeAttributes": true}'
MCP integration
Use this actor through the Apify MCP server in AI tools that support MCP.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/marktplaats-netherlands-classifieds-scraper
Claude Code setup:
$claude mcp add apify-marktplaats https://mcp.apify.com/?tools=automation-lab/marktplaats-netherlands-classifieds-scraper
Generic MCP JSON config:
{"mcpServers": {"apify-marktplaats": {"url": "https://mcp.apify.com/?tools=automation-lab/marktplaats-netherlands-classifieds-scraper"}}}
Example prompt ideas for Claude Code or Claude Desktop:
- "Use the Apify Marktplaats scraper to scrape 30 car listings and summarize the price range."
- "Run the Marktplaats tool for this bike search URL and return listing IDs, prices, and seller cities."
- "Use the MCP dataset output to compare seller cities from the latest Marktplaats run."
- "Find the cheapest listings from this Marktplaats category and export the result as a table."
Scheduling
Apify schedules can run this scraper hourly, daily, weekly, or monthly.
For monitoring, keep the same search URL and compare new listingId values between runs.
For pricing trends, store historical price values by listingId and scrapedAt.
Limitations
The actor extracts public result-page data.
It does not log into Marktplaats.
It does not scrape private messages, account pages, or non-public seller data.
Listing details can vary by category because Marktplaats exposes different attributes for different verticals.
If a listing disappears between runs, it will no longer be returned by Marktplaats result pages.
Troubleshooting
Why did I get fewer listings than maxItems?
The category or search may have fewer public results than requested, or maxPagesPerUrl may be too low.
Increase maxPagesPerUrl for deeper categories.
Why are some fields empty?
Marktplaats does not expose every field for every category.
For example, coordinates, seller verification, or extended attributes can be missing on some listings.
Why are attributes different between categories?
Attributes are category-specific.
Cars can include mileage and fuel, while furniture or electronics categories use different specs.
Data quality notes
The actor deduplicates by listingId within each run.
Image URLs are normalized to full HTTPS URLs.
Prices are converted from cents to euros where raw cents are available.
The raw cents value is also preserved as priceCents.
Legality and responsible use
This actor collects publicly available Marktplaats result-page data.
Use it responsibly and comply with applicable laws, Marktplaats terms, and privacy requirements.
Do not use scraped data for spam, fraud, harassment, or discriminatory profiling.
Related scrapers
Explore other automation-lab actors for marketplace and commerce workflows:
- https://apify.com/automation-lab/olx-poland-classifieds-scraper
- https://apify.com/automation-lab/olx-bulgaria-classifieds-scraper
- https://apify.com/automation-lab/gumtree-uk-classifieds-scraper
- https://apify.com/automation-lab/finn-no-marketplace-scraper
- https://apify.com/automation-lab/tradera-scraper
FAQ
Can I scrape multiple categories in one run?
Yes. Add multiple Marktplaats URLs to startUrls.
Can I use search result URLs?
Yes. Public Marktplaats search URLs are supported when they render listing data in the page.
Does the actor open each listing detail page?
No. The MVP extracts result-page listing data to keep runs fast and affordable.
Can I export to CSV or Excel?
Yes. Apify datasets support CSV, Excel, JSON, XML, RSS, and HTML exports.
Can I monitor new listings?
Yes. Schedule the actor and compare listingId values between datasets.
Does it need a proxy?
The current implementation uses direct HTTP requests. If Marktplaats starts blocking direct traffic, proxy support can be added later.
Changelog
- Initial version: public Marktplaats category/search listing extraction with pagination, prices, sellers, images, attributes, and PPE charging.