AutoScout24 Scraper — Cars, Prices, Specs & Dealer Contacts avatar

AutoScout24 Scraper — Cars, Prices, Specs & Dealer Contacts

Pricing

from $1.50 / 1,000 results

Go to Apify Store
AutoScout24 Scraper — Cars, Prices, Specs & Dealer Contacts

AutoScout24 Scraper — Cars, Prices, Specs & Dealer Contacts

Scrape AutoScout24 car listings across 8 European markets (DE, AT, BE, ES, FR, IT, LU, NL) by make, model, filters or URL. Get price, mileage, power, fuel, transmission, location, dealer name & phone, photos and specs. Export to JSON/CSV/Excel for price monitoring and automotive leads.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

2

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

AutoScout24 Scraper 🚗🇪🇺 — Cars, Prices, Specs & Dealer Contacts

Extract structured car listings from AutoScout24, Europe's largest pan-European automotive marketplace, with zero login and zero coding. This AutoScout24 scraper turns search results across 8 European markets (Germany, Austria, Belgium, Spain, France, Italy, Luxembourg, and the Netherlands) into a normalized, ready-to-use dataset — price (€), price deal evaluation, mileage (km), first registration, power (kW & PS), fuel, transmission, engine displacement, fuel consumption, CO₂ emissions, full location, seller type, dealer name, dealer phone number, and photo gallery.

Export your AutoScout24 data in bulk to JSON, CSV, Excel, XML, or via the Apify API for automotive price intelligence, dealer lead generation, and cross-border car sourcing.

Built for used-car dealers and traders running daily repricing, data teams building vehicle-valuation and depreciation models, B2B lead-generation agencies harvesting dealer phone numbers and addresses, market analysts tracking EV and ICE supply across Europe, and automotive arbitrage buyers hunting under-priced vehicles.

Actor Coverage Leads Specs Pagination Output No code


⚡ At a glance

FeatureDetails
Covered marketsGermany (D), Austria (A), Belgium (B), Spain (E), France (F), Italy (I), Luxembourg (L), Netherlands (NL)
Targeting modesBrand/model dropdowns + 12 search filters, custom brand slug (makeOther), or direct AutoScout24 search URLs (startUrls)
Core data extractedListing ID, title, make, model, variant, price (€), price rating, condition, registration date/year, mileage, kW/PS, fuel, gearbox, cc, CO₂, consumption, address, dealer name, phone, photos
Optional detail modefetchDetails: true adds full seller description, exterior bodyColor, and warranty duration
Pagination & 1,000+ scaleAutomatic page traversal (page=1..20) + automatic price-band, year-band, sort & brand partitioning when maxItems > 400 to bypass the 20-page single-search cap
De-duplication100% unique vehicles per run — deduplicated across all pages and partitions by listingId
Speed & cost~100 listings in ~15–25 seconds; ~500 listings in ~45 seconds on low-cost default proxy with automatic residential fallback
Export formatsJSON, CSV, Excel (XLSX), HTML, XML, RSS, and live REST API / webhooks

🔎 Why scrape AutoScout24?

AutoScout24 hosts over 2 million active vehicle listings from tens of thousands of commercial dealerships and private sellers across continental Europe. Every listing combines three critical datasets in one place:

  1. Market pricing & deal scoring — numeric asking price in euros (price), formatted price text, and AutoScout24's proprietary deal evaluation (priceEvaluation, indicating whether a vehicle is priced as a top deal, good price, or above market).
  2. Standardized technical specifications — odometer mileage in kilometers, engine power in both kW and PS, fuel type (Petrol, Diesel, Electric, Hybrid, LPG, CNG), transmission type, engine displacement (engineCc), combined fuel consumption, and CO₂ emissions.
  3. B2B dealership contact intelligence — seller type (Dealer vs. PrivateSeller), dealership company name (sellerName), sales contact (sellerContact), direct phone number (phone), street address, postal code, city, country, and dealer profile link (dealerUrl).

Collecting this data manually across 20-car search pages — or trying to normalize localized terminology across eight countries — is slow and error-prone. This AutoScout24 data extractor automates the entire workflow: it paginates automatically, partitions large searches to unlock 1,000+ results pagination, normalizes fuel and gearbox values into clean English, deduplicates by listingId, and outputs an analysis-ready table.


