AutoScout24 Scraper $0.8💰 Cars + Dealer Data avatar

AutoScout24 Scraper $0.8💰 Cars + Dealer Data

Pricing

from $0.80 / 1,000 results

Go to Apify Store
AutoScout24 Scraper $0.8💰 Cars + Dealer Data

AutoScout24 Scraper $0.8💰 Cars + Dealer Data

From 💰$0.8/1K. Scrape car listings from AutoScout24 across 8 European markets, with full vehicle specs, pricing, price-rating labels and dealer contacts. Get back clean JSON with 80+ fields per vehicle. Useful for car dealers, market analysts, valuation pipelines, lead generation and many more.

Pricing

from $0.80 / 1,000 results

Rating

0.0

(0)

Developer

Corvuslab

Corvuslab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Share

What does AutoScout24 Scraper do?

Extract car listings from AutoScout24, Europe's largest vehicle marketplace, across 8 markets — Germany, Austria, Belgium, France, Italy, Netherlands, Spain and Luxembourg.

Every record comes back as clean, typed JSON: full vehicle specification, price with AutoScout24's own price rating, seller identity and phone number, GPS coordinates, equipment list and the complete seller description.


📚 What data can you extract from AutoScout24?

  • 🌍 8-market coverage — Germany, Austria, Belgium, France, Italy, Netherlands, Spain and Luxembourg on one codebase. Each country is searched separately and the results are merged and de-duplicated into a single dataset.

  • 🏷️ AutoScout24 price-rating labels — every listing carries AutoScout24's own price classification (top-price, good-price, fair-price, somewhat-expensive, increased-price, high-price) alongside the numeric price, so you can spot underpriced stock without building your own valuation model.

  • 📞 Dealer contacts — company name, contact person, phone number, dealer profile URL and the dealer's star rating and review count.

  • 🔧 80+ structured fields — power in kW and HP, drivetrain, gears, cylinders, displacement, body colour, paint type, upholstery, equipment list, emission class, fuel consumption, previous owners, service history and accident status.

  • 📍 Geo data — country, city, ZIP, street and latitude/longitude on every record, ready to plot or to join against your own territory data.

  • ♻️ Incremental mode — scheduled runs emit only listings that are new, changed or gone since the last run. Unchanged cars are skipped before any detail page is fetched, so a quiet run is both fast and cheap.

  • 📌 Change classification — each record carries a changeType of NEW / UPDATED / REAPPEARED / EXPIRED, so a diff dashboard needs no extra bookkeeping on your side.

  • 🔔 Notifications — Slack, Discord, Telegram and custom webhook alerts when a run finishes. Combine with incremental mode to be pinged only when inventory or pricing actually moves.

  • 📋 Detail enrichment — two-stage scraping: paginate the search first, then pull each listing's full detail payload. One toggle (includeDetails) controls the depth, so you can trade completeness for speed and cost.

  • 📦 Compact mode — core fields only, for AI agents and MCP clients that pay per token. Pair it with excludeEmptyFields to drop nulls and empty arrays entirely.

  • ✂️ Description control — pick a single description representation with descriptionFormat (text / html / markdown) and cap its length with descriptionMaxLength to keep prompt cost and dataset size predictable.

  • 🔗 Paste-a-URL — build the search on autoscout24.com and paste the URL straight in. Any search URL works, and several can run in one go.

  • 📤 Export anywhere — download as JSON, CSV, Excel or XML from the Apify Console, or stream it live through the Apify API and integrations.

The scraper reads AutoScout24's own structured page data rather than scraping rendered HTML, so fields stay accurate and the output does not break when the site restyles.


