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

3 days ago

Last modified

Share

AutoScout24 Scraper

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 you get

  • ๐ŸŒ 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.


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.


Incremental mode โ€” turn it into a monitor

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.


Notifications

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.


Use cases

  • 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.


Good to know

  • Use residential proxies. AutoScout24 challenges datacenter IPs, and a challenged detail page comes back with empty fields rather than an error. The default proxy setting already selects residential.
  • 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.

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? Yes โ€” use residential. AutoScout24 challenges datacenter IPs, and a challenged detail page comes back with empty fields rather than a visible error, so you would get records that look fine but are missing the description, equipment and GPS. The default input already selects Apify Proxy with the residential group.

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.