AutoScout24 Scraper: 9 Countries, Price History & Price Alerts
Pricing
from $0.35 / 1,000 listing saveds
AutoScout24 Scraper: 9 Countries, Price History & Price Alerts
Scrape AutoScout24 in all 9 countries, Switzerland included: full price history, AutoScout24's market price, dealer stock and seller phones, with no 4,000-result limit. Alerts for new listings, price drops, sold cars and reposts. From $0.35 per 1,000 listings, platform usage included.
Pricing
from $0.35 / 1,000 listing saveds
Rating
0.0
(0)
Developer
Epic Scrapers
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
AutoScout24 Scraper: car listings from 9 countries with full price history, market prices and price alerts
AutoScout24 Scraper turns any AutoScout24 search into a spreadsheet: cars, motorbikes, vans and caravans from Germany, Austria, Belgium, Spain, France, Italy, Luxembourg, the Netherlands and Switzerland. Paste a search, dealer or listing URL from any AutoScout24 site, or just pick a make, model and filters. Every listing comes with numbers AutoScout24 itself keeps: every price the seller ever asked, AutoScout24's market price for the car, its price label, and how many people saved it.
- Full price history from the first run. Every past price with its date, straight from AutoScout24. No need to track a listing for weeks first.
- AutoScout24's own market price. The market price for comparable cars, the Top/Good/Fair/Higher/High price label, the fair-price band, and how far each car is above or below the market (
priceVsMarketPercent). - No 4,000-result limit. AutoScout24 shows at most 4,000 results per search, and a scraper that pages through the website gets even fewer. This actor splits big searches by price automatically, so "all Golfs in Germany" really returns all 29,000+.
- Alerts that catch everything. Schedule it in monitoring mode and get only new listings, price drops and increases, sold (removed) cars, cars that come back, and reposts: cars deleted and listed again under a new ID to look fresh.
- 9 countries, one dataset. All 8 EU sites plus autoscout24.ch (Switzerland), which runs on a separate platform. Dealer pages return a dealer's whole stock.
- From $0.35 per 1,000 listings ($0.45 on the free plan), platform usage included. No subscription, no account, no API key, no proxy setup. Export to JSON, CSV, Excel or Google Sheets.
Scope: This actor covers AutoScout24 in 9 countries. For eBay Motors vehicles and parts use eBay Motors Scraper. For car ads on Subito in Italy use Subito Automotive Scraper. For German classified car ads use Kleinanzeigen Scraper.
What can you do with AutoScout24 Scraper?
| Goal | How |
|---|---|
| Find underpriced cars to flip | Sort by priceVsMarketPercent, or filter priceRating = top_price. |
| Get alerts for new cars | Monitoring mode + sort Newest, scheduled every 5–15 minutes, with a webhook, Slack or email integration. |
| Spot motivated sellers | totalPriceDrop, priceChangesCount, priceHistory and daysOnMarket. Reposts are flagged (isRepost). |
| Watch a competitor dealer | Paste the dealer's page and schedule it daily: new stock, price changes and sold cars. |
| Value cars and research a market | Whole markets without the 4,000 cap, with AutoScout24's market price and fair-price band for each car. |
| Compare prices across borders | One run over several countries, Switzerland included (in CHF). |
| Generate dealer leads | Dealer names, phones, websites, ratings and addresses (sellerPhones, dealerWebsite, dealerRating). |
| Feed an AI assistant or a valuation model | Compact rows and a description length cap keep the data small. |
How it compares
| What you need | AutoScout24 Scraper | Typical AutoScout24 scrapers |
|---|---|---|
| Results per search URL | Everything (automatic splitting) | 400 to 4,000, or split by hand |
| Price history | Every past price with dates, from the first run | Only what they saw across their own runs |
| Market price and price label | Market price, label, fair-price band, % above or below market | Label at most |
| Demand | Favourites, enquiry level, days on market | Rarely |
| Alerts | New, price drop/increase, removed, reappeared, reposts | Some have an "incremental" mode |
| Monitoring cost | Only changes are charged; checks are free | Some charge for every listing compared |
| Countries | 8 EU sites + Switzerland | Usually the 8 EU sites or Switzerland |
| Input | Search, dealer or listing URLs from any site, or filters | Often search URLs only |
| Speed | 400 listings per request: 9,000 cars in about 20 seconds | 20 per page |
| Price per 1,000 listings | $0.35–$0.45, platform usage included | $0.45–$4.00 |
Quick start
- Click Try for free and sign in to Apify. The free plan's monthly credit covers about 10,000 listings.
- Open AutoScout24 in your browser, set your filters, copy the URL and paste it into AutoScout24 URLs. Or leave URLs empty and use Make, Model and the other filters.
- For a first run, set Max listings per search to
50. - Click Start. When the run finishes, open the Output tab and export the data.
{"startUrls": [{ "url": "https://www.autoscout24.de/lst/bmw/3er?fregfrom=2018&priceto=30000&sort=age&desc=1" }],"maxItems": 50}
Which URLs work?
| URL | What you get |
|---|---|
Search page on any EU site: autoscout24.de/lst/bmw/3er?fregfrom=2018, autoscout24.it/lst?... | Every listing of the search |
Dealer page: autoscout24.de/haendler/..., autoscout24.com/dealerinfo/... | The dealer's whole stock |
Listing page: autoscout24.de/angebote/..., autoscout24.com/offers/... | That listing |
Switzerland: autoscout24.ch/de/s/... (search), .../s/seller-... (dealer), .../d/... (listing) | The same, from autoscout24.ch |
Set any filters and sort on the website first; the actor keeps them all.
What data can you extract?
Every row is one listing:
| Group | Fields |
|---|---|
| Vehicle | title, make, model, modelGroup, version, vehicleType, mileageKm, firstRegistration, firstRegistrationYear, modelYear, condition, fuel, transmission, driveTrain, powerKw, powerHp, engineSizeCc, cylinders, gears, bodyType, color, doors, previousOwners, hadAccident, isDamaged, hasFullServiceHistory, isNonSmoking, hasNewInspection, hasWarranty, equipment, description |
| Price | price, currency, priceNet, vatRate, isVatDeductible, isPriceNegotiable, isPriceOnRequest |
| Market | marketPrice, priceRating, priceRatingCode, priceVsMarketPercent, fairPriceMin, fairPriceMax |
| History | priceHistory, originalPrice, totalPriceDrop, priceChangesCount, createdAt, updatedAt, renewedAt, isRenewed, daysOnMarket |
| Demand | favoritesCount, interestLevel |
| Seller | sellerType, sellerId, sellerName, sellerContactName, sellerPhones, dealerRating, dealerRatingCount, dealerRecommendPercent, dealerWebsite, dealerStockNumber |
| Location | country, postalCode, city, street, latitude, longitude |
| Media | mainImageUrl, imageUrls, imageCount |
| Monitoring | changeType, previousPrice, priceChange, priceChangePercent, firstSeenAt, removedDetectedAt, isRepost, repostOfId, repostedAsId |
| Source | id, url, searchUrl, searchQuery, scrapedAt |
With Compact rows on, each row has about 25 core fields (title, price, price rating, mileage, registration, fuel, location, seller, link) plus the monitoring fields.
Switzerland
autoscout24.ch is a separate platform with its own data. Swiss rows have the same fields, with these differences:
- Prices are in CHF (
currency: "CHF"). The price filters use CHF for Switzerland too. - No price history, market price, price label, favourites or enquiry level: autoscout24.ch doesn't publish them. When the seller lowered the price,
originalPriceis the price before the last change andtotalPriceDropthe difference. - No equipment list. Description, body type, colour, engine and seller details (phones, address, website, Google rating) are included.
- The postal code and radius filters are not available.
- Each Swiss listing takes an extra request for its details, so Switzerland is slower: about 30 listings per second.
Monitoring: new listings, price drops, sold cars and reposts
- Set Sort by to Newest first and turn on Only new or changed listings. Give the monitor a name, e.g.
bmw-3er-munich. - Run it once. The first run saves what it finds (up to Max listings) to learn the current listings.
- Schedule it (see below) and add an integration (webhook, Slack, email, Make, Zapier).
Each run then reads only the newest page(s) until it reaches listings it has already seen, and re-checks earlier listings it didn't see in this run. Every saved row has a changeType:
changeType | Meaning |
|---|---|
new | Appeared since the last run. isRepost: true when it's a car that was just deleted and listed again. |
price_drop / price_increase | With previousPrice, priceChange and priceChangePercent. |
removed | Taken down, usually sold, with the last known price. repostedAsId when the car was listed again. |
reappeared | A removed listing that is back online. |
A repost is a new listing from the same seller for the same car (make, model, first registration, power and mileage within 1,000 km) as a listing that was just removed. Dealers do this to reset "days on market". Turn on Skip reposts to receive only genuinely new cars.
You pay only for these rows. Re-checks and unchanged listings are free.
{"startUrls": [{ "url": "https://www.autoscout24.de/lst/bmw/3er?zip=80331&zipr=50" }],"sort": "newest","maxItems": 200,"onlyNewOrChanged": true,"monitorKey": "bmw-3er-munich"}
In monitoring, Max listings is how far back each run looks: set it above the number of new listings between two runs. All of Germany gets about 10 new cars per minute; a narrow search gets far fewer.
Track AutoScout24 over time with scheduled runs
1. Save your input as a task
Open the actor, set your URLs or filters, then click Save as a new task. A task is a saved input you can run again with one click or on a schedule.
2. Schedule the task
In Apify Console, go to Schedules, click Create new, choose how often to run, and add your task. See Schedules and How to create a schedule.
Watch how to schedule an Actor:
Or schedule a saved task:
Common schedules:
| Use case | Frequency | Cron expression |
|---|---|---|
| New-listing and price-drop alerts | Every 10 minutes | */10 * * * * |
| Competitor dealer stock | Daily | 0 7 * * * |
| Market prices for a model | Weekly (Monday) | 0 6 * * 1 |
3. Send the results where you need them
Connect Google in the task's Integrations tab to save every run to Google Sheets or Google Drive automatically:
For alerts, add a Slack, email or webhook integration that fires when a run succeeds. In monitoring mode the run's dataset holds only the changes, so every message is news.
4. Compare runs
Every row has id, sellerId and scrapedAt, so runs are easy to join:
- Sold cars per dealer: count
removedrows persellerId. - Time to sell:
daysOnMarketonremovedrows, per make and model. - Price cuts:
price_droprows, orpriceHistoryon any row. - Market trend: median
priceandmarketPriceper model, week by week.
Input reference
| Field | Type | Default | Effect |
|---|---|---|---|
startUrls | Array | Empty | Search, dealer or listing URLs from any AutoScout24 site, including autoscout24.ch. |
maxItems | Integer | 100 | Listings per search. 0 = all, with automatic splitting past 4,000. |
sort | String | keep | keep (the URL's sort), standard, newest, price_asc, price_desc, mileage_asc, year_desc, power_desc. |
vehicleType | String | car | Filters only (no URLs): car, motorbike, van, caravan. |
countries | Array | 8 EU | DE, AT, BE, ES, FR, IT, LU, NL, CH. Empty = the 8 EU countries; add CH for Switzerland. |
make, model | String | Empty | Names as on AutoScout24: BMW + 3 Series (all 3 Series) or 320 (one model). |
priceMin/priceMax | Integer | Empty | EUR (CHF for Switzerland). |
yearMin/yearMax | Integer | Empty | First registration year. |
mileageMax | Integer | Empty | km. |
fuelTypes, gearbox | Array | Any | e.g. ["diesel", "electric"], ["automatic"]. |
condition, sellerType | String | any | used/new; dealer/private. |
postalCode, radiusKm | Mixed | Empty | Search around a postal code (EU countries only). |
onlyNewOrChanged | Boolean | false | Monitoring: save only new, changed, removed and reappeared listings since the last run of the same search. |
monitorKey | String | Empty | Name of the monitor's memory. Same name + same search = runs continue from each other. |
detectRemovals | Boolean | true | Monitoring: re-check listings not seen in this run; report removed, reappeared and reposted listings. |
skipReposts | Boolean | false | Monitoring: don't save reposts of removed listings. |
includeDescription | Boolean | true | The seller's description as plain text. |
includeEquipment | Boolean | true | Equipment list (EU sites). |
descriptionMaxLength | Integer | 0 | Cut descriptions to this many characters. 0 = full. |
compact | Boolean | false | About 25 core fields per row instead of 80+. |
The filters are used when there are no URLs. With URLs, set the filters on AutoScout24 and copy the URL.
Ready-to-run examples
Every Volkswagen Golf in Germany (no 4,000 limit)
{ "make": "Volkswagen", "model": "Golf", "countries": ["DE"], "maxItems": 0 }
29,000+ listings in a few minutes. The run summary shows how the search was split.
Compare a model in Germany and Switzerland
{ "make": "Tesla", "model": "Model 3", "countries": ["DE", "CH"], "maxItems": 1000, "compact": true }
Group the rows by country and compare price per firstRegistrationYear (EUR for Germany, CHF for Switzerland).
A competitor dealer's stock, checked daily
{"startUrls": [{ "url": "https://www.autoscout24.de/haendler/auto-croll-und-sondermann-gmbh-velbert" }],"maxItems": 0,"onlyNewOrChanged": true,"monitorKey": "dealer-croll"}
Schedule it daily: you get the dealer's new cars, price changes and sold cars.
Underpriced cars from private sellers
{ "countries": ["DE", "AT"], "sellerType": "private", "priceMax": 15000, "sort": "newest", "maxItems": 1000 }
Filter the results to priceRating = top_price or sort by priceVsMarketPercent.
Cheapest electric cars in France and Belgium
{ "countries": ["FR", "BE"], "fuelTypes": ["electric"], "sort": "price_asc", "maxItems": 500 }
Motorbikes in Italy
{ "vehicleType": "motorbike", "countries": ["IT"], "maxItems": 1000 }
Analyze the results with ChatGPT or Claude
Export the dataset as CSV (the Deals & price history view, or Compact rows with a Max description length of 300, keeps it small) and attach it to a chat with ChatGPT, Claude or another AI assistant. Some prompts to start with:
Find the deals. "This is AutoScout24 data for one model. List the 10 cars with the lowest priceVsMarketPercent that have under 150,000 km. For each, say whether the description mentions damage, missing service history or anything else that explains the low price."
Price my car. "Using these listings, estimate a fair asking price for a [year] [model] with [km] km and [equipment]. Use marketPrice, fairPriceMin and fairPriceMax of similar cars, and show the 5 most comparable listings."
Read a dealer's strategy. "These rows are one dealer's monitoring results for a month. How many cars did they sell (removed), how long did they take (daysOnMarket), how often did they cut prices, and which cars did they repost (isRepost)?"
The dataset is also available through the Apify API and integrations such as Make, Zapier and n8n, so you can feed it into an automated workflow.
Output
Results go to the run's default dataset. Use the views Overview, Deals & price history, Monitoring changes or Sellers & contacts, or export everything as JSON, CSV, Excel, XML or HTML.
A real row from October 2, 2026 (equipment, images and phone number shortened):
{"id": "e8045477-b1dc-4c40-866d-235451553990","url": "https://www.autoscout24.com/offers/bmw-116-116-d-tuev-xenon-klimaaut-alu-8-fach-bereift-diesel-black-cat_ma13mo18480-e8045477-b1dc-4c40-866d-235451553990","title": "BMW 116 d TÜV/Xenon/Klimaaut/Alu/8-fach bereift","make": "BMW","model": "116","vehicleType": "car","price": 1000,"currency": "EUR","priceRating": null,"marketPrice": 2500,"priceVsMarketPercent": -60,"fairPriceMin": 2501,"fairPriceMax": 2900,"originalPrice": 1200,"totalPriceDrop": 200,"priceChangesCount": 3,"priceHistory": [{"date": "2026-09-30T12:29:25.183Z","price": 1200},{"date": "2026-09-30T12:32:13.474Z","price": 1150},{"date": "2026-10-02T08:28:00.672Z","price": 1100},{"date": "2026-10-02T11:22:45.922Z","price": 1000}],"mileageKm": 327000,"firstRegistration": "2011-03","condition": "used","fuel": "Diesel","transmission": "Manual","powerKw": 85,"powerHp": 116,"bodyType": "Compact","color": "Black","previousOwners": 3,"equipment": ["Armrest", "Automatic climate control", "Cruise control", "Electrical side mirrors"],"country": "DE","city": "Triptis","sellerType": "dealer","sellerPhones": [{"type": "Office","number": "+49 (0)364 - xxxxxx","callTo": "+49364xxxxxxxx"}],"createdAt": "2026-09-30T09:03:21.274Z","daysOnMarket": 2,"favoritesCount": 0,"interestLevel": "none","imageCount": 2,"scrapedAt": "2026-10-02T13:20:41.317Z"}
Notes on fields
priceRatingis AutoScout24's label:top_price,good_price,fair_price,higher_price,high_price. It isnullwhen AutoScout24 doesn't rate the price (too far from the market, or not enough comparable cars).priceVsMarketPercentis(price − marketPrice) / marketPrice. It isnullfor placeholder prices of 100 EUR or less (many sellers list at 1 EUR).interestLevelis AutoScout24's enquiry level for the listing:none,some,many,very_many.isRepost,repostOfIdandchangeTypeare only set in monitoring mode.repostedAsIdis set onremovedrows.- Missing values are
null. Each listing is saved once per run, even if several searches find it.
FAQ
Which AutoScout24 sites work?
All of them. The EU sites (autoscout24.de, .at, .be, .es, .fr, .it, .lu, .nl, .com and the other language versions) share one inventory of about 2.2 million vehicles. autoscout24.ch and motoscout24.ch (Switzerland, about 160,000 cars and 27,000 motorbikes) are a separate platform with their own data and prices in CHF; the actor reads them too.
How does it get past the 4,000-result limit?
AutoScout24 never shows more than 4,000 results per search. When you ask for more, the actor counts the results of price ranges (and mileage ranges for prices with thousands of cars, like 1 EUR) and splits the search into parts of at most 4,000. The parts add up to the full total; the run summary lists them. Switzerland has no such limit.
Where does the price history come from?
From AutoScout24 itself: it keeps every price a listing has had, and the actor reads it on the first scrape. autoscout24.ch keeps only the previous price.
Can I scrape a dealer's whole stock?
Yes. Paste the dealer's page (/haendler/..., /dealerinfo/..., or /s/seller-... on autoscout24.ch). You can also search any dealer by the sellerId from your results: https://www.autoscout24.com/lst?cid=<sellerId>.
How fast is it?
On the EU sites it reads 400 listings per request: 9,000 cars with all fields took about 20 seconds in our tests. Switzerland needs one request per listing for the details, about 30 listings per second.
Why did a run stop before my limit?
AutoScout24 had fewer listings (see SUMMARY in the key-value store: totalResults and stoppedBecause), the monitor caught up with the last run (caught_up), or the run reached its maximum cost.
Do I need a proxy or an account?
No account, no API key, no cookies. Leave Proxy configuration at its default.
Is it legal to scrape AutoScout24?
The actor collects listing data that AutoScout24 shows publicly. Seller names and phone numbers can be personal data; you are responsible for using them lawfully (e.g. GDPR) and for respecting AutoScout24's terms.
Cost
This actor uses pay-per-event pricing, with no subscription. Platform usage is included. You pay per listing saved; in monitoring mode, only for new, changed, removed and reappeared listings. The price per listing depends on your Apify plan:
| Apify plan | Per listing | Per 1,000 listings |
|---|---|---|
| Free | $0.00045 | $0.45 |
| Starter (Bronze) | $0.0004 | $0.40 |
| Scale (Silver) | $0.00038 | $0.38 |
| Business (Gold) and above | $0.00035 | $0.35 |
Each run also has a start fee of $0.00005 per GB of memory ($0.0002 at the default 4 GB).
Example runs on the free plan (paid plans pay up to 22% less):
| Run | Cost |
|---|---|
| 50 listings | $0.02 |
| 10,000 listings | $4.50 |
| Every Volkswagen Golf in Germany (~29,000) | ~$13 |
| Monitor every 10 minutes, ~30 changes per run, 30 days | ~$58 / month |
| Monitor a dealer daily, ~5 changes per day, 30 days | ~$0.07 / month |
Set a maximum cost per run; the actor stops cleanly when it's reached. The Pricing tab always shows the current prices.
Related Actors
- eBay Motors Scraper: cars, motorcycles and parts on eBay Motors.
- Subito Automotive Scraper: car and motorbike ads on Subito in Italy.
- Kleinanzeigen Scraper: classified ads in Germany, including cars.
Compare the same model across AutoScout24, Subito and Kleinanzeigen to see where it sells for less.
Support
Report problems or request features in the Issues tab. Include the run ID, the input and what you expected. We read every issue.
This actor is not affiliated with or endorsed by AutoScout24 GmbH or Auto Scout 24 Schweiz AG. "AutoScout24" is a trademark of its owner.