Search AutoScout24 car listings across ten country editions
The AutoScout24 API returns used- and new-car listings from one of Europe's largest car marketplaces as clean JSON.
7 active endpoints. Every call is 1 credit.
- POST/autoscout24/v1/search
- POST/autoscout24/v1/listing
- POST/autoscout24/v1/makes
- POST/autoscout24/v1/models
- POST/autoscout24/v1/filter_options
- POST/autoscout24/v1/seller_listings
- POST/autoscout24/v1/browse_links
What AutoScout24 endpoints does ReefAPI ship?
7 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
AutoScout24 API
3 of 7 endpoints, ready to run
The model and model-group slugs under one make — what you need before a search can be narrow.
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
How the AutoScout24 API works
AutoScout24 is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 185 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Resolve the slugs, then search with them
Make and model are slugs, not free text, and a wrong slug is rejected rather than guessed at. Two cheap lookups turn a car you can name into a search you can run.
{"make": "bmw", "country": "de"}Model and model_group are two different filters and the response gives you both. Needed once per make, not once per run.
{"make": "bmw", "model_group": "3er", "country": "de"}Every row carries the listing id and its full URL, so detail is optional if the search row already has what you need.
Two credits to go from a make name to a filtered result page. Slug lookups are worth caching — they change far more slowly than the listings do.
curl -X POST https://api.reefapi.com/autoscout24/v1/models \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"make":"bmw"}'{
"ok": true,
"data": { … },
"meta": {
"api": "autoscout24",
"endpoint": "models",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}AutoScout24 country editions and what each one returned
Each country value is a separate AutoScout24 marketplace with its own host, its own language for the vehicle labels and its own inventory. The table records what a live make=bmw search returned for each of the twelve accepted values on 2026-08-27, including the two that did not answer, so you know which ones you can build on.
| country | Host | Live search on 2026-08-27 | BMW listings reported |
|---|---|---|---|
| de | autoscout24.de | answered | 62,735 |
| at | autoscout24.at | answered | 13,420 |
| it | autoscout24.it | answered | 29,614 |
| es | autoscout24.es | answered | 16,805 |
| nl | autoscout24.nl | answered | 22,223 |
| fr | autoscout24.fr | answered | 11,079 |
| lu | autoscout24.lu | answered | 1,059 |
| pl | autoscout24.pl | answered | 169,381 |
| ro | autoscout24.ro | answered | 169,381 |
| hr | autoscout24.hr | answered | 169,381 |
| ch | autoscout24.ch | HTTP 403, marked retryable | not measured |
| be | autoscout24.be | HTTP 404, error code NOT_FOUND | not measured |
pl, ro and hr returned the identical total and the identical lead listing, so those three editions serve one shared cross-border pool behind localized hosts and labels rather than three national inventories; de, at, it, es, nl, fr and lu each returned distinct stock. Whatever the country, total_pages came back capped at 200 pages of 20, so at most 4,000 listings are reachable per query no matter how large total is. Narrow with make, model, price and year filters instead of paging deeper.
Ten working editions, and three that share one pool
AutoScout24 publishes a site per country and the country parameter picks one. What that actually gets you is not uniform, and the difference is the sort of thing that only shows up when you run the same search twice and compare the rows. We did.
Germany, Austria, Italy, France, Netherlands, Spain, Poland, Romania, Croatia and Luxembourg answered on the measurement date.
The Swiss edition returned a hard refusal and the Belgian one a not-found, on repeated attempts. They are listed as accepted values and they do not currently return cars. Do not build a European rollup that assumes twelve.
Germany, the Netherlands, France and the other domestic editions returned cars located in that country, twenty out of twenty. Poland, Romania and Croatia returned something else: the identical result count and the identical first page as each other, made of cars in the Netherlands, Germany, Italy and Belgium. Those three editions are one shared cross-border pool, not a local market.
Euro everywhere, including on the Polish and Romanian editions where the local currency is not the euro. That is a genuine convenience and it is also a trap if you assumed the site's country implied its currency.
A UUID, and the same UUID is repeated at the end of the listing URL — so unlike most classifieds in this category, you can read the id straight off a link. The path in front of it changes per edition, so a single URL pattern will not match all ten.
Price arrives as a formatted string only, and the thousands separator changes with the edition: a full stop on the German, Italian and Spanish sites, a space on the Austrian, French and Polish ones. Mileage does the same. A parser written against one edition will silently misread another by a factor of a thousand.
The price evaluation that makes this source interesting to dealers came back populated on the German, Austrian, Italian and Spanish editions and empty on the Dutch, Polish, Romanian, Croatian and Luxembourg ones. Null there means not offered, not average.
What people build with AutoScout24
The jobs this data is most often used for.
endpoints
credit per call
Automotive pricing tools call search to track used-car prices and spot super-deals by make and model.
Dealer-intelligence products use seller_listings to audit a competitor dealership's inventory.
Market analysts use makes, models and filter_options to size supply across the European car market.
What AutoScout24 data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 185 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/autoscout24/v1/models \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"make":"bmw"}'import requests
r = requests.post(
"https://api.reefapi.com/autoscout24/v1/models",
headers={"x-api-key": REEF_KEY},
json={
"make": "bmw"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up AutoScout24.
Get a free key →Is the AutoScout24 price a number I can compare?▾
Not on a search card. search returns price_formatted as a localized string, measured as '€ 7.990' on de, '€ 2 885' on pl and '€ 10 490' on fr, with the thousands separator following the local convention. The listing action gives you the number: prices.public.priceRaw came back as 7990 for that same car, alongside netPriceRaw 6714, vatRate 19 and taxDeductible false. Call listing when you need arithmetic, or strip the separators yourself.
What does price_evaluation mean on an AutoScout24 listing?▾
It is AutoScout24's deal rating as an integer category, 0 being the cheapest band and 6 the most expensive relative to the market. A single BMW search page on 2026-08-27 returned categories 0, 1, 2 and 4 plus three cards with null, so null means the rating is simply not published for that car. The listing action shows the arithmetic behind it: for one 7,990 euro car it returned median 8500 and an evaluationRanges array giving the price window per category, for example category 1 as 5901-7600 and category 2 as 7601-8500. super_deal is a separate flag for cars priced well below market.
Is mileage in kilometers, and is power in kW or hp?▾
Mileage is kilometers and power is reported both ways. A search card returns mileage_km as a localized string, '100.000 km' on de and '161 299 km' on pl, while the listing action returns vehicle.mileageInKmRaw as the integer 100000. Power comes back as power_kw '75 kW' and power_ps '102 PS' on the same listing, and the search card's vehicle_details array carries the combined string '75 kW (102 PS)'. The power_min and power_max search filters take kW.
What format is the first-registration date?▾
Three forms, depending on where you read it. A search card returns first_registration as MM-YYYY, measured as '11-2014'. Inside vehicle_details the same value appears as '11/2014'. The listing action carries both vehicle.firstRegistrationDate '11/2014' and vehicle.firstRegistrationDateRaw '2014-11-01', which is the only ISO-shaped date in the response and the one to parse. The year_min and year_max filters take a plain four-digit year.
Why do fuel and transmission come back as German or Polish words?▾
Because what you filter on and what you get back are two different vocabularies. You filter with AutoScout24's codes: fuel B for petrol, D for diesel, E for electric, 2 for LPG, 3 for CNG, and transmission A for automatic, M for manual. What comes back is the storefront's own display label, measured as 'Benzin', 'Diesel', 'Elektro' and 'Schaltgetriebe' or 'Automatik' on de, 'Benzyna' on pl, 'Benzină' on ro and 'Benzine' on nl. Map on the codes you sent, not on the strings you got back.
What does an AutoScout24 listing id look like?▾
A UUID, for example e1a37c14-3c6f-47c6-903b-bdacbb870023. Every search card carries it as id along with url and path, and the listing action accepts any of the three. The path is the site-relative form, /angebote/... on de, /oferta/... on pl and /aanbod/... on nl, so a path from one country's search only resolves against that same country value.
What does a full AutoScout24 listing include beyond the search card?▾
A measured listing call returned the complete vehicle block with makeId, modelId, motorTypeName, hsnTsn, bodyType, numberOfSeats, numberOfDoors, bodyColor plus bodyColorRaw and bodyColorOriginal, the equipment list, every image, the free-text description, warranty ('12 Monate'), leasing_details, status 'Active' and created_at as an ISO timestamp. The seller block carries the dealer id, company name, contact name, phone numbers and a ratings object, measured at ratingsCount 33, ratingsAverage '4,5' and per-category stars. Feed the seller id into seller_listings to pull that dealer's whole stock.
How do I find valid make, model and body_type values?▾
Ask the taxonomy actions rather than guessing. makes returns every brand with id, name and slug for a country, models returns that make's models, model_groups and model_lines, and filter_options returns the available filter dimensions with their option codes, which is where the body_type and offer_type codes come from. make and model are slugs such as bmw and 320, and both reject an unknown value rather than silently ignoring it.
What is the AutoScout24 API?▾
AutoScout24 API is a ReefAPI endpoint group for autoscout24 It returns live JSON through POST requests under /autoscout24/v1.
Is the AutoScout24 API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. AutoScout24 calls use the same shared credit balance as every other ReefAPI engine.
Do I need an AutoScout24 login or account?▾
No login to AutoScout24 is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the AutoScout24 data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the AutoScout24 API use?▾
AutoScout24 actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call AutoScout24 from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call autoscout24 actions with the same key, credit pool and JSON envelope used by normal REST requests.
4 Classifieds & Second-hand APIs on the same key
One key, one credit pool, one response envelope. If you are pulling AutoScout24, you are one call away from the rest of the category — no second contract, no second integration.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 184 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-08-27.