Marktplaats Netherlands Classifieds Scraper avatar

Marktplaats Netherlands Classifieds Scraper

Pricing

Pay per event

Go to Apify Store
Marktplaats Netherlands Classifieds Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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.

FieldDescription
listingIdMarktplaats listing identifier
listingUrlPublic listing URL
titleListing title
shortTitleShort or category title when available
descriptionListing snippet or category-specific description
pricePrice in euros when available
priceCentsRaw price in euro cents
currencyCurrency code, usually EUR
priceTypePrice type such as fixed or sale/rent label
citySeller/listing city
countryListing country
latitude / longitudeCoordinates when included in public data
sellerNameSeller display name
sellerIdSeller identifier when public
sellerVerifiedSeller verification flag when public
dateMarktplaats date label
imageUrlsListing image URLs
attributesCategory-specific attributes such as mileage, fuel, size, or condition
traitsMarktplaats listing traits/promotions
sourceUrlResult page where the item was found
scrapedAtISO 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

  1. Open the actor on Apify.
  2. Paste one or more Marktplaats search/category URLs.
  3. Set maxItems to the number of listings you need.
  4. Set maxPagesPerUrl as a pagination safety cap.
  5. Keep includeAttributes enabled if you want category-specific specs.
  6. Start the run.
  7. 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 maxPagesPerUrl only when you need deeper pagination.
  • โœ… Keep includeAttributes on 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 listingId in 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 ApifyClient
client = 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().items
print(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.

Explore other automation-lab actors for marketplace and commerce workflows:

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.