AutoScout24 Scraper avatar

AutoScout24 Scraper

Pricing

from $1.70 / 1,000 results

Go to Apify Store
AutoScout24 Scraper

AutoScout24 Scraper

Extract used and new vehicle listings from autoscout24.com across Europe with prices, mileage, specs, full descriptions, dealer info, and high-res images. Proxies included.

Pricing

from $1.70 / 1,000 results

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Turn AutoScout24 into a structured database covering 8 filterable country markets plus the full European catalogue. Pay $2 per 1,000 vehicles, 50+ fields per car, no login.

How it works

How it works

โœจ Why use this AutoScout24 scraper

Tired of paying a monthly subscription for a scraper you only run a few times a quarter? Frustrated when one scraper only handles one country, so a pan-European catalogue means stitching together five different runs? Disappointed when the output stops at the grid fields and skips the full description, equipment list, dealer phones, and GPS coordinates you actually need?

  • ๐Ÿ’ฐ Pay $2 per 1,000 listings, never per month. Pricing is pay-per-event. You are charged only for vehicles returned to your dataset. Residential proxies are included in the per-result price. No start fee. No compute fee. No subscription.
  • ๐ŸŒ 8 filterable country markets, 17 TLDs accepted in URL mode. 7 markets join into a single .com query (Germany, France, Italy, Spain, Belgium, Netherlands, Austria), Luxembourg has its own 8,000-listing local catalogue on .lu. URL mode also accepts the localised UIs on .de, .fr, .it, .es, .be, .nl, .at, .pl, .lu, .cz, .hu, .se, .ro, .bg, .hr, and .ru.
  • ๐Ÿ”Ž One input field accepts everything. Search URLs and individual listing URLs are auto-classified. Mix them freely in the same run. Filters from the URL (sort, make, model, year range, mileage range, fuel, transmission, body type, equipment, radius, postal code) are preserved.
  • ๐Ÿ“ฆ 50+ structured fields per vehicle. Price, mileage, year, fuel type, transmission, body color, paint type, seats, doors, HSN/TSN code, license plate (where exposed), production date, usage state, full seller description, all photos, dealer phones, dealer company name, latitude, longitude, and the AutoScout24 listing ID for cross-reference.
  • ๐Ÿšฆ Auto-pagination, exact maxItems delivery. Set maxItems to 500 and the scraper returns 500 unique listings, automatically paginating through as many search pages as needed. Listings duplicated by the site's boost-ranking are deduplicated across pages by listing ID.
  • โšก Direct connection by default for fast runs. The actor connects directly without proxy by default, which keeps run time short and cost low. Toggle useResidentialProxy to true if you ever need extra resilience on very large volumes.

๐ŸŽฏ Use cases for AutoScout24 vehicle data

AI engineers, dealers, pricing analysts, and lead-gen teams use AutoScout24 data for these specific scenarios.

TeamWhat they build with AutoScout24 data
Used-car dealersBenchmark inventory pricing against the live German, French, and Italian markets, refreshed daily. Detect under-priced opportunities to acquire stock.
Pricing intelligenceTrack price drops, depreciation curves, and stock turnover by make, model, fuel type, and country. Quantify "fair market" prices using thousands of comparable listings.
Auto comparatorsAggregate the AutoScout24 catalogue into a single search experience for end users without scraping the site themselves.
Insurance and financeFeed real listings into vehicle valuation models, loan-to-value calculations, and total-loss settlement estimates.
Lead generationBuild dealer outreach lists across the EU with verified phone numbers, company names, and GPS coordinates. Map dealer activity by region.
Market researchersStudy EV adoption rates by country, mileage distributions, pricing power per segment, and how the used-car market evolves quarter over quarter.
Automotive content sitesGenerate fresh data for car review articles, "best deals" roundups, and market reports without manual data entry.

๐Ÿ“ฅ Input parameters

Search URLs

