AutoScout24 Scraper - Used Car Listings & Price Drop Monitor
Pricing
from $0.90 / 1,000 car listing returneds
AutoScout24 Scraper - Used Car Listings & Price Drop Monitor
Schedule it hourly or daily and get only new used-car listings, price drops and removed cars from AutoScout24 in Germany, Italy, France, Netherlands, Belgium, Austria, Spain and Luxembourg. Price with currency, price rating, mileage, year, fuel, power, dealer and photo. No login. JSON, CSV or Excel.
Pricing
from $0.90 / 1,000 car listing returneds
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
Schedule it hourly or daily → get only new listings & price drops. This Actor watches AutoScout24 used-car searches in Germany, Italy, France, Netherlands, Belgium, Austria, Spain and Luxembourg and returns only what changed since the last run: new cars, price drops and rises (with the previous price) and removed cars. Each row has the price with its currency, AutoScout24's price rating, first registration, mileage, fuel, transmission, power, colour, location, dealer or private seller, dealer name, photo and link. Search by make and model, price, year, mileage, fuel, transmission, seller type and postal code + radius, or paste an AutoScout24 search URL with the site's own filters. No login, no API key. Export as JSON, CSV or Excel, or send rows to Google Sheets, Slack, Make, Zapier or n8n with Apify integrations.
- Only the changes, every run. Turn on Monitor mode and schedule the Actor. The first run returns the newest cars as a starting point; every later run returns just the changes:
new,price_drop,price_upandremovedrows (each kind can be switched off). You pay for the changes plus a small run start fee per check, not for the same cars again. - Price drops with the old price. A car you already got whose price changed comes back as
price_droporprice_upwithpreviousPriceandpriceChange(for example-1000). - Removed cars. A car you got before that is gone from the newest part of the list the watch reads (sold, withdrawn or no longer matching) comes back once as
removed, with its last title, link and price. - New means new. Cars that only moved up from further down the list are not reported as new.
- 8 countries, one run. Makes/models times countries, plus pasted search URLs, up to 10 searches per run. A model name that a country spells differently (for example
bmw/3eron autoscout24.it) is followed to that country's own search. - Clean numbers.
priceis a number incurrency(EUR),mileageKm,powerKw/powerHpandengineCcmare numbers,firstRegistrationisYYYY-MM. - Free rows when there is nothing to deliver. No cars, nothing changed, an unknown make or model, or a page that could not be read come back as free rows that say why.
- Light. 256 MB by default; a monitor check of one search with the default settings reads 4 pages.
What you get
One row per car. Example (the first check of a watch on AutoScout24 Germany, bmw/3er, 2026-10-28):
{"status": "ok","changeType": "new","isFirstCheck": true,"listingId": "a5977da1-bae4-4876-9c16-5c517179684c","url": "https://www.autoscout24.de/angebote/bmw-3er-d-touring-advantage-aut-led-navi-pdc-diesel-schwarz-cat_ma13gr100038ge26va106mt123tr170-a5977da1-bae4-4876-9c16-5c517179684c","title": "BMW 3er Touring 316d","make": "BMW","model": "3er","modelDetail": "316d","version": "d Touring Advantage Aut.LED Navi PDC","variant": "Touring","price": 13900,"currency": "EUR","previousPrice": null,"priceChange": null,"priceFormatted": "€ 13.900","isConditionalPrice": false,"priceVatLabel": "inkl. MwSt.","priceRating": "top-price","firstRegistration": "2019-05","mileageKm": 126000,"fuel": "Diesel","transmission": "Automatik","powerKw": 85,"powerHp": 116,"engineCcm": 1995,"color": "black","isDamaged": false,"locationCountry": "DE","zip": "12347","city": "Berlin","sellerType": "dealer","dealerName": "Auto Mivex GmbH","dealerRating": 5,"dealerRatingCount": 68,"photoUrl": "https://prod.pictures.autoscout24.net/listing-images/a5977da1-bae4-4876-9c16-5c517179684c_93d26059-d93b-4fe2-b4fb-608d74702dab.jpg/250x188.webp","photoCount": 42,"firstSeenAt": "2026-10-28T06:26:00.000Z","country": "de","positionInSearch": 1,"listingsInSearch": 11163,"searchUrl": "https://www.autoscout24.de/lst/bmw/3er?atype=C&cy=D&sort=age&desc=1","watchName": null,"checkedAt": "2026-10-28T06:26:07.404Z"}
| Field | What it is |
|---|---|
changeType | Monitor mode: new, price_drop, price_up, removed or unchanged. Empty in a normal search. |
isFirstCheck | true on the rows of a watch's first run (the starting point). |
price, currency | Price as a number and its currency. Empty when the listing shows no price. |
previousPrice, priceChange | The price at the previous check and the difference (negative = cheaper). |
priceRating | AutoScout24's price rating: top-price, good-price, fair-price, somewhat-expensive, expensive (as the site names them), or empty when the site shows no rating. |
firstRegistration | Month of first registration, YYYY-MM. |
mileageKm, powerKw, powerHp, engineCcm | Numbers. |
fuel, transmission | As shown on the site, in its language. |
color | Exterior colour in English when the listing address names it. |
sellerType | dealer or private. |
dealerName, dealerContactName, dealerPhones, street, dealerRating | Dealer details as shown in the list. Empty for private sellers. |
firstSeenAt | When this watch first saw the car (the list does not show a publication date). |
positionInSearch, listingsInSearch | Position in the newest-first list and how many cars the search has. |
status | ok for a car; otherwise a free row with a note that says why. |
Input
{"makeModels": ["bmw/3er", "volkswagen/golf"],"countries": ["de", "at"],"priceTo": 25000,"yearFrom": 2018,"mileageTo": 120000,"fuelTypes": ["diesel", "petrol"],"transmission": "automatic","maxResultsPerSearch": 50,"monitorMode": true}
makeModels:make/modelas in an AutoScout24 search address (bmw/3er,mercedes-benz/c-klasse,fiat/500), or a make alone (audi).countries:de,it,fr,nl,be,at,es,lu. Empty = Germany.searchUrls: paste an AutoScout24 search with any site filter (body type, power, colour, equipment ...). It is always read newest first.- Filters:
priceFrom/priceTo(EUR),yearFrom/yearTo,mileageFrom/mileageTo(km),fuelTypes,transmission,sellerType,zipCode+radiusKm. maxResultsPerSearch: 1 to 5,000 (default 50).- Monitor mode:
monitorMode,includePriceChanges(on),includeRemoved(on),includeUnchanged(off),watchName,resetMonitoringState.
Monitor mode
- Schedule the Actor (Schedules tab, for example every hour or every morning) with
monitorMode: true. - The first run returns the newest
maxResultsPerSearchcars of each search withchangeType: newandisFirstCheck: true, and remembers them. - Every later run reads the newest
maxResultsPerSearchcars plus one more page and returns:new: cars that appeared since the previous check,price_drop/price_up: cars you already got whose price changed, withpreviousPrice,removed: cars you already got that are gone from the part of the list the watch reads.
- A run where nothing changed returns one free
no-changesrow. - New cars that did not fit into
maxResultsPerSearchor your maximum charge are not charged and come in the next run. - Use
watchNameto keep separate watches for the same search (one per client or per alert channel).
Pricing
Pay per event:
- Run start: once per run that returns cars, and once per monitor-mode run that read and compared the list, even when nothing changed (it pays for the check).
- Listing returned: per car row delivered (
new,price_drop,price_up,removed,unchangedor a normal search row). Free rows are never charged.
If your maximum total charge has no room for the run start fee plus one car, the run requests nothing and is charged nothing.
Good to know
- Up to 5,000 cars per search in a normal run: large searches are read in price ranges, so cars without a price can be missing. Monitor mode reads only the newest part of each search.
- One AutoScout24 search pages through at most 200 pages (4,000 cars). Monitor mode watches the newest part of a search; for a very large search, narrow it (model, year, price, region) so new cars are not missed between checks.
removedis judged on the part of the list the watch reads (the newestmaxResultsPerSearchcars plus one page). A car you got long ago that has slid further down is not reported as removed.- With a price filter, AutoScout24 leaves out cars that show no price. Splitting a large search into price ranges therefore skips cars without a price.
fuel,transmissionandpriceVatLabelare the words shown on the site, in its language. The list shows no publication date, sofirstSeenAtis when this watch first saw the car.- Dealer contact names and phone numbers are returned only when AutoScout24 shows them in the search list. Nothing is collected from listing pages.
- Two schedules running the same search with the same
watchNameat the same moment can return the same new car twice; give each schedule its ownwatchName. - Unofficial. Reads the public AutoScout24 search pages a person sees without logging in.
Thanks for using this Actor
We build these tools for people who run them every day, and we improve them from what users tell us.
- Missing a field, or need another filter? Tell us in the Issues tab. If the data is there, we add it.
- Found a bug or a wrong value? Post the run ID in the Issues tab. Wrong data is the thing we fix first.
If this Actor saved you time, a short review helps other people find it.