✨ What this AutoScout24 scraper does

  • ✅ Two flexible targeting modes: Pick a Make from 31 major brands (or type any exotic brand in makeOther), narrow by Model and filters, or paste any pre-filtered AutoScout24 search URL into Start URLs.
  • ✅ Automatic 1,000+ deep pagination: AutoScout24 restricts any single search query to 20 pages (400 listings). When you set maxItems > 400 (e.g. 1000 or 0 for unlimited), the scraper automatically partitions your search across price brackets, registration-year bands, sort directions, and brands so you can collect 1,000+ unique car listings in a single run.
  • ✅ Complete pricing & deal rating: Captures numeric euro price, formatted priceText, and AutoScout24's integer priceEvaluation deal indicator.
  • ✅ Full technical specs in English: Extracts numeric mileage (km), powerKw, powerPs, engineCc, fuelConsumption, co2Emissions, and normalizes fuel (Petrol, Diesel, Electric, Hybrid (Petrol), Hybrid (Diesel), LPG, CNG) and transmission (Automatic, Manual, Semi-automatic) to English.
  • ✅ Rich B2B dealer lead extraction: Separates Dealer from PrivateSeller ads and extracts sellerName, sellerContact, direct phone number, dealerUrl, street, zip, city, and country.
  • ✅ Full image gallery: Returns the primary thumbnail (imageUrl), total photo count (imageCount), and the complete array of vehicle photo URLs (images).
  • ✅ Optional detail-page enrichment (fetchDetails): Opens individual vehicle pages in parallel when you also need the full seller description, bodyColor, and warranty.

🎯 Use cases

PersonaHow they use AutoScout24 Scraper
Used-Car Dealers & Auto TradersMonitor competitor inventory and asking prices daily across Germany, Austria, Belgium, and the Netherlands to reprice stock competitively.
Cross-Border Car Sourcing & ArbitrageSpot under-priced vehicles (priceEvaluation = 1 or 2) across 8 EU countries the moment they are listed and contact the dealer immediately.
B2B Lead Generation AgenciesBuild targeted European car-dealership lead lists with company names, street addresses, cities, and direct phone numbers segmented by brand or fleet size.
Vehicle Valuation & Insurance TeamsAssemble large comparable cohorts (make + model + year + mileage + powerKw) to train residual-value, leasing, and depreciation models.
Automotive Marketplaces & PortalsIngest a clean, language-neutral European vehicle feed with standardized specs and photo galleries.
Equity & Market ResearchersTrack EV vs. ICE inventory trends, average days-on-market proxies, and dealership pricing across European markets.

📥 Input parameters

Every input field is optional. Running with default settings immediately collects 100 newest listings from Germany (D). Running with no filters at all returns a diverse multi-brand sample.

ParameterTypeDefault / PrefillDescription
makestring (select)"" (All makes)Choose from 31 popular brands (volkswagen, bmw, mercedes-benz, audi, porsche, tesla, etc.) or leave on "All makes".
makeOtherstring""Advanced: enter any brand slug not in the dropdown (e.g. aston-martin, ds-automobiles, ferrari). Overrides make.
modelstring""Optional model slug (e.g. 3er, a4, golf, 911, octavia). Leave empty for all models of the brand.
countriesarray<string>["D"]European country markets: D (Germany), A (Austria), B (Belgium), E (Spain), F (France), I (Italy), L (Luxembourg), NL (Netherlands).
adTypestring (select)"both"Vehicle condition filter: "both" (New & Used), "N" (New only), or "U" (Used only).
fuelTypestring (select)"" (Any)Filter by fuel: "B" (Petrol), "D" (Diesel), "E" (Electric), "2" (LPG), "3" (CNG).
transmissionstring (select)"" (Any)Filter by gearbox: "M" (Manual), "A" (Automatic), "S" (Semi-automatic).
priceFrom / priceTointegerEmptyMinimum and maximum price in euros (€).
yearFrom / yearTointegerEmptyEarliest and latest first-registration year (e.g. 2018 to 2024).
mileageFrom / mileageTointegerEmptyMinimum and maximum odometer reading in kilometers (km).
excludeDamagedbooleanfalseWhen true, hides accident and currently damaged vehicles.
sortBystring (select)"age"Ordering: "age" (Newest first — recommended), "price", "mileage", or "standard" (relevance).
fetchDetailsbooleanfalseOpen each listing detail page to add description, bodyColor, and warranty. Leave false for fast collection.
maxItemsinteger100Maximum number of unique listings to collect (0 = unlimited, 1000+ = auto-partitioned deep scrape).
startUrlsarray<string>[]Advanced: paste full AutoScout24 search URLs built on the website. Overrides the filter fields above.
proxyConfigurationobject{ "useApifyProxy": true }Apify Proxy configuration. Uses low-cost datacenter proxy by default and automatically escalates to DE residential if needed.

