Marktplaats Scraper
Pricing
from $1.00 / 1,000 results
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
17
Total users
0
Monthly active users
2 hours ago
Last modified
Categories
Share
Extract complete listing data from Marktplaats โ the Netherlands' largest classifieds marketplace with millions of active listings across cars, electronics, furniture, clothing, real estate, jobs, and more. Search by keyword or paste any Marktplaats URL to collect prices, seller details, images, location, and 30+ structured fields per listing.
Why This Scraper?
- Netherlands' #1 classifieds site โ access millions of listings across every major category from cars and property to toys and collectibles
- Search by keyword or URL โ enter plain search terms like "iPhone 15" or paste any Marktplaats search/category URL you already filtered in your browser
- Rich listing data โ price and price type, item condition, category and parent category, seller profile, city plus exact latitude/longitude, every listing image, and the collection-or-shipping option
- Price filtering built in โ set a minimum and/or maximum price in euros to skip irrelevant listings immediately
- Sort by what matters โ newest first, lowest price, highest price, or most relevant
- Vehicle details extracted โ brand, model, year, mileage, fuel type, transmission, and colour for car listings
- No compute charges โ you only pay per result returned
Use Cases
Market Research & Price Monitoring
- Track market prices for a product category over time
- Compare asking prices across sellers for the same model
- Spot pricing anomalies and arbitrage opportunities
- Monitor how quickly certain items sell and at what price
Lead Generation & Sales
- Find private sellers of goods you want to buy in bulk
- Identify businesses selling on Marktplaats for B2B outreach
- Build targeted contact lists of sellers in a specific region or category
Competitive Intelligence
- Monitor competitor listings and pricing on Marktplaats
- Track inventory levels and stock changes of known sellers
- Analyse listing frequency and seasonal trends
Inventory & Data Enrichment
- Populate internal databases with used-goods market data
- Enrich product catalogues with real-world resale valuations
- Build price-comparison tools for second-hand marketplaces
Research & Journalism
- Study the Dutch second-hand goods market at scale
- Analyse regional supply and demand patterns
- Investigate pricing practices or category-level trends
Getting Started
Keyword Search
The simplest way to start โ just enter what you are looking for:
{"searchQueries": ["iPhone 15 Pro", "laptop gaming"],"maxResults": 100}
Search with Price Range
Narrow results to a specific budget:
{"searchQueries": ["racefiets"],"minPrice": 200,"maxPrice": 800,"sortBy": "price_asc","maxResults": 200}
Category or Search URL
Keyword search URLs work exactly as they read. Category URLs need the two category numbers on the end, which is what pins the run to the BMW car category instead of everything on the site matching the word "bmw":
{"searchUrls": ["https://www.marktplaats.nl/l/auto-s/bmw/?l1CategoryId=91&l2CategoryId=96","https://www.marktplaats.nl/q/gaming+laptop/"],"maxResults": 500}
Combined: URLs and Queries Together
Mix both input types โ results from all sources are combined:
{"searchUrls": ["https://www.marktplaats.nl/l/antiek-en-kunst/?l1CategoryId=1"],"searchQueries": ["vintage lamp", "retro klok"],"minPrice": 50,"sortBy": "date_down","maxResults": 1000}
Input Reference
| Parameter | Type | Default | Description |
|---|---|---|---|
searchUrls | string[] | [] | Marktplaats keyword search URLs (/q/...), or category URLs with their category numbers appended (?l1CategoryId=91&l2CategoryId=96). A category URL without those numbers is searched by its last word instead, and the run log says so |
searchQueries | string[] | [] | Plain-text search terms (e.g. "iPhone 15 Pro") |
maxResults | integer | 100 | Total listings to collect, shared evenly across every URL and query you enter. Set to 0 for no limit |
sortBy | string | "date_down" (Newest First) | Sort order: date_down (Newest First), price_asc (Price: Low to High), price_desc (Price: High to Low), or relevance (Most Relevant) |
minPrice | integer | โ | Only include listings priced at or above this amount in euros |
maxPrice | integer | โ | Only include listings priced at or below this amount in euros |
includeSponsored | boolean | true | Marktplaats mixes paid webshop advertisements into its results (typically around 1 in 5). Leave on to receive them as the site shows them, or turn off to collect only genuine listings the search matched |
Output
Each listing is saved as one row in your dataset. Here is a representative example:
{"listingId": "m2134567890","title": "BMW 3 Serie 320i Executive โ 2018, lage km","url": "https://www.marktplaats.nl/v/auto-s/bmw/m2134567890-bmw-3-serie-320i-executive","description": "Nette BMW 3 serie, goed onderhouden, nap, 2 sleutels aanwezig...","price": 18950.00,"priceType": "FIXED","currency": "EUR","condition": "Gebruikt","categoryId": 96,"categoryName": "BMW","parentCategoryName": "Auto's","imageUrls": ["https://images.marktplaats.com/api/v1/listing-mp-p/images/ab/ab123456-0000-0000-0000-000000000000?rule=ecg_mp_eps$_84.jpg"],"postedAt": "Vandaag","sellerName": "AutoDeal Rotterdam","sellerId": "55123456","sellerUrl": "https://www.marktplaats.nl/s/55123456","sellerType": "BUSINESS","sellerCity": "Rotterdam","sellerRegion": "NL","sellerLat": 51.9225,"sellerLon": 4.4792,"shippingMethod": "Ophalen","isFreeAd": false,"isSponsored": false,"isPromoted": true,"urgencyFeatureActive": false,"vehicleBrand": "BMW","vehicleModel": "3 Serie","vehicleYear": 2018,"vehicleMileage": 87000,"vehicleFuelType": "Benzine","vehicleTransmission": "Automaat","vehicleColor": "Zwart","attributes": {"model": "3 Serie","constructionYear": "2018","mileage": "87000","fuel": "Benzine","transmission": "Automaat","color": "Zwart","condition": "Gebruikt","body": "Sedan","energyLabel": "B"},"searchQuery": "https://www.marktplaats.nl/l/auto-s/bmw/?l1CategoryId=91&l2CategoryId=96"}
Field Reference
Core Listing Fields
| Field | Type | Description |
|---|---|---|
listingId | string | Unique Marktplaats listing identifier |
title | string | Listing title as shown on Marktplaats |
url | string | Direct URL to the listing page |
description | string | Listing description text |
price | number | Asking price in euros. Null when Marktplaats publishes no asking price, which is every auction-style ad (FAST_BID) plus FREE and SEE_DESCRIPTION listings |
priceType | string | How the price is offered: FIXED (asking price), MIN_BID (open to offers), FAST_BID (auction), SEE_DESCRIPTION, FREE |
currency | string | Always "EUR" |
condition | string | Item condition in Dutch: Nieuw, Nieuw zonder verpakking, Zo goed als nieuw, Gebruikt, Gedragen, Refurbished, Niet werkend. Blank when the seller did not state one |
categoryId | integer | Marktplaats internal category ID |
categoryName | string | Category name as Marktplaats labels it (e.g. BMW, Mobiele telefoons | Apple iPhone) |
parentCategoryName | string | Top-level category name (e.g. Auto's, Telecommunicatie) |
imageUrls | string[] | All listing image URLs |
postedAt | string | When the listing was posted (Dutch localised: "Vandaag", "Gisteren", or a date) |
searchQuery | string | The search query or URL that produced this result |
Seller Fields
| Field | Type | Description |
|---|---|---|
sellerName | string | Seller display name |
sellerId | string | Seller account identifier |
sellerUrl | string | Link to the seller's Marktplaats profile |
sellerType | string | BUSINESS for dealers and shops, PRIVATE for individuals. Use it to split trade inventory from private ads |
sellerCity | string | Seller's city |
sellerRegion | string | Two-letter country code of the listing: NL, BE, DE, FR. Blank when Marktplaats does not publish it |
sellerLat | number | Seller location latitude |
sellerLon | number | Seller location longitude |
Delivery, Flags & Vehicle Fields
| Field | Type | Description |
|---|---|---|
shippingMethod | string | How the item changes hands, in Dutch: Ophalen (collection only), Verzenden (shipping only), Ophalen of Verzenden (either) |
isFreeAd | boolean | true if the item is offered for free |
isSponsored | boolean | true if the row is a paid advertisement Marktplaats placed in the results rather than a listing the search matched. Always present, so you can filter ads out in one step |
isPromoted | boolean | true if a genuine matching listing was pushed up the page because its seller paid to feature it |
urgencyFeatureActive | boolean | true if the seller has paid for urgency highlighting |
vehicleBrand | string | Vehicle brand for car listings (e.g. BMW, Volkswagen) |
vehicleModel | string | Vehicle model (cars only) |
vehicleYear | integer | Year of manufacture (cars only) |
vehicleMileage | integer | Odometer reading in kilometres (cars only) |
vehicleFuelType | string | Fuel type in Dutch (e.g. "Benzine", "Diesel") |
vehicleTransmission | string | Gearbox type (e.g. "Automaat", "Handgeschakeld") |
vehicleColor | string | Exterior colour in Dutch. Sparse by nature: only about 3 in 10 car sellers fill it in, so plan on this column being empty most of the time |
attributes | object | Every raw listing attribute as key-value pairs. Category-specific extras such as body, energyLabel, storage, engineHorsepower, driveTrain and numberOfSeats land here |
Tips for Best Results
Getting More Results
- Marktplaats limits access to approximately 5,000 listings per search (167 pages ร 30). For broad categories, split into smaller queries with price ranges or more specific keywords to access more of the catalogue.
- Combine
searchUrlswith subcategory URLs for maximum coverage within a category. maxResultsis split evenly across everything you enter, so five queries with a limit of 500 give each query roughly 100 listings, and any query that runs out early hands its leftover share to the others. Listings arrive in batches of 30, so allow at least 30 per search (three queries โ set 90 or more) and expect the final count to round up to the nearest full batch.
Using URLs from Your Browser
- Keyword search URLs (
marktplaats.nl/q/...) copy across from your address bar and work exactly as they read. - Category URLs are the one exception worth knowing: Marktplaats keeps its category numbers out of the address bar, so
marktplaats.nl/l/auto-s/bmw/on its own is searched as the words "bmw" across the whole site. Add the two category numbers to the end (?l1CategoryId=91&l2CategoryId=96) and you get the BMW car category itself. The run log tells you which of the two happened, every time.
Dutch Language
- Marktplaats is a Dutch marketplace โ search terms in Dutch return more results. For example, use "fiets" instead of "bike", or "bank" instead of "sofa".
- Category slugs in URLs are also in Dutch (e.g.
/l/computers-en-software/laptops/).
Price Filtering
- Use
minPriceandmaxPriceto avoid wading through free items or high-end listings you are not interested in. Prices are in whole euros. - Auction-style ads (
priceType: FAST_BID) carry no asking price on Marktplaats, so any price range you set filters them out. Leave both fields empty if you want auctions in your export.
Sorting Strategy
- Use Newest First when monitoring new listings as they appear.
- Use Price: Low to High to find the best deals at the top of your results.
- Use Most Relevant for exploratory keyword searches where you are not sure what to expect.
Pricing
No compute charges โ you only pay per result returned.
| Results | Estimated Cost |
|---|---|
| 100 | $0.10 |
| 1,000 | $1.00 |
| 10,000 | $10.00 |
Integrations
Export your data in JSON, CSV, Excel, XML, or RSS format. Connect to 1,500+ tools via:
- Zapier / Make / n8n โ Trigger workflows automatically when new listings appear
- Google Sheets โ Export results directly to a spreadsheet for analysis
- Slack / Email โ Get notified when new matching listings are found
- Webhooks โ Push data to your own systems in real time
- Apify API โ Full programmatic access, schedule runs, and automate data pipelines
Legal & Ethical Use
This actor is designed for legitimate business intelligence, market research, price monitoring, and lead generation. Users are responsible for complying with applicable laws and Marktplaats's Terms of Service. Do not use collected data for spam, harassment, or any unlawful purpose.