Marktplaats.nl Auto Scraper avatar

Marktplaats.nl Auto Scraper

Pricing

from $0.97 / 1,000 results

Go to Apify Store
Marktplaats.nl Auto Scraper

Marktplaats.nl Auto Scraper

Scrape vehicle listings from Marktplaats.nl, the Netherlands' largest classifieds marketplace. Returns make, model, year, mileage, asking price, fuel type, transmission, seller type and location. Filter by keyword, price range and region.

Pricing

from $0.97 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

4

Total users

2

Monthly active users

9 days ago

Last modified

Share

Marktplaats.nl Auto Scraper

Extract vehicle listings from marktplaats.nl at scale: make, model, year, mileage, asking price, fuel type, transmission, seller type and location, in a clean structure ready for price monitoring and market research. No API key required.


Why this scraper?

🎯 Built for marktplaats.nl

A dedicated Dutch scraper tuned for marktplaats.nl — its categories, price formats and currency (EUR), not a generic tool pointed at it.

💶 Structured pricing

Current price as a clean number in EUR, plus discounts and previous prices where the source shows them. Items without a published price return null, never a guess.

🤝 Seller and condition

Seller details and item condition in structured fields, ready for filtering.

🖼️ Photos

Photo URLs for every listing where the source publishes them.

📄 Full item content

Complete description and title for every record, with a direct link back to the source.


Input parameters

ParameterTypeDefaultDescription
brandstring(empty)Car brand (e.g. volkswagen, bmw, mercedes-benz, toyota). Used as a server-side filter via Marktplaats category ID — 94 brands supported.
searchKeywordstring(empty)Free-text search query (e.g. 'golf gti', 'elektrisch nap'). Server-side — reduces the result set before pagination.
fuelstring(empty)Server-side fuel filter.
transmissionstring(empty)Server-side transmission filter.
bodyTypestring(empty)Server-side body style filter.
conditionstring(empty)Server-side condition filter.
minPriceinteger(empty)Minimum listing price in EUR. Server-side range filter — only matching listings are returned by the API.
maxPriceinteger(empty)Maximum listing price in EUR. Server-side range filter.
minYearinteger(empty)Minimum year of manufacture. Server-side range filter.
maxYearinteger(empty)Maximum year of manufacture. Server-side range filter.
minMileageinteger(empty)Minimum mileage in km. Server-side range filter.
maxMileageinteger(empty)Maximum mileage in km. Server-side range filter.
postcodestring(empty)Dutch postcode to search near (e.g. 1012AB). Use with distanceMeters to filter by radius.
distanceMetersinteger(empty)Search radius from postcode in meters (e.g. 25000 = 25 km). Requires postcode.
sortBystring(empty)Sort order for results. SORT_INDEX = newest first (default), PRICE = by price, OPTIMIZED = relevance.
sortOrderstring"DECREASING"Sort direction. Only relevant when sortBy is set.
fetchDetailsbooleanfalseVisit each listing's detail page to extract extra fields: licensePlate, trim, numberOfDoors/Seats, dateApk, totalNumberOfOwners, batteryCapacity, powerHp, listedSince, viewCount, favoritedCount, NAP/APK/warranty flags, and seller phone/type/years.
startUrlsarray(empty)Custom Marktplaats search URLs. Use only if the filter fields above don't cover your use case. When set without any filter fields, these are scraped via HTML extraction (legacy mode). When filter fields are also set, they take priority and startUrls is ignored.
maxItemsinteger20Maximum total listings to save.
maxPagesinteger10Maximum pages to fetch (30 listings per page). Caps the run regardless of total results available.

Output schema

Every field below is present on every record. Fields the source does not publish for a given item are returned as null rather than omitted.

FieldTypeDescription
itemIdstringListing ID (e.g. m2396163685)
urlstringFull URL to the listing detail page
titlestringFull listing title
shortTitlestringShort car name (brand + model)
displayTitlestringVariant/trim line from the listing card
descriptionstringListing description (card-length excerpt)
descriptionMarkdownstringDescription in Markdown/plain text.
pricenumberPrice in EUR (null if not shown)
priceCentsnumberPrice in euro cents
priceTypestringFIXED, MIN_BID, or LEASE
citystringSeller's city
latitudenumberApproximate latitude
longitudenumberApproximate longitude
abroadbooleanListing is from abroad
distanceMetersnumberDistance from search postcode in meters (null if no postcode set)
sellerIdnumberSeller account ID
sellerNamestringSeller display name
sellerLogoUrlstringSeller logo URL (dealers only, else null)
datestringListing date string (Vandaag, Gisteren, or a date)
priorityProductstringAd promotion type: DAGTOPPER, NONE, etc.
categoryIdnumberMarktplaats category ID
napAvailablebooleanNAP mileage history check available
videoOnVipbooleanListing has a video
reservedbooleanListing is marked reserved
brandstringCar brand (lowercase, e.g. volkswagen)
modelstringCar model (e.g. Golf)
constructionYearnumberYear of manufacture
mileagenumberMileage in km
mileageUnitstringAlways km
fuelstringFuel type (e.g. Benzine, Elektrisch)
transmissionstringHandgeschakeld or Automaat
bodystringBody style (e.g. Hatchback, SUV of Terreinwagen)
energyLabelstringEnergy label A–G
colorstringExterior colour (e.g. Zwart, Zilver of Grijs)
interiorColorstringInterior colour
upholsterystringUpholstery type (e.g. Leder, Stof)
driveTrainstringDrive type (e.g. Voorwielaandrijving, 4WD permanent)
engineHorsepowernumberEngine power in pk
engineDisplacementstringEngine displacement in litres (e.g. 3.0)
numberOfCylindersstringNumber of cylinders
euronormstringEmission standard (e.g. Euro 6)
conditionstringGebruikt or Nieuw
importedstringImport status (e.g. Origineel Nederlands)
fuelConsumptionstringFuel economy in km/l
roadTaxstringMonthly road tax (e.g. € 298,67)
emptyWeightstringEmpty weight in kg
rangestringElectric range in km
bovagWarrantystringBOVAG warranty description
towingWeightNoBrakesstringMax towing weight without brakes in kg
serviceHistorystringService history type (e.g. Dealer onderhouden, Onderhoudsboekje)
optionsarrayList of car options/features
highlightsarrayTrust indicator keys (e.g. napCheck, BookFromDealer)
imagesarrayAll image URLs (large format)
thumbnailUrlstringFirst image URL