Example 1 — Deep 1,000+ brand scrape across Germany & Austria

{
"make": "bmw",
"countries": ["D", "A"],
"adType": "U",
"sortBy": "age",
"maxItems": 1200
}

Example 2 — Targeted model valuation search (Audi A4, 2019+, Diesel, Automatic)

{
"make": "audi",
"model": "a4",
"countries": ["D", "NL", "B"],
"yearFrom": 2019,
"priceTo": 35000,
"fuelType": "D",
"transmission": "A",
"excludeDamaged": true,
"sortBy": "price",
"maxItems": 400
}

Example 3 — Detail enrichment mode (Porsche 911 with full description & color)

{
"make": "porsche",
"model": "911",
"countries": ["D"],
"fetchDetails": true,
"maxItems": 100
}

Example 4 — Direct AutoScout24 Search URLs (startUrls)

{
"startUrls": [
"https://www.autoscout24.de/lst/mercedes-benz/e-klasse?atype=C&cy=D&fregfrom=2020&priceto=45000"
],
"maxItems": 1000
}

📤 Output & field reference

Each vehicle listing is stored as a structured JSON object. Below is a real record from a live run:

{
"listingId": "1342d3b6-7a7e-476e-bba9-f12564e5dc18",
"title": "BMW X1 sDrive20i xLine /Navigation/Autom./Klima/LED Park-Assist./Sitzhzg.",
"make": "BMW",
"model": "X1",
"modelGroup": "X1",
"variant": "sDrive20i xLine /Navigation/Autom./Klima/LED Park-Assist.",
"price": 19990,
"priceText": "€ 19.990",
"priceEvaluation": 1,
"condition": "Used",
"firstRegistration": "11/2017",
"year": "2017",
"mileage": 47454,
"powerKw": 141,
"powerPs": 192,
"fuel": "Petrol",
"transmission": "Automatic",
"engineCc": 1998,
"fuelConsumption": "5,70 l/100 km (komb.)",
"co2Emissions": "130 g/km (komb.)",
"damaged": false,
"country": "DE",
"city": "Ravensburg",
"zip": "88213",
"street": "Zuppingerstr. 9",
"sellerType": "Dealer",
"sellerName": "Autohaus Dreher, Wildmoser GmbH & Co. KG",
"sellerContact": "Verkaufsteam Autohaus Dreher",
"phone": "+4975118526049",
"dealerUrl": "https://www.autoscout24.de/haendler/autohaus-dreher-wildmoser-gmbh-und-co-kg-ravensburg?atype=C",
"imageUrl": "https://prod.pictures.autoscout24.net/listing-images/1342d3b6-..._fd4e2dfc-....jpg/250x188.webp",
"imageCount": 28,
"images": [
"https://prod.pictures.autoscout24.net/listing-images/1342d3b6-..._fd4e2dfc-....jpg/250x188.webp"
],
"url": "https://www.autoscout24.de/angebote/bmw-x1-sdrive20i-xline-...-1342d3b6-7a7e-476e-bba9-f12564e5dc18",
"description": null,
"bodyColor": null,
"warranty": null,
"searchTerm": "bmw",
"scrapedAt": "2026-11-01T23:47:10.191Z"
}

🚘 Vehicle identity & pricing fields

FieldTypeCoverageDescription
listingIdstring🟢 High (100%)Unique AutoScout24 listing UUID. Used as the global de-duplication key.
titlestring🟢 High (100%)Full vehicle headline (make + model + variant).
makestring🟢 High (100%)Vehicle manufacturer / brand name (e.g. BMW, Volkswagen, Audi).
modelstring🟢 High (100%)Vehicle model name (e.g. X1, Golf, A4).
modelGroupstring🟢 High (~98%)Model series / family group.
variantstring🟢 High (~95%)Trim line, engine badge, and headline equipment summary.
priceinteger🟢 High (100%)Numeric asking price in euros (€).
priceTextstring🟢 High (100%)Formatted display price (e.g. € 19.990).
priceEvaluationinteger🟢 High (~96%)AutoScout24 deal score (1 = Top price, 2 = Good price, 3 = Fair price, etc.).
conditionstring🟢 High (100%)Normalized condition (Used, New, Demonstration, Annual car, Employee car, Classic).
urlstring🟢 High (100%)Direct link to the vehicle listing page on AutoScout24.

⚙️ Technical specification fields

