AutoScout24 Scraper

Car offers from AutoScout24 in Germany, Austria, Belgium, the Netherlands, Italy, Spain, France and the international site as clean JSON: make, model...

Car offers from AutoScout24 in Germany, Austria, Belgium, the Netherlands, Italy, Spain, France and the international site as clean JSON: make, model, price, price rating, year, mileage, fuel, gearbox, power, photos. Dealer or private as a flag; seller identity never collected. Pay per result.

$3.00 / 1,000 · Recently published - building its public record.

Run it on Apify → Free to try - runs bill per result on your own account.

What you give it

Every field is optional unless marked; sensible defaults do the rest.

FieldTypeWhat it doesDefault
make string The car make to search, as AutoScout24 spells it in its address bar: bmw, mercedes-benz, alfa-romeo, volkswagen. Plain spelling works too ("Mercedes-Benz", "Alfa Romeo"). Leave it out only when you re-check offers through listingIds. bmw
model string Optional model inside the make, as the address bar spells it: 320, golf, c-200, x5. Leave empty for every model of the make. -
country string Which AutoScout24 site to read. Each lists the offers of its own country, with labels in its language; com is the international site with every country's offers in English. de
listingIds array Re-check offers you already know instead of searching: one offer ID per line (the long id at the end of every offer address, and the listingId of every dataset item), or the offer's full address. Each one is read from its own page, so it carries the description, the posting time, the site's own status and the full spec sheet. An offer that is gone from the site is skipped, named in the log and not billed. When given, the search fields of this form are ignored and the run status says which; country still picks the site. Up to 50. []
priceMinEur integer Only include offers priced at least this many euros. -
priceMaxEur integer Only include offers priced at most this many euros. -
yearMin integer Only include cars first registered in this year or later, e.g. 2018. -
yearMax integer Only include cars first registered in this year or earlier. -
mileageMinKm integer Only include cars with at least this many kilometres. -
mileageMaxKm integer Only include cars with at most this many kilometres, e.g. 100000. -
fuel string Only include cars running on this fuel. Leave empty for any. -
transmission string Only include cars with this gearbox. Leave empty for any. -
bodyType string Only include this body type. Leave empty for any. -
sellerType string Dealers only, private sellers only, or both. any
postcode string Centre of a radius search, a postcode of the chosen country site, e.g. 10115. Needs radiusKm to have an effect. -
radiusKm integer Only include offers within this many kilometres of the postcode. The site accepts 10 to 400. -
sortBy string Order of results: newest (best for monitoring), price_asc, price_desc, mileage_asc, year_desc, or relevance (the site's own order). newest
maxItems integer Stop after this many offers. Free-plan runs are capped at 5 items. The form starts at 25 for a cheap first run - that is the form's prefill, not a cap on your plan; clear it to use the default of 1000. The site serves 4,000 offers per query; above that the run splits the query by price band to reach the rest. 1000
scrapeDetails boolean The search row carries the price, the key specs and the photos but no description and no posting time. Turn this on to read each offer's own page for the seller's description, the posting time, the site's own status, the net price and VAT, body, seats, doors, colour, gears, drivetrain, emission class, owners, service history, next inspection and the equipment list. One extra request per offer, so a run is slower. Seller name, phone, street and coordinates are never read. False
reportFailures boolean When a run fails, send the developer the actor name and build, an error category, the error message (truncated) and a one-way hash of your input - so a bug can be fixed without anyone asking you to reproduce it. Your input itself, your results and your identity are never sent, and successful runs send nothing at all. Switch this off and the actor behaves exactly the same. True

What you get back

One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.

FieldTypeMeaning
listingId string AutoScout24 offer id, the same on every country site.
url string Direct link to the offer on the country site it was read from.
title string The offer title: the seller's version text when there is one, otherwise make and model.
make string Make.
model string Model.
modelGroup string Model line the model belongs to.
variant string Body variant as the site classifies it.
motorType string Engine designation.
version string The seller's own version text.
priceCents integer Asking price in euro cents.
currency string Always EUR when a price is present.
priceRating string The site's own verdict on the price against comparable offers. Present when the site shows one.
previousPriceCents integer The earlier price in euro cents when the site shows the offer as reduced.
firstRegistration string First registration, year and month.
mileageKm integer Mileage in kilometres.
fuel string Fuel as the site labels it, in the site's language.
fuelCode string Fuel as the site codes it, the same on every country site: B petrol, D diesel, E electric, 2 hybrid petrol, 3 hybrid diesel, L LPG, C CNG, H hydrogen.
transmission string Gearbox as the site labels it, in the site's language.
powerKw integer Engine power in kW.
powerHp integer Engine power in horsepower as the site states it.
engineDisplacementCcm integer Engine displacement in cubic centimetres.
fuelConsumption string Combined consumption as the site states it. Absent when the seller gave none.
co2Emission string Combined CO2 emission as the site states it. Absent when the seller gave none.
offerCode string The site's offer-type code (used, new, pre-registered, demonstration, classic) as it serves it.
damaged boolean Whether the site flags the car as currently damaged. Search rows only.
vehicleType string Vehicle kind as the site classifies it.
countryCode string Country the car is offered in. Matters on the international site, which mixes countries.
postcode string Postcode of the offer location. Municipality-level only: street and coordinates are never collected.
city string Town of the offer location.
sellerType string Whether the offer comes from a dealer or a private seller. The only seller-related field in the output.
imageUrls array Photos of the offer at 1280x960, in the site's order. The search row carries the first few; the offer page carries all.
description string The seller's description as plain text. Offer pages only (Fetch offer pages, or listingIds).
postedAt string When the offer was posted (ISO timestamp). Offer pages only.
status string The site's own offer status as it reports it, e.g. active. Offer pages only.
negotiable boolean Whether the seller marked the price as negotiable. Offer pages only.
netPriceCents integer Net price in euro cents when the dealer states one. Offer pages only.
vatRate number VAT rate in percent when the dealer states one. Offer pages only.
vatDeductible boolean Whether the VAT is shown as deductible. Offer pages only.
condition string new, used, pre_registered, demonstration, employee_car or classic. Offer pages only.
bodyType string Body type as the site labels it. Offer pages only.
seats integer Number of seats. Offer pages only.
doors integer Number of doors. Offer pages only.
color string Body colour as the site labels it. Offer pages only.
paintType string Paint type as the site labels it. Offer pages only.
upholstery string Upholstery as the site labels it. Offer pages only.
gears integer Number of gears. Offer pages only.
cylinders integer Number of cylinders. Offer pages only.
driveTrain string Drivetrain as the site labels it. Offer pages only.
weightKg integer Kerb weight in kg. Offer pages only.
emissionClass string Emission class. Offer pages only.
particleFilter boolean Whether a particle filter is fitted. Offer pages only.
previousOwners integer Number of previous owners. Offer pages only.
fullServiceHistory boolean Whether the seller states a full service history. Offer pages only.
nonSmoking boolean Whether the seller states a non-smoker car. Offer pages only.
hadAccident boolean Whether the seller declares accident damage. Offer pages only.
damageConditions array The damage the seller declares, as the site labels it. Offer pages only.
nextInspection string Next roadworthiness inspection due, year and month. Offer pages only.
productionYear integer Production year when stated. Offer pages only.
warranty string Warranty as the dealer states it. Offer pages only.
equipment array Equipment list as the site labels it. Offer pages only.

Health

Recently published - building its public record. Live record, failures included: status page.

Full documentation, examples and the AI-assistant prompt live on the store page.

Questions

Is scraping AutoScout24 legal?

This is not legal advice. The actor reads what any logged-out visitor sees on the AutoScout24 country sites, with no login, no CAPTCHA solving and no private endpoints, and it extracts no seller name, dealer name, contact detail, street or coordinates, so the output holds no personal data. Whether your own use of the offers is allowed under the site's terms and your jurisdiction's rules is yours to assess.

Which AutoScout24 countries does it cover?

Germany, Austria, Belgium in Dutch or French, the Netherlands, Italy, Spain and France, each on its own site, plus the international autoscout24.com in English. The country input picks the site; the columns are the same everywhere, and fuelCode and countryCode stay identical across sites while fuel and transmission carry each site's own label. Switzerland is a separate platform and is not covered.

Can I get only the newest offers?

Sort by newest, keep maxItems to a page or two and schedule the run: each run returns the latest offers for the make, model and filters you set. The site has no posting-date filter, so the daily cap is what keeps a watch cheap. With scrapeDetails on, every row also carries postedAt from the offer page.

How much do 10,000 offers cost?

$30.00, billed per delivered offer at $3.00 per 1,000. That price covers the run's platform usage, and a run that fails or returns nothing bills nothing beyond the actor start.

Does it return dealer or seller phone numbers?

No. The only seller field is whether the offer comes from a dealer or a private person. Names, company names, phone numbers, dealer links, streets and coordinates are never extracted, and a test on every build fails if one ever appears, so this is not a setting that can be switched off.

Does it return the full spec sheet?

Every search row carries make, model, version, price, the site's own price rating, first registration, mileage, fuel, transmission, power, displacement, consumption, CO2, location and photos. Turn on scrapeDetails, or name offers in listingIds, and each row also carries the description, posting time, status, net price and VAT, body, seats, doors, colour, gears, drivetrain, emission class, owners, service history, next inspection, warranty and the equipment list.