✨ Key features

  • 🔎 Search or URL scraping — build a search from make, model and country, or paste an AutoScout24 search URL you already ran in your browser and every filter in it is replayed.
  • 🎚️ The filters buyers actually use — price range, registration year, mileage, fuel type, transmission, body type, condition and private-vs-dealer, applied on the site so you never pay for listings you filtered out.
  • 🌍 Multi-country — search across the AutoScout24 markets in one run.
  • 🧾 Typed listing records — price, mileage, power, first registration, equipment and seller details as structured fields, not scraped text you have to clean up.
  • 🧠 Full detail enrichment — turn on details to add the complete description as text, HTML or Markdown, plus the extended spec fields.
  • ♻️ Incremental monitoring — schedule it and get only what changed (NEW / UPDATED / EXPIRED), with repost detection; unchanged listings are skipped before their page is fetched.
  • 🔔 Notifications — push matching listings to Slack, Discord or any webhook (n8n / Make / Zapier).
  • 🤖 AI-ready — compact mode and excludeEmptyFields keep payloads small for LLM and MCP pipelines.

🚀 How to scrape AutoScout24

  1. Open the Actor and pick a make and model (or paste an AutoScout24 search URL into searchUrls), then choose the countries you want to cover.
  2. Narrow it down with the filters that matter — price, year, mileage, fuel, transmission, body type, condition and seller type.
  3. Set Max results and decide whether to fetch full details for each listing.
  4. (Optional) Turn on incremental mode and a notification channel, then open the Schedules tab to run it on a recurring basis.
  5. Click Start, then download the data as JSON, CSV or Excel — or pull it from the API.

No login and no setup: it runs out of the box.


Good to know

  • Leave the proxy setting on its default. The input ships with the configuration this Actor needs; changing it can make detail pages come back with empty fields rather than a visible error.
  • 4,000 listings per search is AutoScout24's own limit, not this Actor's. To go past it, narrow the filters (by price band, year or body type) or add more countries — each country is searched separately and gets its own 4,000.
  • Set includeDetails: false for a fast, cheap sweep: you still get title, price, price rating, mileage, registration, fuel, gearbox, seller and location, just without the description, equipment and detailed specification.
  • Prices are in EUR across all eight markets.

⚙️ Input

Either fill in the filters, or paste search URLs straight from your browser.