ParameterTypeDescription
searchUrlsarray of objectsAutoScout24 URLs to scrape. Supports search pages (e.g. https://www.autoscout24.com/lst/porsche/911?cy=D) and direct listing pages (e.g. https://www.autoscout24.de/angebote/bmw-m5-...uuid). Auto-classified, mix both freely. Accepts any of the 10 country TLDs.

Search filters (used only when searchUrls is empty)

ParameterTypeDescription
makestringVehicle make. Example: Porsche, BMW, Tesla.
modelstringVehicle model. Example: 911, M5, Model 3.
priceMaxintegerUpper price bound in EUR.
countriesarrayAutoScout24 country codes (D Germany, F France, I Italy, E Spain, B Belgium, NL Netherlands, A Austria, PL Poland). Multi-select.

Limits

ParameterTypeDefaultDescription
maxItemsinteger1000Maximum unique listings to save. Auto-pagination stops at this number. Set to a low value (e.g. 50) for fast test runs.

Options

ParameterTypeDefaultDescription
useResidentialProxybooleanfalseRoute requests through a residential proxy. Disabled by default for cost and speed. Enable only if you observe blocks on very large volumes.
debugModebooleanfalseVerbose logging.

๐Ÿ“Š Output data

Each scraped listing produces one flat JSON object with 50+ fields. Example for a Porsche 911 Carrera 4 listing on the German site:

{
"listingId": "0fa8fd23-1303-421f-828a-e0c786b7b778",
"url": "https://www.autoscout24.de/angebote/porsche-911-carrera-4-coupe-gasoline-black-0fa8fd23-1303-421f-828a-e0c786b7b778",
"scrapedAt": "2026-05-15T12:00:00Z",
"title": "Porsche 911 Carrera 4",
"subtitle": "Carrera 4 Coupe",
"make": "Porsche",
"model": "911",
"modelGroup": "911",
"variant": "Carrera 4",
"price": 29900,
"priceCurrency": "EUR",
"priceFormatted": "โ‚ฌ 29,900",
"isConditionalPrice": false,
"vatDeductible": false,
"category": "used",
"bodyType": "Coupe",
"firstRegistration": "03/2001",
"year": 2001,
"mileage": 131222,
"transmission": "Automatic",
"fuel": "Gasoline",
"engineSize": 3596,
"color": "Black",
"paintType": "Metallic",
"seats": 4,
"doors": "2",
"hsnTsn": "0583 ABC",
"usageState": "Used",
"productionDate": "2001-01-01",
"description": "Beautiful 911 Carrera 4 in excellent condition. Full service history, two owners. Recently serviced.",
"images": [
"https://prod.pictures.autoscout24.net/listing-images/0fa8fd23-...-1.jpg",
"https://prod.pictures.autoscout24.net/listing-images/0fa8fd23-...-2.jpg"
],
"hasThreeSixty": false,
"location": {
"countryCode": "DE",
"zip": "25421",
"city": "Pinneberg",
"street": "Elmshorner Str. 146",
"latitude": 53.6755,
"longitude": 9.79401
},
"seller": {
"type": "Dealer",
"id": "46992491",
"companyName": "H&S Automobile Hamburg GmbH",
"contactName": "Sohrab Safi",
"logo": "https://prod.pictures.autoscout24.net/sellers/46992491-big.jpg",
"phones": [
"+49 (0)176 - 22578171"
]
},
"firstSeenAt": "2026-04-18T09:14:00+02:00"
}

๐Ÿ—‚๏ธ Data fields

Identity and pricing

FieldTypeDescription
listingIdstringAutoScout24 internal UUID (stable across crawls)
urlstringCanonical URL of the listing on the source country site
titlestringMake, model, and variant joined
subtitlestringExtended variant description
pricenumberNumeric price as integer
priceCurrencystringISO currency code (EUR, GBP, USD)
priceFormattedstringOriginal price string as shown on AutoScout24
isConditionalPriceboolPrice depends on export, leasing, financing
vatDeductibleboolVAT can be reclaimed by businesses
categorystringused, new, demo, oldtimer, employees-car

Vehicle specifications

FieldTypeDescription
make, model, modelGroup, variantstringMake and model hierarchy
bodyTypestringSedan, Coupe, SUV, Wagon, Van, Convertible, etc.
firstRegistrationstringOriginal registration date in MM/YYYY format
yearnumber4-digit year extracted from firstRegistration
mileagenumberKilometres on the odometer
transmissionstringManual, Automatic, Semi-automatic
fuelstringGasoline, Diesel, Electric, Hybrid, LPG, CNG
engineSizenumberEngine displacement in cc
color, paintTypestringBody color and paint finish
seats, doorsnumber, stringCabin layout
hsnTsnstringGerman vehicle type code (HSN-TSN), useful for VIN and tax queries
productionDatestringManufacturing date when exposed by the seller
weightnumberEmpty weight in kg when exposed

Media and description

FieldTypeDescription
descriptionstringFree-text description written by the seller
imagesarrayHigh-resolution image URLs in display order
hasThreeSixtybool360ยฐ tour available
youTubeLinkstringLinked video walk-around if seller provided one

Location

FieldTypeDescription
location.countryCodestringISO 3166-1 alpha-2 country code (DE, FR, IT, ES, BE, NL, AT, PL, LU)
location.zip, location.city, location.streetstringFull postal address of the dealer
location.latitude, location.longitudenumberGPS coordinates (WGS-84) when exposed

Seller

FieldTypeDescription
seller.typestringDealer or Private
seller.idstringAutoScout24 seller identifier (stable across listings)
seller.companyName, seller.contactNamestringDealer company and contact person
seller.logostringDealer logo URL
seller.phonesarrayPhone numbers in international format with country code

๐Ÿš€ Examples

Working input examples copied directly from real production runs.

Get the latest Porsche 911 listings in Germany

{
"searchUrls": [
{ "url": "https://www.autoscout24.com/lst/porsche/911?atype=C&cy=D&sort=age&desc=1" }
],
"maxItems": 100
}

Build a pan-European Tesla Model 3 catalogue

{
"make": "Tesla",
"model": "Model 3",
"countries": ["D", "F", "I", "E", "B", "NL"],
"maxItems": 500
}

Track used BMW prices under EUR 20,000 in France

{
"make": "BMW",
"priceMax": 20000,
"countries": ["F"],
"maxItems": 1000
}

Enrich specific listings you already have

{
"searchUrls": [
{ "url": "https://www.autoscout24.com/offers/porsche-911-carrera-4-coupe-gasoline-black-0fa8fd23-1303-421f-828a-e0c786b7b778" },
{ "url": "https://www.autoscout24.de/angebote/audi-rs6-avant-2024-gray-abc12345-6789-..." }
],
"maxItems": 100
}

Multiple searches deduplicated in one run

{
"searchUrls": [
{ "url": "https://www.autoscout24.com/lst/audi/rs6?cy=D" },
{ "url": "https://www.autoscout24.com/lst/bmw/m5?cy=D" }
],
"maxItems": 200
}

๐Ÿ’ป Integrations

Python (Apify client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("autoscout24-scraper").call(run_input={
"searchUrls": [{"url": "https://www.autoscout24.com/lst/porsche/911?cy=D"}],
"maxItems": 200,
})
for vehicle in client.dataset(run["defaultDatasetId"]).iterate_items():
print(vehicle["make"], vehicle["model"], vehicle["price"], vehicle["location"]["city"])

JavaScript (Apify client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('autoscout24-scraper').call({
searchUrls: [{ url: 'https://www.autoscout24.com/lst/porsche/911?cy=D' }],
maxItems: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const v of items) {
console.log(v.make, v.model, v.price, v.location.city);
}

Feed AutoScout24 listings into a pricing model

import pandas as pd
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("autoscout24-scraper").call(run_input={
"make": "Tesla",
"model": "Model 3",
"countries": ["D", "F", "I", "E"],
"maxItems": 1000,
})
df = pd.DataFrame(list(client.dataset(run["defaultDatasetId"]).iterate_items()))
print(df.groupby("location.countryCode")["price"].agg(["mean", "median", "count"]))

๐Ÿ“ˆ Performance benchmarks

Measured on 2026-05-15 against autoscout24.com with the default direct-connection mode (no proxy).

Run sizeWall-clock durationRun cost on your Apify account
50 listings6 seconds$0.0005
200 listings12 seconds$0.0018
500 listings89 seconds$0.0072
1,000 listings135 seconds (capped at 605 unique items)$0.0096

The 1,000-item run capped at 605 because the chosen Porsche 911 search only has that many unique listings in Germany at the moment. AutoScout24 boosts certain ads across multiple pages; the scraper deduplicates by listing ID so you get unique vehicles, not duplicates.

Speed factors: AutoScout24 responds in under 1 second per request from European Apify regions. The scraper runs 10 parallel workers by default. A 200-listing run reads about 34 MB of HTML across pages, which is why duration scales sub-linearly with maxItems.

๐Ÿ’ก Tips for best results

  • Paste the URL straight from your browser. Build the exact filter set on autoscout24.com (or .de, .fr, .it, etc.), copy the URL, paste it into searchUrls. Every URL filter the site supports is preserved (sort, year range, mileage range, fuel type, transmission, body type, equipment, radius from postal code, dealer-only or private-only, and more).
  • Combine multiple search URLs in one run. Run several queries together to get a single deduplicated dataset. The scraper drops duplicate listings by ID across all search URLs.
  • For large markets, segment by year or price. Germany alone has more than 800,000 listings on a given day. To go deeper than a single search returns, split into several searches by year range or price band, then run them together.
  • Set maxItems to your real cap. Pagination stops automatically when the cap is reached, so a low cap means fast runs and predictable cost. Need 50 listings? Set maxItems: 50.
  • GPS coordinates are not always present. AutoScout24 exposes latitude and longitude for most dealers but some private sellers and a few dealers omit them. The fields are optional in the output.
  • Use the .de, .fr, .it country sites directly. If you mostly care about one country, paste that country's site URL. The listing URLs in the output preserve the original country TLD.

โ“ Frequently asked questions

Do I need a login or an AutoScout24 account?

No. The AutoScout24 Scraper reads public listing pages only. There is no login, no API key, and nothing to set up. Paste a URL or set filters, click Start, and the data flows to your dataset.

Which AutoScout24 country sites does the scraper support?

URL mode accepts all 17 sites in AutoScout24's country selector: .com, .de, .fr, .it, .es, .be, .nl, .at, .pl, .lu, .cz, .hu, .se, .ro, .bg, .hr, .ru. The scraper auto-detects the TLD and preserves it in the output URL.

The Countries dropdown exposes 8 real country filters (Germany, France, Italy, Spain, Belgium, Netherlands, Austria, Luxembourg). The other 9 country sites (.pl, .cz, .hu, .se, .ro, .bg, .hr, .ru) are localised interfaces that serve the same European catalogue rather than country-specific listings, so they are not shown as filters; paste their URL directly via Search URLs if you want to scrape them in their original language interface.

Can I scrape multiple countries in one run?

Yes, two ways. Either paste an autoscout24.com search URL with multiple countries in the cy= parameter, for example cy=D,F,I,E. Or use filter mode with the countries array set to ["D", "F", "I", "E"]. Both produce a single deduplicated dataset combining all markets.

How much does each run cost?

Pricing is $0.002 per result, equal to $2 per 1,000 vehicles returned. There is no monthly subscription, no actor-start fee, and no separate proxy charge. A 200-listing test run costs $0.40; a 1,000-listing run costs $2.

What if the scraper hits a snag on a very large run?

The actor connects directly without proxy by default for the fastest and cheapest runs. If you observe any reliability issue on very large volumes, set useResidentialProxy: true and residential proxies will rotate automatically. Residential proxies are included in the per-result price, no separate proxy fee.

What is the difference between a search URL and a listing URL?

A search URL starts with /lst/... (on all country sites) and returns a paginated grid of vehicles matching filters. A listing URL is a single vehicle ad: /offers/... on .com, /angebote/... on .de, /annonces/... on .fr, with equivalent localised paths on other country sites. You can paste either, or both, in searchUrls. The scraper auto-detects the type and routes each URL to the correct pipeline.

How many fields per vehicle does the scraper return?

The output contains 50+ structured fields per vehicle, including identity (listingId, url), pricing (price, priceCurrency, priceFormatted, isConditionalPrice, vatDeductible, category), specifications (make, model, modelGroup, variant, bodyType, firstRegistration, year, mileage, transmission, fuel, engineSize, color, paintType, seats, doors, hsnTsn, productionDate, weight, usageState), media (description, images, hasThreeSixty, youTubeLink), location (countryCode, zip, city, street, latitude, longitude), and seller (type, id, companyName, contactName, logo, phones).

Are dealer phone numbers included?

Yes. Each listing's seller.phones array contains every phone number the dealer published, formatted with country code (for example +49 (0)176 - 22578171). Private sellers rarely expose phone numbers; for them the array is typically empty.

Are GPS coordinates included?

Yes for most dealer listings. The location.latitude and location.longitude fields contain WGS-84 GPS coordinates when AutoScout24 exposes them. Coverage is roughly 90% for professional dealers, lower for private sellers.

Can I scrape only new cars, or only used cars?

Yes. Use the category filter via the URL (ustate=N for new, ustate=U for used) or filter the output dataset on the category field after scraping. The field values are used, new, demo, oldtimer, and employees-car.

Can I limit the output size?

Yes, set maxItems. The default is 1000. Pagination stops automatically when the cap is reached, even if more listings exist for your search.

Can I run this on a schedule?

Yes. Schedule the actor in the Apify Console to run daily, weekly, or any cron expression. Combine with Apify webhooks or the Apify API to push fresh AutoScout24 data into your data warehouse, CRM, or pricing model.

What format does the scraper output?

JSON by default. Apify also exports the dataset to CSV, Excel, XML, RSS, and HTML formats from the Run page or via the dataset API, no additional configuration needed.

How fresh is the data?

The data is real-time. Every run fetches the current state of AutoScout24 listings at request time. The scrapedAt field on each row is an RFC3339 timestamp of when that specific listing was captured. Run on a schedule for time-series tracking.

๐Ÿ“ฌ Support

Click "Try for free" on the Apify Store page to launch a free run with the prefilled Porsche 911 search input. Every Apify account gets free credits to test the scraper end-to-end before paying for anything.