AutoScout24 Scraper - EU Car Listings & Prices, No login avatar

AutoScout24 Scraper - EU Car Listings & Prices, No login

Pricing

from $0.20 / 1,000 saved listings

Go to Apify Store
AutoScout24 Scraper - EU Car Listings & Prices, No login

AutoScout24 Scraper - EU Car Listings & Prices, No login

AutoScout24 scraper for car listings in 8 EU countries. Filter by make, model, year, price and mileage. Each row has price, mileage, year, fuel, power, photos and seller info. No AutoScout24 login needed. Use only-new mode with a schedule to see new cars.

Pricing

from $0.20 / 1,000 saved listings

Rating

0.0

(0)

Developer

Cliqto Media

Cliqto Media

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

AutoScout24 Car Listings Scraper finds used and new car listings on AutoScout24 in 8 EU countries by make, model, year, price and mileage, and returns one clean row per car with price, mileage, first registration, fuel, gearbox, power, location, dealer and photos. No login, cookies or API key are needed: type a make and a model, start, and 20 listings arrive in about 10 seconds for $0.0073.

AutoScout24 Car Listings Scraper: set make, model and country, get one row per listing with price, mileage, fuel, power and dealer

Table of contents

What it does

The Actor reads the public search results of AutoScout24 for Germany, Austria, Belgium, Spain, France, Italy, Luxembourg and the Netherlands. You choose a make, a model and filters. The Actor saves one Dataset row for each car listing it finds, in the order AutoScout24 shows them.

Good fit

  • Track asking prices and mileage for one model in one or more countries.
  • Watch for new listings of a car you want to buy (schedule + Only new listings).
  • Build a list of dealers that sell a model, with their rating and location.
  • Collect a price sample for valuation or market research.

Not a fit / limits

  • No full listing page: no description text, equipment list, colour, CO2 or seller phone numbers.
  • No private seller contacts. For private sellers you get only city, zip and country.
  • At most 2,000 listings per run. AutoScout24 shows up to 4,000 results per search; split big searches by country, year or price.
  • Other AutoScout24 markets (for example Switzerland) and other car sites are not covered.

Quick start

  1. Open the Input tab.
  2. Type a Make (make), for example BMW, and a Model (model), for example 3 Series.
  3. Keep the prefilled Country de (Germany) and Maximum listings 20, or change them.
  4. Click Start.
  5. Open the Output tab and check title, price and mileageKm.

Expected result: 20 rows of BMW 3 Series cars offered in Germany, newest listings first.

Use cases

Buyer jobInput pathOutput entityKey fieldsNext integration
Price check for one modelmake, model, countryCar listingprice, mileageKm, year, priceRatingExport to CSV or Excel
Alert on new carsonlyNew: true + scheduleNew car listings onlyurl, price, firstRegistrationWebhook or integration on run finish
Dealer list for a modelmake, model, countryCar listing from a dealerdealerName, dealerId, dealerRating, locationSpreadsheet or CRM import
Narrow buying searchyearFrom, priceTo, mileageMax, conditionCar listingprice, mileageKm, fuel, transmissionAPI call from your app

Input

Input fields

FieldPlain nameTypeRequiredDefault / prefillAllowed valuesEffectExampleRecommendation
makeMakestringnoprefill BMWMake name as on AutoScout24; VW, Mercedes also workLimits the search to one brandVolkswagenEmpty searches all makes
modelModelstringno (needs make)prefill 3 SeriesModel line (3 Series, C-Class) or model (320, Golf, X5)Limits the search to one model or model lineGolfAn unknown name fails with suggestions
countryCountrystringnodefault all, prefill deall, de, at, be, es, fr, it, lu, nlWhere the car is offerednlall covers all 8 markets
yearFrom / yearToFirst registration from / tointegernonone1900–2100Filters by year of first registration2019yearFrom must not be larger than yearTo
priceFrom / priceToPrice from / tointegernonone0–10,000,000 (EUR)Filters by asking price30000
mileageMaxMaximum mileageintegernonone0–2,000,000 (km)Filters by odometer100000
conditionConditionstringnoanyany, used, newNew, used or bothused
sortSort orderstringnonewestnewest, price_asc, price_desc, mileage_asc, year_desc, relevanceOrder of resultsprice_ascKeep newest for monitoring
maxItemsMaximum listingsintegernodefault 100, prefill 201–2,000Stops after this many listings500You pay per saved listing
onlyNewOnly new listingsbooleannofalsetrue, falseReturns only listings not seen in earlier runs of the same searchtrueUse with a schedule
stateKeyHistory namestringnononeletters, digits, -, _Name for the Only new listings historybmw-3-deSet it to keep the history when you change filters