{
"make": "BMW",
"model": "3-series",
"countries": ["DE", "AT"],
"condition": "used",
"priceFrom": 5000,
"priceTo": 25000,
"yearFrom": 2018,
"mileageTo": 150000,
"fuelTypes": ["diesel"],
"transmission": "automatic",
"bodyTypes": ["station-wagon"],
"sortBy": "newest",
"maxResults": 100,
"includeDetails": true,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Make and model accept the names you already know — BMW, VW, mercedes-benz — and both family and specific names for the model: 3-series and 3 Series both work, as do c-class, golf and 320. Get it wrong and the run stops immediately with the list of valid models, instead of quietly returning the wrong cars.

Paste a URL instead if you prefer to build the search on autoscout24.com:

{
"searchUrls": ["https://www.autoscout24.com/lst/porsche/911?atype=C&cy=A&sort=price&desc=1"],
"maxResults": 50
}

📤 Output

One row per listing. Unavailable data points are returned as null, never omitted, so the shape is stable across every run.

{
"listingId": "b22d05a0-a5c4-4f6f-9c5c-d16736186a4a",
"title": "BMW 330 d Touring Steptronic Sport Line+LED+AHK+PDC",
"url": "https://www.autoscout24.com/offers/bmw-330-d-touring-…",
"make": "BMW",
"model": "330",
"modelGroup": "3 Series",
"variant": "Touring",
"motorType": "330d",
"bodyType": "Station Wagon",
"condition": "Used",
"mileageKm": 130469,
"firstRegistration": "2018-10-01",
"fuelType": "Diesel",
"transmission": "Automatic",
"gears": 8,
"powerKw": 190,
"powerHp": 258,
"engineDisplacementCcm": 2993,
"cylinders": 6,
"driveTrain": "Rear Wheel Drive",
"bodyColor": "Blue",
"paintType": "Metallic",
"upholstery": "Cloth",
"numberOfSeats": 5,
"numberOfDoors": 5,
"price": 18990,
"priceFormatted": "€ 18,990",
"currency": "EUR",
"priceEvaluation": "top-price",
"priceNegotiable": false,
"vatDeductible": false,
"sellerType": "Dealer",
"sellerName": "Kamux Auto GmbH",
"sellerContact": "Ihr Verkaufsteam",
"sellerPhone": "+492421480508100",
"dealerUrl": "https://www.autoscout24.com/dealerinfo/kamux-auto-gmbh-dueren?atype=C",
"sellerRatingStars": 4.0,
"sellerRatingCount": 11,
"country": "DE",
"city": "Düren",
"zip": "52351",
"street": "Rudolf-Diesel-Straße 5",
"latitude": 50.78089,
"longitude": 6.50913,
"imageCount": 46,
"images": ["https://prod.pictures.autoscout24.net/listing-images/…/1280x960.webp"],
"equipment": ["Panorama roof", "Navigation system", "Trailer hitch", "…"],
"emissionClass": "Euro 6",
"fuelConsumption": "4.1 l/100 km (comb.)",
"fuelConsumptionL100km": 4.1,
"previousOwners": 2,
"hasServiceHistory": false,
"hadAccident": false,
"nextInspection": "11/2027",
"createdAt": "2026-04-21T14:47:24.521Z",
"scrapedAt": "2026-07-25T11:57:21.849Z",
"source": "autoscout24.com"
}

Export as JSON, CSV, Excel or XML, stream it from the API, or push it onward with any Apify integration.

Compact mode

Set compact: true to get just the 20 fields that matter for triage — ideal when an LLM or agent is reading the output and you are paying per token.


♻️ How to monitor AutoScout24 with incremental mode

Set incrementalMode: true and schedule the run. The scraper remembers every listing between runs and reports only the deltas:

changeTypeMeaning
NEWListing appeared for the first time
UPDATEDPrice, mileage, title, rating or photo count changed
REAPPEAREDA listing that had disappeared came back
EXPIREDA listing that was there last run is gone — sold or withdrawn

Unchanged listings are skipped entirely: they cost you nothing and are not even fetched. A real example from a 35-car search — the second run emitted 2 records instead of 35.

Change detection is decided from the search page, before any detail page is requested, so a quiet run is fast and cheap. Set skipReposts: true to also suppress vehicles that a dealer deleted and re-listed under a fresh ID.

EXPIRED needs a complete pass over the search, so it is reported only on runs that were not cut short by maxResults. The run log tells you when this happens.


🔔 How to set up AutoScout24 alerts

Fill in any of slackWebhookUrl, discordWebhookUrl, telegramToken + telegramChatId or webhookUrl to get a summary when the run finishes. Combine with notifyOnlyChanges: true and incremental mode to be pinged only when something actually moved. A failing notification never fails the run.


💡 What can you do with AutoScout24 data?

  • Competitive pricing intelligence — pull every rival listing for the models you stock, join it against your own inventory and see where you are over- or under-priced. The priceEvaluation label gives you AutoScout24's own verdict on each car for free.

  • Cross-border arbitrage — the same model is rarely priced the same in Germany and Italy. All eight markets are quoted in EUR, so a single run gives you a directly comparable price spread without any FX handling.

  • Inventory and stock monitoring — run it on a schedule with incrementalMode to watch a competitor's dealer stock and get told the moment a car is added, repriced or sold. The EXPIRED change type is a sell-through signal you cannot get from a one-off scrape.

  • Residual value and depreciation modelling — mileage, first registration, power, equipment and price on tens of thousands of comparable cars is the raw material for a valuation curve. Add previousOwners, hadAccident and hasServiceHistory to control for condition.

  • Lead generation — every dealer record carries company name, contact person, phone number, profile URL and star rating, filterable by country, city or brand specialisation.

  • Buyer alerts — a narrow saved search plus incrementalMode and notifyOnlyChanges pings your Slack, Discord or Telegram only when a car matching your brief actually appears, instead of re-sending the same results every morning.

  • AI agents and LLM pipelines — compact mode plus excludeEmptyFields and descriptionMaxLength produce a small, uniform payload that fits in a prompt without burning tokens on nulls and boilerplate.


💰 How much does it cost to scrape AutoScout24?

This Actor uses Apify's pay-per-event model: a small fee when a run starts, plus a per-record fee. See the Actor's Pricing tab for the current numbers — they're rendered live, so this page never goes stale.

Two things cut your bill further:

  • Site-side filters — records you filtered out are never fetched and never billed.
  • Incremental mode — after the baseline run you pay only for what actually changed.
Daily churnof 1,000 trackedbillable recordsyou save
5 %1,0005095 %
15 %1,00015085 %
30 %1,00030070 %

🔌 Integrations & export

Export to JSON, CSV, Excel or an HTML table, or pull from the REST API and the JavaScript / Python clients. Runs on a schedule, connects to Google Sheets, Slack, Make, Zapier and n8n, and works as an MCP tool for AI agents — compact mode keeps token usage small.

🔗 Using the API

Run this Actor from your own code. Example with the Apify Python client:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("corvuslab/autoscout24-scraper").call(run_input={})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

It also works with the JavaScript/TypeScript client, the Apify CLI and the REST API.

❓ FAQ

How many listings can I get in one run? Set maxResults to whatever you need. The practical ceiling is AutoScout24's own: it stops paginating a single search after a few thousand results, however you sort it. Each country you select is a separate search with its own ceiling, so adding markets or narrowing by price band, year or body type multiplies what you can reach. The run log reports how many listings are available and how many pages are reachable for every search it starts.

Do I need a proxy? No setup needed — the default input already carries the proxy configuration this Actor requires. Leave it as it is: on a different setting, detail pages can come back looking fine but missing the description, equipment and GPS rather than raising a visible error.

Can I run it on a schedule? That is what it is built for. Add an Apify schedule, set incrementalMode: true, and each run reports only what changed since the last one. State is kept between runs automatically; set stateKey if you want several schedules to track separate searches independently.

Does AutoScout24 have an official API? Not a public one for listing search. This Actor reads the structured data the site's own front end uses, which is why the output is typed and stable rather than reverse-engineered from rendered HTML.

Which countries and currencies are covered? Germany, Austria, Belgium, France, Italy, Netherlands, Spain and Luxembourg. Every price is returned in EUR, so cross-market comparisons need no conversion.

Can I use my own AutoScout24 search URL? Yes. Build the search in your browser, paste the URL into searchUrls, and the Actor takes it from there. Multiple URLs run in one go, and they override the filter fields.

How do I get the data out? Download as JSON, CSV, Excel or XML from the Console, pull it from the Apify API, or push it onward with any Apify integration. For your own systems, set webhookUrl to receive a JSON POST with the run summary as soon as it finishes.

Why are some fields null? Because the seller did not fill them in. Every field is always present, with null where there is no data, so the record shape never changes between runs. Set

excludeEmptyFields: true
if you would rather have them dropped. Note that includeDetails: false also leaves the detail-only fields empty by design.

Is scraping AutoScout24 legal? The Actor only collects data AutoScout24 publishes openly, without logging in. Listings can still contain personal data about private sellers — see Legal below.


This Actor collects data that AutoScout24 publishes openly, without logging in. Listings can still contain personal information about private sellers, and you are responsible for handling it lawfully — under GDPR that means having a legitimate basis for collecting and storing it. Use the data in line with AutoScout24's terms and your local law.


Keywords: autoscout24 scraper · autoscout24 api · autoscout24.com scraper · car listings scraper · used car data · vehicle marketplace scraper · germany car listings · europe car prices · auto marktplatz scraper · car price monitoring · dealer inventory data · market research · export to CSV/Excel/JSON · no-code car scraper · MCP tool for AI agents