FieldTypeCoverageDescription
firstRegistrationstring🟢 High (~96%)First registration month and year (MM/YYYY, or null for brand-new unregistered cars).
yearstring🟢 High (~96%)4-digit registration year extracted from firstRegistration.
mileageinteger🟢 High (100%)Odometer reading in kilometers (km, integer).
powerKwinteger🟢 High (~99%)Engine power in kilowatts (kW).
powerPsinteger🟢 High (~99%)Engine power in metric horsepower (PS / hp).
fuelstring🟢 High (100%)Normalized English fuel type (Petrol, Diesel, Electric, Hybrid (Petrol), Hybrid (Diesel), LPG, CNG, Hydrogen).
transmissionstring🟢 High (~99%)Normalized English gearbox (Automatic, Manual, Semi-automatic).
engineCcinteger🟡 Conditional (~90%)Engine displacement in cm³ (present on combustion/hybrid vehicles; null on pure EVs).
fuelConsumptionstring🟢 High (~95%)Combined fuel or energy consumption string.
co2Emissionsstring🟢 High (~95%)Combined CO₂ emissions string (g/km).
damagedboolean🟢 High (100%)Whether the vehicle is flagged as currently damaged.

📍 Location, dealer lead & media fields

FieldTypeCoverageDescription
countrystring🟢 High (100%)ISO 2-letter country code (DE, AT, BE, ES, FR, IT, LU, NL).
citystring🟢 High (100%)City or municipality where the vehicle is located.
zipstring🟢 High (100%)Postal / ZIP code of the vehicle location.
streetstring🟡 Conditional (~65%)Street address (populated on commercial dealership listings; hidden by private sellers).
sellerTypestring🟢 High (100%)Seller classification: Dealer or PrivateSeller.
sellerNamestring🟡 Conditional (~75%)Dealership / company name (present on all Dealer listings).
sellerContactstring🟡 Conditional (~70%)Named sales contact or team at the dealership.
phonestring🟡 Conditional (~75%)Direct seller phone number (present on ~88–91% of commercial dealer ads).
dealerUrlstring🟡 Conditional (~75%)Link to the dealership's AutoScout24 showroom page.
imageUrlstring🟢 High (~98%)Primary vehicle photo URL.
imageCountinteger🟢 High (100%)Total number of photos attached to the listing.
imagesarray<string>🟢 High (~98%)Array of all gallery photo URLs.

🔎 Optional detail-mode & metadata fields

FieldTypeCoverageDescription
descriptionstring🟡 Conditional (fetchDetails)Full plain-text vehicle description from the detail page (populated when fetchDetails: true).
bodyColorstring🟡 Conditional (fetchDetails)Exterior paint color (populated when fetchDetails: true).
warrantystring🟡 Conditional (fetchDetails)Warranty duration in months (populated when fetchDetails: true).
searchTermstring🟢 High (100%)Search label or URL that produced this record.
scrapedAtstring🟢 High (100%)ISO-8601 UTC timestamp of extraction.

🔁 Pagination & 1,000+ scale

AutoScout24 displays 20 vehicles per search page and enforces a platform limit of 20 pages (400 listings) per single search query.

To let you extract 1,000+ car listings seamlessly in a single run without manual query splitting, this actor includes automatic search partitioning:

  1. Standard pagination (up to 400 items): For runs with maxItems <= 400, the scraper walks page=1, 2, …, 20 on your exact search criteria and finishes in seconds.
  2. Automatic multi-partition expansion (maxItems > 400 or 0): Whenever your requested maxItems exceeds a single search window, the scraper automatically generates complementary partitions — slicing across 7 euro price bands (€0–8k, €8k–14k, €14k–20k, €20k–28k, €28k–40k, €40k–65k, €65k+), 7 registration-year cohorts (2024+, 2022–2023, 2020–2021, 2018–2019, 2015–2017, 2010–2014, ≤2009), multiple sort directions (age, price, mileage), and (when no specific brand is selected) 20 top automotive brands.
  3. Global UUID deduplication: Every vehicle across every page and partition is checked against an in-memory Set of listingId UUIDs, guaranteeing 0 duplicates even when partitions overlap.

⚙️ How to use

  1. Open the actor in Apify Console: Select a Make (or leave on All makes), optionally type a Model, choose your target Countries, and set any price, year, mileage, fuel, or gearbox filters.
  2. Set maxItems: Keep 100 for a fast ~20-second sample, or set 1000–5000 (or 0 for unlimited) to trigger automatic multi-partition deep scraping.
  3. Click Start: Listings stream into the Dataset tab in real time.
  4. Export or integrate: Download as JSON, CSV, Excel (XLSX), HTML, or XML, or connect the dataset directly to Google Sheets, Airtable, Make, Zapier, n8n, or your database via the Apify API.