An empty input searches all makes in all 8 countries and returns the 100 newest listings.

Interacting settings

WhenInput AInput BEffective behaviorExampleCost/result effect
MonitoringonlyNew: truesort: newestReading stops at the first page with no new listingsSecond run of the same searchUnchanged search costs only the run start
Monitoring, other orderonlyNew: truesort other than newestReading stops after 5 pages in a row with no new listings; new cars further down can be missedprice_ascUnchanged search costs only the run start
History nameonlyNew: truestateKeyWithout stateKey, each set of filters has its own history; with it, the history stays when filters changestateKey: "bmw-3-de"none
Modelmodelmakemodel needs make; it is matched inside that makemake: "Mercedes-Benz", model: "C-Class"none
Spending capmaxItemsMax cost per run (Apify option)The run stops at whichever comes firstmaxItems: 2000, cap $0.10Rows above the cap are not saved and not charged

Input examples

Price check for one model

{
"make": "BMW",
"model": "3 Series",
"country": "de",
"maxItems": 20
}

Expected behavior: the Actor reads the first search page for BMW 3 Series in Germany. Expected output: 20 car listings with price, mileageKm, firstRegistration, fuel, dealerName. Limit or cost note: about 10 seconds, $0.0073.

Daily alert for new cars

{
"make": "Volkswagen",
"model": "Golf",
"country": "nl",
"yearFrom": 2020,
"priceTo": 20000,
"maxItems": 200,
"onlyNew": true
}

Expected behavior: the first run saves up to 200 newest listings and remembers them. Later runs save only listings that were not there before. Expected output: new car listings only; an unchanged search gives an empty Dataset and status NO_RESULTS. Limit or cost note: an unchanged run costs $0.0025 (run start only).

Output

Output fields

FieldMeaningTypeCan be empty?Example / enumSource / notes
idAutoScout24 listing idstringnoffb3f43b-…From the listing URL
urlListing pagestringnohttps://www.autoscout24.com/offers/…
titleMake, model and versionstringnoBMW 320 d Touring Advantage
makeMakestringyesBMWSpelling as on AutoScout24 (Skoda)
modelModelstringyes320null when AutoScout24 lists the car under the make only
modelGroupModel familystringyes3 Series
versionVersion text from the sellerstringyesd Touring Advantage
priceAsking priceintegeryes19299null when no price is shown, never 0
currencyCurrencystringyesEUR
priceRatingAutoScout24 price ratingstringyestop-price, good-priceOnly when shown
mileageKmOdometer, kmintegeryes112257Pre-registered cars can have 0 km
firstRegistrationFirst registrationstringyes2021-02YYYY-MM; null for new cars without registration
yearYear of first registrationintegeryes2021
fuelFuel typestringyesDiesel, Gasoline, Electric/Gasoline
transmissionGearboxstringyesAutomatic, Manual
powerKw / powerHpEngine powerintegeryes140 / 190
engineCcEngine size, cm3integeryes1995Often null for electric cars
offerTypeOffer typestringyesused, new, demonstration, pre_registered, employee_car, classic
locationWhere the car isobjectno{"countryCode":"DE","zip":"21614","city":"Buxtehude"}street only for dealers
sellerTypeSeller typestringyesdealer, private
dealerName / dealerIdDealerstringyesExample AutohausAlways null for private sellers
dealerRating / dealerReviewCountDealer ratingnumber / integeryes5 / 9Only when shown
images / imageCountPhoto URLs (720×540) and their countarray / integerno (can be [])From the search result
sourceSourcestringnoautoscout24
fetchedAtWhen the row was readstringno2026-10-15T00:54:34ZISO 8601, UTC

