Marktplaats Listings Scraper
Pricing
from $0.30 / 1,000 listing saveds
Marktplaats Listings Scraper
Scrape public Marktplaats.nl listings by keyword or search URL, including prices, sellers, locations, images, descriptions, and attributes.
Pricing
from $0.30 / 1,000 listing saveds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Scrape public Marktplaats.nl marketplace search results and listing pages. The Actor returns Dutch classified listing data such as titles, URLs, prices, seller/location hints, images, descriptions, and listing IDs for ecommerce research, price monitoring, lead generation, and marketplace analysis.
What you can get
- Search Marktplaats by keyword or by public search URL.
- Limit the number of listings with
maxItems. - Optionally visit detail pages with
includeDetails. - Export structured dataset rows for every saved public listing.
- Use proxy settings for larger or recurring marketplace monitoring runs.
Who is it for
This Actor is useful for teams that need a repeatable export from Marktplaats.nl without manually copying listings from the website.
Typical users include:
- Ecommerce teams tracking second-hand product prices.
- Resellers comparing availability across cities or categories.
- Analysts measuring marketplace supply for a product keyword.
- Lead generation teams collecting public listing URLs for follow-up workflows.
- Automation builders who need Marktplaats data in a dataset, spreadsheet, or database.
Typical use cases
Use the scraper when you need to:
- Monitor prices for phones, bicycles, furniture, cars, tools, or other classifieds categories.
- Build a current list of public offers for a search term.
- Compare search result volume across several keywords.
- Feed public listing data into BI tools or enrichment pipelines.
- Re-run the same Marktplaats URL regularly and compare new rows over time.
Input
You can start with either keywords or public Marktplaats search URLs. You can also combine both in one run.
Important fields:
queries- search keywords such asiphone,bakfiets, orvintage lamp.startUrls- full public Marktplaats search URLs.maxItems- maximum number of listing rows to save.includeDetails- whether to open detail pages for richer descriptions.proxy- optional Apify Proxy configuration.
Examples
Use these example inputs as starting points for common Marktplaats.nl listing exports.
Input recipes
Keyword search with a small result limit:
{"queries": ["iphone"],"maxItems": 20,"includeDetails": false,"proxy": { "useApifyProxy": false }}
Search URL with detail pages enabled:
{"startUrls": [{ "url": "https://www.marktplaats.nl/q/bakfiets/" }],"maxItems": 50,"includeDetails": true,"proxy": { "useApifyProxy": true }}
Multiple keywords in one run:
{"queries": ["iphone 15", "macbook", "racefiets"],"maxItems": 100,"includeDetails": false,"proxy": { "useApifyProxy": true }}
Output
Each dataset item includes fields such as:
listingIdtitleurlsearchUrlqueryrankpriceTextpriceValuepriceCurrencylocationcitysellerNamedescriptiondetailDescriptionimageUrlsscrapedAt
Output example
{"listingId": "1234567890","title": "Apple iPhone","url": "https://www.marktplaats.nl/v/...","searchUrl": "https://www.marktplaats.nl/q/iphone/","query": "iphone","rank": 1,"priceText": "€ 250,00","priceValue": 250,"priceCurrency": "EUR","location": null,"sellerName": null,"description": "Public listing description when available.","detailDescription": "Public listing description when detail fetching is enabled.","imageUrls": [],"scrapedAt": "2026-07-29T00:00:00.000Z"}
API usage
You can run the Actor from the Apify API or client libraries by passing the same JSON input shown above. Typical automation sets queries or startUrls, chooses a maxItems limit, and reads results from the default dataset after the run succeeds.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/marktplaats-listings-scraper').call({queries: ['iphone'],maxItems: 20,includeDetails: false,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/marktplaats-listings-scraper').call(run_input={'queries': ['iphone'],'maxItems': 20,'includeDetails': False,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~marktplaats-listings-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"queries":["iphone"],"maxItems":20,"includeDetails":false}'
Data quality tips
Use specific keywords for cleaner results, for example iphone 15 pro instead of iphone. Public Marktplaats search URLs are useful when you have already selected filters in the website UI.
If you need more complete text descriptions, enable includeDetails. If you only need a fast search-result export, keep includeDetails disabled.
Proxy guidance
Small local checks often work without proxy. For larger recurring exports, enable Apify Proxy to reduce blocked pages.
If Marktplaats returns a blocked page, lower concurrency by running smaller batches and retry with proxy enabled.
MCP
You can use this Actor from Apify integrations and MCP-compatible workflows by providing the same input JSON. This is useful when an agent needs current public Marktplaats listings before drafting a report, comparing prices, or updating a spreadsheet.
Install the Apify MCP server in Claude Desktop or Claude Code with a command like:
$claude mcp add apify -- npx -y @apify/actors-mcp-server --actors fetch_cat/marktplaats-listings-scraper
Example MCP server configuration:
{"mcpServers": {"apify": {"command": "npx","args": ["-y","@apify/actors-mcp-server","--actors","fetch_cat/marktplaats-listings-scraper"],"env": {"APIFY_TOKEN": "your-apify-token"}}}}
Example prompts:
- "Find 20 public Marktplaats listings for iphone 15 and summarize the price range."
- "Run the Marktplaats scraper for bakfiets with maxItems 50 and return the dataset URL."
- "Compare current Marktplaats listings for macbook and racefiets in two separate runs."
Recommended MCP-style inputs are small and specific, for example one query and a maxItems limit of 20-100 depending on the workflow.
Legality
This Actor is designed for public Marktplaats.nl pages. It does not log in, bypass paywalls, or collect private account data.
You are responsible for using the output in compliance with applicable laws, Marktplaats terms, and data protection requirements. Avoid collecting personal data unless you have a lawful basis and a clear business need.
Pricing and cost expectations
This Actor uses pay-per-event pricing: a small start event plus one result event for each listing saved. Set maxItems to control cost.
Runs with includeDetails enabled can take longer because they may request each listing page. For cost-controlled testing, start with a small maxItems value.
Related actors
For broader marketplace monitoring, combine this Actor with other ecommerce, classifieds, or product price scraping actors in your Apify workflows.
You can chain datasets into spreadsheet exports, database syncs, webhooks, or monitoring tasks.
FAQ
Can I combine keywords and URLs?
Yes. The Actor accepts both queries and startUrls.
Does it scrape private data?
No. It only accesses public Marktplaats pages.
Why did I get zero results?
The query may have no listings, or Marktplaats may have returned a blocked/changed page. Try a public search URL and enable proxy for higher-volume runs.
Should I enable detail pages?
Enable includeDetails when descriptions are important. Leave it disabled when you need a faster listing overview.
How do I control spend?
Use maxItems and test with a small input first.