Run via API (cURL, Node.js & Python)

cURL

curl -X POST "https://api.apify.com/v2/acts/haketa~autoscout24-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"make": "bmw",
"countries": ["D", "A", "NL"],
"sortBy": "age",
"maxItems": 1000
}'

JavaScript (Node.js)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('haketa/autoscout24-scraper').call({
make: 'volkswagen',
model: 'golf',
countries: ['D'],
yearFrom: 2019,
maxItems: 1000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Collected ${items.length} unique VW Golf listings`);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("haketa/autoscout24-scraper").call(run_input={
"make": "mercedes-benz",
"countries": ["D", "B", "NL"],
"maxItems": 1000,
})
for car in client.dataset(run["defaultDatasetId"]).iterate_items():
print(car["title"], car["price"], car["mileage"], car["phone"])

💡 Pro tips

  • Leave fetchDetails: false for 10× faster runs: Search result pages already contain the price, deal evaluation, mileage, kW/PS, fuel, gearbox, CO₂, full dealer address, and dealer phone number. Only enable fetchDetails: true when you specifically need the free-text seller description, exterior paint color, or warranty months.
  • Filter for B2B dealer leads: In your exported CSV/Excel or pipeline, filter on sellerType = "Dealer" and phone != null to get an immediate cold-calling or CRM outreach list of active European dealerships.
  • Spot instant arbitrage deals: Filter on priceEvaluation = 1 (Top Price) to isolate vehicles priced significantly below AutoScout24's market valuation model.
  • Get high-resolution photos: Replace /250x188.webp at the end of any URL in images with /1280x960.webp to load full-resolution showroom images.

⚠️ Limitations & notes

  • Private seller privacy: Private sellers (sellerType: "PrivateSeller") rarely publish a street address or public phone number on search cards; sellerName, street, and phone are primarily populated on commercial Dealer listings.
  • EV engine displacement: Pure electric vehicles (fuel: "Electric") do not have a combustion engine displacement, so engineCc is legitimately null on EV records.

❓ FAQ

Do I need an AutoScout24 account or API key? No. All data is extracted from publicly accessible AutoScout24 search listings with zero login required.

How does the scraper collect more than 400 cars when AutoScout24 caps searches at 20 pages? When you set maxItems > 400 (or 0 for unlimited), the actor automatically partitions your search across price brackets, registration-year ranges, sort directions, and brands, deduplicating every listing by listingId so you can collect 1,000+ unique cars in a single run.

How fast is the scraper? In listing mode (fetchDetails: false), 100 cars take ~15–25 seconds, 500 cars take ~45–60 seconds, and 1,000 cars take ~90–120 seconds.

Do I need residential proxies? No manual proxy setup is needed. The actor uses low-cost Apify datacenter proxies by default and automatically falls back to German residential proxies only if a request is rate-limited.

Which European countries are supported? Germany (D), Austria (A), Belgium (B), Spain (E), France (F), Italy (I), Luxembourg (L), and the Netherlands (NL). You can select one, several, or all eight in countries.

Are fuel and transmission values translated to English? Yes. Localized values (such as Benzin, Elektro, Schaltgetriebe, Automatik) are normalized into clean English (Petrol, Electric, Manual, Automatic) so your dataset is uniform.


Building a multi-country automotive pricing or dealership lead database? Pair AutoScout24 Scraper with:


📋 Changelog

v1.2 (2026-11)

  • Unlocked 1,000+ deep pagination: Added automatic multi-partition expansion across price bands, registration-year cohorts, sort directions, and popular brands whenever maxItems > 350, seamlessly bypassing AutoScout24's 20-page (400-listing) single-query limit.
  • Start URL partitioning: Direct startUrls now also auto-partition across price bands and sort orders when maxItems > 350.
  • Enhanced documentation: Added ⚡ At a glance summary table, emoji-grouped field tables with coverage indicators, and multi-language API examples.

v1.1 (2026-10)

  • Normalized condition & fuel mappings: Added complete mapping for all AutoScout24 offerType codes and hybrid fuel labels.
  • Smart proxy escalation: Added automatic fallback from datacenter to DE residential proxy on HTTP 403/429.

v1.0 (2026-07)

  • Initial release covering 8 European markets, full technical specs, dealer contact extraction, and optional detail-page enrichment.

⭐ Ready to build your European automotive dataset? Click Start to extract clean AutoScout24 car listings to JSON, CSV, or Excel in seconds!

⌂ 换网址