Output entities and surfaces

SituationDataset/API/KVS/live viewResult shapeUser action
Normal itemDataset (Output tab)One row per car listingOpen, export or call the API
No listings matchDataset empty; RUN_SUMMARY status NO_RESULTSRun SUCCEEDEDWiden the filters
Nothing new (onlyNew)Dataset empty; RUN_SUMMARY status NO_RESULTSRun SUCCEEDEDNothing to do; next run checks again
Stopped early (time or spending cap)Dataset with saved rows; RUN_SUMMARY status PARTIAL, reason TIME_LIMIT or CHARGE_LIMITRun SUCCEEDEDRaise the cap or split the search
Wrong make or modelRUN_SUMMARY status INVALID_INPUT with suggestionsRun FAILED, no rowsFix the name and start again
AutoScout24 not reachableRUN_SUMMARY status ERROR, or PARTIAL with reason SOURCE_ERROR when rows were saved; saved rows stayRun FAILEDStart again later

Output example

{
"id": "ffb3f43b-6b16-4b35-84f1-e1ac2706c187",
"url": "https://www.autoscout24.com/offers/bmw-320-d-touring-advantage-hifi-dab-spur-diesel-black-cat_ma13mo1641-ffb3f43b-6b16-4b35-84f1-e1ac2706c187",
"title": "BMW 320 d Touring Advantage / HIFI / DAB / Spur",
"make": "BMW",
"model": "320",
"modelGroup": "3 Series",
"version": "d Touring Advantage / HIFI / DAB / Spur",
"price": 19299,
"currency": "EUR",
"priceRating": "top-price",
"mileageKm": 112257,
"firstRegistration": "2021-02",
"year": 2021,
"fuel": "Diesel",
"transmission": "Automatic",
"powerKw": 140,
"powerHp": 190,
"engineCc": 1995,
"offerType": "used",
"location": { "countryCode": "DE", "zip": "21614", "city": "Buxtehude", "street": "Example Street 3" },
"sellerType": "dealer",
"dealerName": "Example Autohaus",
"dealerId": "44450405",
"dealerRating": 5,
"dealerReviewCount": 9,
"images": ["https://prod.pictures.autoscout24.net/listing-images/ffb3f43b-…/720x540.webp"],
"imageCount": 15,
"source": "autoscout24",
"fetchedAt": "2026-10-15T00:54:34.255Z"
}

This example is one row from the price-check input above, trimmed to one photo; the dealer name and street are replaced. null means AutoScout24 does not show the value for that car; it never means 0.

The key-value store record RUN_SUMMARY has the status (COMPLETE, PARTIAL, NO_RESULTS, INVALID_INPUT, ERROR, CANCELLED), the reason, the AutoScout24 search URL, the number of matching listings (search.totalAvailable), counts of saved, charged and skipped listings, and request statistics.

Pricing and limits

Pricing unit

This Actor uses pay-per-event pricing. Platform usage (compute, proxy, storage) is included; you pay only for these events:

EventWhenFree planBronzeSilverGold and above
Run startOnce per run$0.0025$0.0025$0.0025$0.0025
Saved listingEach row saved in the Dataset$0.00024$0.00023$0.00022$0.0002
  • A run that finds no listings, a filter with no matches and an unchanged Only new listings run cost only the run start, $0.0025.
  • Listings already seen in Only new listings mode are skipped and not charged.
  • A run with a wrong make or model fails fast and costs only the run start.
  • If the run stops at your spending cap or time limit, you pay only for the rows that were saved.

Cost examples

Free plan prices; measured runs at the default 512 MB.

ScenarioInput scopeSaved listingsChargeTimeStop/cap behavior
Smallone model, maxItems: 2020$0.0073~5–10 sstops at maxItems
Normalone model, maxItems: 100100$0.0265~10–15 sstops at maxItems
Largeone model, maxItems: 10001,000$0.2425~1 minstops at maxItems
MaximummaxItems: 20002,000$0.4825~2 minstops at maxItems
Unchanged monitoronlyNew: true, nothing new0$0.0025~5 sstops when no new listings

The default run timeout is 900 seconds. If AutoScout24 is slow, the run stops itself before the timeout and keeps the saved rows (status PARTIAL, reason TIME_LIMIT).

API, export and integrations

  • API: start the Actor with the same JSON input through the Apify API and read rows from the run's default Dataset.
  • Export: download the Dataset as JSON, CSV, Excel, XML or HTML from the Output tab.
  • Scheduling: create a schedule with onlyNew: true to get only new cars each day; keep the same input (or the same stateKey).
  • Webhooks / no-code: add a webhook or an Apify integration (for example Make, Zapier, Google Sheets) on run finish and read url, price and title from the Dataset.

Use with AI agents (MCP)

  • MCP server URL with only this Actor: https://mcp.apify.com?tools=cliqtomedia/car-listings-scraper.
  • Smallest useful input: {"make": "BMW", "model": "3 Series", "country": "de", "maxItems": 20}.
  • Key output fields: title (car), price (EUR, null if not shown), mileageKm, firstRegistration (YYYY-MM), url (listing page).
  • A typical 20-listing call finishes in about 10 seconds and costs $0.0073. Maximum 2,000 listings per run. Unknown make or model names fail with a list of valid names to choose from.

Troubleshooting

The run failed with "Unknown model"

Symptom: run FAILED, status INVALID_INPUT, message "Unknown model … Did you mean: …". Likely reason: the model name is not in the AutoScout24 list for this make. Check: the suggestions in the message. Action: use one of the suggested names, for example 3 Series or 320.

The run failed with "covers several models"

Symptom: run FAILED, status INVALID_INPUT, message "Model … covers several models; pick one: …". Likely reason: AutoScout24 groups several models under this name (for example EQE). Action: pick one model from the list.

The Dataset is empty

Symptom: run SUCCEEDED with 0 rows, status NO_RESULTS. Likely reason: no listings match the filters, or (with Only new listings) nothing new appeared. Check: open search.url from RUN_SUMMARY in the browser. Action: widen the price, year or mileage filters, or set country to all.

The run failed with "Source is failing or too slow"

Symptom: run FAILED, status ERROR (or PARTIAL with reason SOURCE_ERROR), message "Source is failing or too slow" or "stopped retrying". Likely reason: AutoScout24 did not answer or was very slow for about 2 minutes in total. Check: rows saved before the error stay in the Dataset; RUN_SUMMARY.http shows retries and timeouts. Action: start the run again later. The run stops early on purpose, so a source outage costs only the run start and the saved rows.

Fewer rows than Maximum listings

Symptom: status COMPLETE with fewer rows. Likely reason: AutoScout24 has fewer matching listings, or repeated sponsored listings were skipped (counts.skippedDuplicate). Action: none needed; search.totalAvailable shows how many matched.

FAQ

Do I need an AutoScout24 account, cookies or an API key?

No. The Actor reads public search results only.

Do I get seller phone numbers?

No. The Actor does not collect phone numbers or other contacts. For private sellers it keeps only city, zip and country.

Why is firstRegistration null for some cars?

New cars often have no registration date yet. null means AutoScout24 shows no value.

How fresh is the data?

Every run reads AutoScout24 live. fetchedAt shows when each row was read. Prices and listings can change after that.

AutoScout24 shows at most 4,000 results per search, and the Actor saves at most 2,000 per run. Split a big search by country, year or price range.

Support

Use the Actor's Issues tab for questions, bugs or feature requests. Include the run ID and the status from RUN_SUMMARY. Do not send API tokens or cookies.