AutoScout24 Scraper — Used & New Cars in 8 EU Countries
Pricing
from $1.05 / 1,000 result items
AutoScout24 Scraper — Used & New Cars in 8 EU Countries
AutoScout24 car listings for dealers, importers, pricing analysts and AI agents: 293 makes in 8 EU countries, filters for model version, price, year, mileage, power, fuel, gearbox, body, owners, seller and postcode radius. Typos in make/model are auto-corrected. Price rating, price per km.
Pricing
from $1.05 / 1,000 result items
Rating
0.0
(0)
Developer
Samat Makatov
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Structured car listings from autoscout24.com, Europe's largest car marketplace, across Germany, Austria, Belgium, Spain, France, Italy, Luxembourg and the Netherlands. Search by any of 293 makes and their models with every major site filter — price, first registration, mileage, power, fuel, gearbox, body, colour, emission class, previous owners, equipment, dealer or private seller, postcode radius — and get price, autoscout24's price rating, price per 1 000 km, specs, location and the seller with phone numbers. detail: true adds the description, full equipment list, drivetrain, weight, emission class, CO₂ and consumption, previous owners and coordinates. Built for car dealers and importers, leasing and remarketing, price analysts and AI agents.
No proxies, no browser, no API key — reads the JSON embedded in the public pages. Cars are saved page by page as they are read, so a run that hits your spending limit or its timeout keeps (and bills) exactly the cars it saved.
Use cases
- Import sourcing — cheapest 2019+ automatic Golf under €20 000 in DE/AT/NL, only "top/good price" ratings, sorted by price.
- Dealer lead generation — the Sellers view lists dealers with phones, ratings and dealer pages for a make/region.
- Residual value & pricing analytics — pull 1 000+ listings of a model and regress
priceonyear,mileageKm,powerKw;pricePer1000KmandpriceLabelhelp spot outliers. - Stock monitoring —
sort: "age"(latest offers first) scheduled hourly for a narrow search to catch new cars before competitors. - Local market scan —
zip+radiusKm+sort: "distance"around your showroom. - Spec-level research —
detail: truefor equipment, emission class and consumption for EV/hybrid comparisons.
Input
All fields are optional. Select fields (country, countries, condition, offerTypes, powerUnit, fuel, gear, body, sellerType, bodyColors, emissionClass, maxPreviousOwners, priceLabels, sort) take only the codes listed below — Apify refuses any other value before the run starts and shows the allowed ones. The free-text fields make, model, version, equipment and fields are forgiving (see each row).
| Field | Type | Default | Allowed values / notes |
|---|---|---|---|
make | string | – (prefill bmw) | Slug, name or id (mercedes-benz, Volkswagen, Lynk & Co, 13). Empty = all makes. Typos are auto-corrected (Volkswagon, Mercedes, VW). Reference → Makes. |
model | string | – | Model or series slug from the site URL (x5, golf, 3-series, c-class, id-4). Typos are auto-corrected (sendiro → sandero, golff → golf); extra words go to version (sandero stepway). No close model → run fails listing the valid slugs. |
version | string | – | Model version words, like the site's "Model version" box (stepway, gti, touring, amg). Every word must appear in the listing's version title; a misspelt word is corrected from real listing titles when nothing matches. |
country | string | "" = all 8 countries (Console prefill D) | A, B, D, E, F, I, L, NL, "" = all of Europe |
countries | string[] | [] | Several countries; overrides country. |
zip, radiusKm | string, integer | – | Postcode search inside the selected country. |
condition | string | all | all, used, new |
offerTypes | string[] | [] | N, U, J employee car, O classic, D demo, S pre-registered |
priceFrom / priceTo | integer | – | EUR |
yearFrom / yearTo | integer | – | First registration year |
mileageFrom / mileageTo | integer | – | km |
powerFrom / powerTo, powerUnit | integer, string | –, kw | kw or hp |
fuel | string[] | [] | B, D, E, 2, 3, L, C, H, M, O (Reference → Fuel) |
gear | string[] | [] | A, M, S |
body | string[] | [] | 1–7, 12, 13 (Reference → Body type) |
sellerType | string | all | all, dealer, private |
bodyColors | string[] | [] | Colour codes (Reference → Body colour) |
emissionClass | string | "" | Minimum Euro class code (Reference → Emission class) |
maxPreviousOwners | string | "" | 1, 2, 3, 4 (4+) |
doorsFrom/doorsTo, seatsFrom/seatsTo | integer | – | |
equipment | string[] | [] | Equipment names or ids, all required (e.g. Navigation system, 37 Guarantee). Letter case, spaces and hyphens do not matter; an unknown name fails the run with the closest names (it is never silently dropped). |
priceLabels | string[] | [] | Client-side: top-price, good-price, fair-price, increased-price, high-price, toolow-price, no-rating |
extraParams | object | {} | Any other /lst URL parameter copied from the site |
sort | string | standard | standard, price, age, mileage, year, power, make, distance |
sortDescending | boolean | auto | Default ascending; age defaults to newest first |
maxItems | integer | 40 | 1–4000 (20 per page) |
maxPages | integer | – (empty = until maxItems) | 1–200. Optional cap on search pages, e.g. to bound a priceLabels scan; the status says when it stopped the run before maxItems. |
detail | boolean | false | +1 request per car (about 1.5 s) |
dedupe | boolean | true | |
fields | string[] | – (all columns) | Keep only these output columns, in this order; id and url are always kept. Letter case and small typos are corrected (shown in the status), unknown names are ignored with a warning, and the run fails if none is a column. Columns that come only from listing pages need detail: true. |
autoscout24 silently shows all cars when it does not understand a make or model; this actor checks what the site actually applied. An obvious typo is auto-corrected against autoscout24's own make/model list (e.g. " Dacia " + "sendiro stepwy" → Dacia · sandero · version stepway) — the correction is logged as a warning, shown in the run's status message and stored in the SUMMARY record. Anything not clearly close still fails with a clear message listing the valid slugs. Legacy inputs (make, model, country, priceFrom, priceTo, yearFrom, sort, maxItems) keep working. Since 02.10.2026 a run without country searches all 8 countries (it used to search Germany only) and an empty maxPages no longer stops a run at 400 cars.
Reference
Countries (country, countries)
| Code | Country |
|---|---|
A | Austria (AT) |
B | Belgium (BE) |
D | Germany (DE) |
E | Spain (ES) |
F | France (FR) |
I | Italy (IT) |
L | Luxembourg (LU) |
NL | Netherlands (NL) |
"" | All of Europe |
Makes (make)
293 makes. Pass the slug, the name or the id.
Models — use the slug from the site URL /lst/<make>/<model>. Both single models (x5, golf, a4, c-220, id-4) and series / model lines (3-series, c-class, range-rover-sport) work. Typos are corrected when one model is clearly the closest (≤2 edits, ≤30 % of the length); a wrong model with no close match fails the run and lists the valid slugs for that make. Words after the model (sandero stepway, golf gti clubsport) become the version filter.
Fuel (fuel)
| Code | Meaning |
|---|---|
2 | Electric/Gasoline |
3 | Electric/Diesel |
B | Gasoline |
C | CNG |
D | Diesel |
E | Electric |
H | Hydrogen |
L | LPG |
M | Ethanol |
O | Others |
Gearbox (gear)
| Code | Meaning |
|---|---|
A | Automatic |
M | Manual |
S | Semi-automatic |
Body type (body)
| Code | Meaning |
|---|---|
1 | Compact |
2 | Convertible |
3 | Coupe |
4 | SUV/Off-Road/Pick-Up |
5 | Station Wagon |
6 | Sedan |
7 | Other |
12 | Van |
13 | Transporter |
Offer type (offerTypes)
| Code | Meaning |
|---|---|
N | New |
U | Used |
J | Employee's car |
O | Antique / Classic |
D | Demonstration |
S | Pre-registered |
Seller (sellerType)
| Value | autoscout24 custtype |
|---|---|
all | – |
dealer | D |
private | P |
Body colour (bodyColors)
| Code | Meaning |
|---|---|
1 | Beige |
2 | Blue |
3 | Brown |
4 | Bronze |
5 | Yellow |
6 | Grey |
7 | Green |
10 | Red |
11 | Black |
12 | Silver |
13 | Violet |
14 | White |
15 | Orange |
16 | Gold |
Emission class (emissionClass)
| Code | Meaning |
|---|---|
1 | Euro 1 |
2 | Euro 2 |
3 | Euro 3 |
4 | Euro 4 |
5 | Euro 5 |
6 | Euro 6 |
7 | Euro 6c |
8 | Euro 6d |
9 | Euro 6d-TEMP |
10 | Euro 6e |
11 | Euro 6b |
Price rating (priceLabels, output priceLabel)
| Value | Meaning |
|---|---|
top-price | Top price |
good-price | Good price |
fair-price | Fair price |
increased-price | Increased price |
high-price | High price |
toolow-price | Suspiciously low price |
no-rating | No price rating |
Sort (sort)
| Value | Meaning |
|---|---|
standard | Best results (site default) |
price | Price |
age | Latest offers first |
mileage | Mileage |
year | First registration |
power | Power |
make | Make/Model |
distance | By distance (needs zip) |
Equipment (equipment)
Examples
Import sourcing — 2019+ automatic Golf under €20 000, good deals only, DE/AT/NL
{ "make": "volkswagen", "model": "golf", "countries": ["D", "A", "NL"], "yearFrom": 2019, "mileageTo": 100000, "priceTo": 20000, "gear": ["A"], "sellerType": "dealer", "priceLabels": ["top-price", "good-price"], "sort": "price", "maxItems": 200 }
Trim level — Dacia Sandero Stepway, used, 2021+, under €15 000
{ "make": "dacia", "model": "sandero", "version": "stepway", "offerTypes": ["U"], "yearFrom": 2021, "priceTo": 15000, "maxItems": 100 }
Stock alert — newest BMW X5 diesel listings in Germany, hourly
{ "make": "bmw", "model": "x5", "country": "D", "fuel": ["D"], "sort": "age", "maxItems": 40 }
Local dealer leads — used cars within 50 km of Munich
{ "make": "", "country": "D", "zip": "80331", "radiusKm": 50, "sellerType": "dealer", "condition": "used", "sort": "distance", "maxItems": 500 }
EV residual values — Tesla Model 3 across Europe with specs
{ "make": "tesla", "model": "model-3", "country": "", "fuel": ["E"], "detail": true, "maxItems": 300 }
Family car shortlist — station wagons, 1 previous owner, full service history, Euro 6
{ "make": "skoda", "model": "octavia", "body": ["5"], "maxPreviousOwners": "1", "equipment": ["49"], "emissionClass": "6", "priceTo": 25000, "maxItems": 100 }
Output
One dataset item per car. Example (real run, trimmed, detail: true):
{"id": "226560e1-e735-4bd6-940a-6d9e7b3376f1","url": "https://www.autoscout24.com/offers/bmw-318-d-business-paket-pdc-navi-diesel-black-cat_ma13mo1640-226560e1-…","title": "BMW 318 d *BUSINESS-PAKET*PDC*NAVI*","make": "BMW", "model": "318", "modelGroup": "3 Series", "variant": "Touring","offerType": "Used", "price": 11399, "currency": "EUR", "priceLabel": "top-price","firstRegistration": "2019-04", "year": 2019, "mileageKm": 161668, "pricePerKm": 0.071, "pricePer1000Km": 71,"fuel": "Diesel", "transmission": "Manual", "powerKw": 110, "powerHp": 150, "engineCcm": 1995,"consumption": "4.3 l/100 km (comb.)", "co2": "114 g/km (comb.)","countryCode": "DE", "zip": "85276", "city": "Pfaffenhofen an der Ilm","sellerType": "dealer", "sellerId": "24363553", "sellerName": "MYAUTOCENTER OHG","sellerPhones": ["+498441797960200", "+498441879460"], "sellerRating": 4.5, "sellerRatingsCount": 251,"imagesCount": 50, "sponsored": true, "position": 1, "searchTotal": 2721, "fetchedAt": "2026-09-13T08:24:40.607Z","bodyType": "Station Wagon", "seats": 5, "doors": 4, "color": "Black", "upholstery": "Cloth","cylinders": 4, "driveTrain": "Rear Wheel Drive", "weightKg": 1575, "emissionClass": "Euro 6","co2Gkm": 114, "consumptionL100km": 4.3, "previousOwners": 2,"equipment": ["Air conditioning", "Armrest", "Automatic climate control", "Navigation system", "…"],"lat": 48.52184, "lon": 11.54022, "createdAt": "2026-05-14T00:32:46.153Z", "status": "Active"}
| Field | Description |
|---|---|
id, crossReferenceId, url, title | Listing GUID, secondary id, listing URL, title |
make, model, modelGroup, variant, version | Vehicle identity |
offerType, offerTypeCode | Used / New / Demonstration / … |
price, currency, priceFormatted | Public price in EUR |
priceLabel | autoscout24 price rating (top-price, good-price, fair-price, increased-price, high-price, toolow-price) |
firstRegistration, year, mileageKm | YYYY-MM, year, km |
pricePerKm, pricePer1000Km | price / mileageKm (null for 0 km cars) |
fuel, transmission, powerKw, powerHp, engineCcm, consumption, co2, damaged | Specs from the card |
countryCode, zip, city, street | Location |
sellerType, sellerId, sellerName, sellerPhones, sellerRating, sellerRatingsCount, sellerInfoUrl | Dealer / private seller |
image, imagesCount, sponsored, leadsRange | Media, paid placement flag (true only with sort: "standard", see Limits), autoscout24 interest bucket |
position, searchTotal, searchUrl, fetchedAt | Rank, total matching cars (market size), search URL, timestamp |
With detail: true | description, bodyType, seats, doors, color, colorOriginal, paintType, upholstery, cylinders, gears, driveTrain, weightKg, emissionClass, co2Gkm, consumptionL100km, electricRangeKm, previousOwners, hsnTsn, equipment, equipmentByCategory, lat, lon, createdAt, status, warranty, vatDeductible, negotiable, netPrice, vatRate, sellerContactName, sellerRecommendPercent, offerReference, imagesCountFull |
detailError | Detail mode only: present when the listing page could not be opened — the car is still saved with its search data ("not opened: …" when the run stopped opening listing pages after a block, see Limits) |
With fields, each item keeps only id, url and the columns you listed, in your order.
The key-value store record SUMMARY describes the run: searched (make, model, version and the exact search URL actually used), typed (the input as given), corrections (auto-corrected typos), warnings, fields, searchTotal, saved, pagesRead, maxPages, endedBy (maxItems, end of the search, maxPages, searchError, detailBlock or stopped by the spending limit / timeout), searchError, detail (opened, failed, notOpened, blocked), skippedByPriceLabel, skippedSponsored, reorderedClientSide, orderBreaksAcrossPages, sort, sortDescending, delivered, stoppedBy and status. searchUrl in every item is the corrected search URL.
Use it from code / agents
curl -X POST "https://api.apify.com/v2/acts/yadroo~autoscout24-cars/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"make":"audi","model":"a4","country":"D","priceTo":20000,"yearFrom":2018,"sort":"price","maxItems":50}'
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('yadroo/autoscout24-cars').call({ make: 'bmw', model: 'x5', sort: 'age', maxItems: 40 });const { items } = await client.dataset(run.defaultDatasetId).listItems();
from apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("yadroo/autoscout24-cars").call(run_input={"make": "tesla", "model": "model-3", "country": "", "detail": True})items = client.dataset(run["defaultDatasetId"]).list_items().items
MCP: add https://mcp.apify.com to Claude / Cursor / any MCP client and call the yadroo/autoscout24-cars tool with the same JSON input.
Pricing
Pay per event: $0.005 per run start + $0.0015 per car. Bronze −10 %, Silver −20 %, Gold and above −30 % on the car price; the start event is the same on every plan; platform usage is included (no proxy or browser costs).
Typical runs: 40 cars ≈ $0.065; a 1 000-car pricing dataset ≈ $1.505; an hourly 20-car stock alert ≈ $0.035/run. detail: true costs the same per car but adds about 1.5 s per car. Set "Maximum cost per run" and the run stops there with exactly the cars it was paid for: status "Stopped at your spending limit: N rows delivered".
Limits & FAQ
- Depth — autoscout24 serves 20 cars per page and at most 200 pages (4 000 cars) per search; the log tells you when a search is bigger. Split by price or year range.
- Run time — search only: about 600 cars per minute.
detail: true: about 1.5 s per car (1 000 cars took 25 minutes in a cloud test), so the default 1-hour timeout fits about 2 300 cars. Cars are saved page by page; a run near its timeout stops starting new pages, keeps every car it saved and ends SUCCEEDED with "Stopped before the run timeout: N rows saved" — raise the timeout or split the search for more. - Rate limits and blocks — ~0.8 s between search pages and ~0.9 s between listing pages; 429/5xx retried with backoff. If the first search page cannot be read (403, unknown page layout), the run fails with a clear error. If a later search page fails, the run ends SUCCEEDED with the cars already saved and says at which page it stopped. If listing pages are refused (403, a page without data, or 5 failures in a row) in detail mode, no more listing pages are opened: the cars of that search page are saved without details (
detailError: "not opened: …", billed like any car — they carry the full search data), paging ends and the status says so. A removed listing (404) keeps its car withdetailErrorand does not stop the run. - Filters not available — autoscout24's URL does not honour drivetrain, "online since" or damaged-car parameters, so they are not offered;
priceLabelsis applied client-side. - Typos in make/model — auto-corrected, never silently widened:
Volkswagon→ volkswagen,golff→ golf,sendiro stepwy→ sandero + version stepway. Check the log warning, the status message or theSUMMARYrecord (searched,corrections) to see exactly what was searched. A model with no close match fails the run with the list of valid slugs. - Sponsored cars and sort order — autoscout24 pins 1–3 paid ("sponsored") cars to the top of every result page whatever the sort, so on the site a price-sorted list is not strictly ascending. These are extra slots: the same car also appears organically at its sorted position (checked on a 41-car search: 41 organic cars, contiguous and sorted across pages). So with any sort other than
standardthe actor skips the sponsored inserts and the dataset follows the requested order; forprice,mileageandpowerit also re-checks the order client-side within each page of 20 (stable, empty values last) — cars are written page by page, so a break of autoscout24's own order between two pages is counted inSUMMARY.orderBreaksAcrossPages, not repaired. TheSUMMARYrecord showsskippedSponsoredandreorderedClientSide. Withsort: "standard"(best results) sponsored cars are kept and flaggedsponsored: true. - 0 cars — the run still succeeds; the log and status message say so. Widen price, year or mileage.
- Countries — the 8 autoscout24 markets listed above; the
.comsite shows the same stock as local domains. - Freshness — live at run time.
- Roadmap — vans/motorbikes (
atype), dealer inventory mode (all cars of one dealer), price-drop tracking between runs.
Made by Yadroo. Sibling actors: kolesa-kz (cars in Kazakhstan), krisha-kz (real estate), kaspi-kz-products (marketplace prices), hh-kz-vacancies (jobs), marktplaats-nl, kleinanzeigen-de, willhaben-at.