Example record

{
"itemId": "m2416692443",
"url": "https://www.marktplaats.nl/v/auto-s/volkswagen/m2416692443-volkswagen-golf-mk4-gti-1-8-20vt-110kw-1998-grijs",
"title": "Volkswagen Golf MK4 GTI 1.8 20Vt 110KW 1998 Grijs",
"shortTitle": "Volkswagen Golf",
"displayTitle": "MK4 GTI 1.8 20Vt 110KW 1998 Grijs",
"description": "Te koop volkswagen golf mk4 gti 1.8 20Vt 110kw 1998 grijs hierbij verkoop ik mijn golf gti. Een hele fijne en betrouwbare auto heb hem helaas maar kort gehad maar ben toch opzoek naar iets ruimers en ",
"descriptionMarkdown": "Te koop volkswagen golf mk4 gti 1.8 20Vt 110kw 1998 grijs hierbij verkoop ik mijn golf gti. Een hele fijne en betrouwbare auto heb hem helaas maar kort gehad maar ben toch opzoek naar iets ruimers en ",
"price": 0,
"priceCents": 0,
"priceType": "FAST_BID",
"city": "Nederweert-Eind",
"latitude": 51.278335860931,
"longitude": 5.7813832658473,
"abroad": false,
"distanceMeters": -1000,
"sellerId": 50632846,
"sellerName": "minarelli",
"sellerLogoUrl": null,
"date": "Vandaag",
"priorityProduct": "DAGTOPPER",
"categoryId": 157,
"napAvailable": false,
"videoOnVip": false,
"reserved": false,
"brand": "volkswagen",
"model": "Golf",
"constructionYear": 1998,
"mileage": 271000,
"mileageUnit": "km",
"fuel": "Benzine",
"transmission": "Handgeschakeld",
"body": "Hatchback",
"energyLabel": null,
"color": null,
"interiorColor": null,
"upholstery": null,
"driveTrain": null,
"engineHorsepower": 149,
"engineDisplacement": "1781 cc",
"numberOfCylinders": "4",
"euronorm": null,
"condition": null,
"imported": null,
"fuelConsumption": null,
"roadTax": null,
"emptyWeight": null,
"range": null,
"bovagWarranty": null,
"towingWeightNoBrakes": null,
"serviceHistory": null,
"options": [],
"highlights": [],
"images": [
"https://images.marktplaats.com/api/v1/hz-mp-pro-listing/images/078cf968-6b56-4164-9238-55bdb7571aef?rule=ecg_mp_eps$_83. …"
],
"thumbnailUrl": "https://images.marktplaats.com/api/v1/hz-mp-pro-listing/images/078cf968-6b56-4164-9238-55bdb7571aef?rule=ecg_mp_eps$_83.jpg"
}

Examples

Search for Volkswagen Golf:

{
"searchKeyword": "Volkswagen Golf",
"maxItems": 100
}

Cap the price:

{
"searchKeyword": "Volkswagen Golf",
"maxItems": 100,
"maxPrice": 24.5
}

Scrape a specific search URL:

{
"startUrls": [
{
"url": "https://www.marktplaats.nl/"
}
],
"maxItems": 200
}

Daily monitoring (run on a schedule):

{
"searchKeyword": "Volkswagen Golf",
"maxItems": 500
}

Schedule this input to run once a day in the Apify Scheduler to track prices, stock and new items over time.


💰 Pricing

$0.99 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.

ResultsCost
100~$0.10
1,000~$0.99
10,000~$9.90
100,000~$99.00

Flat-rate alternatives typically charge $29–$49/month regardless of usage.

Subscription tiers lower the rate further, down to $0.95 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeTypical time
100 resultsunder 1 minute
1,000 results2–4 minutes
10,000 results20–35 minutes

Known limitations

  • Some fields (brand, condition, shipping) are only returned when the seller or source publishes them — expect null on a share of records.
  • Prices and stock change constantly; records reflect the moment of scraping.
  • Very large result sets are bounded by the source's own paging limits.
  • Items can sell or be withdrawn at any time, so a small share of URLs may expire shortly after scraping.

Technical details

  • Source: marktplaats.nl
  • Coverage: everything the public search exposes, filterable via the input parameters above
  • Retry: automatic retry on network errors with exponential backoff

Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl