AutoScout24 Germany Car Scraper avatar

AutoScout24 Germany Car Scraper

Pricing

Pay per event

Go to Apify Store
AutoScout24 Germany Car Scraper

AutoScout24 Germany Car Scraper

Scrape used-car listings from AutoScout24.de (Germany's largest car marketplace) — make, model, price, mileage, first registration, fuel, transmission, power, body type, colour, dealer details, and photos. Paste any AutoScout24 search URL or filter by make/model; export to JSON or CSV.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Share


🎯 What this scrapes

AutoScout24.de is Germany's largest used-car marketplace and ships no public API. This Actor wraps a polite scrape of its __NEXT_DATA__ payload — paste any search URL (filters already applied) or filter by make and model, then optionally enrich each listing from its detail page for the full German description, body type, colour, exact power, and full-resolution photos. Prices are in EUR, mileage in km.

🔥 What we handle for you

  • 🛡️ Browser fingerprint rotationcurl-cffi impersonates real Chrome / Firefox / Safari TLS handshakes so the target sees a browser, not Python.
  • 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
  • 🔁 Retries with exponential backoff on 408 / 429 / 5xx — up to 5 attempts per page, Retry-After honoured.
  • 🧱 Rate-limit-aware pacing — when the target pushes back, we slow down instead of getting banned.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
  • 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.

💡 Use cases

  • Used-car price analytics — track asking prices by make/model/year across the German market.
  • Dealer-inventory monitoring — diff a dealer's stock day over day from seller_name + listing IDs.
  • Lead generation — build a directory of German car dealers from seller_name + seller_phone.
  • Cross-border arbitrage — compare AutoScout24.de prices against other EU marketplaces (Poland, Austria) using the shared schema.
  • Depreciation modelling — pair price, mileage_km, and first_registration to fit value curves.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
searchUrlstringno''Full AutoScout24.de search/results URL with your filters already applied (e.g. https://www.autoscout24.de/lst/bmw/
makestringno''Convenience filter — car make slug (e.g. bmw, volkswagen, audi). Used to build th
modelstringno''Convenience filter — model slug (e.g. 3er, golf). Requires a make. Ignored if a Search URL is
maxResultsintegerno50Hard cap on dataset rows. AutoScout24 paginates 20 listings per page and caps any query at ~400 pages.
enrichDetailsbooleannoTrueFetch each listing's detail page for the full German description, body type, colour, exact power, lat/long, and full-res
proxyConfigurationobjectno{'useApifyProxy': True, 'apifyProxyGroups': ['RESIDENTIAL']}Apify Proxy spec. German residential exits are safest for AutoScout24.

Example input

{
"searchUrl": "",
"make": "",
"model": "",
"maxResults": 5,
"enrichDetails": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
listing_idstringAutoScout24 listing GUID.
listing_urlstringAbsolute URL to the listing detail page.
titlestringListing headline (make + model + version).
make['string', 'null']Car manufacturer (e.g. BMW, Volkswagen, Audi).
model['string', 'null']Model name (e.g. Corsa, Golf, 3er).
version['string', 'null']Model version / trim line as listed.
year['integer', 'null']Year of first registration (Erstzulassung).
price['integer', 'null']Asking price as an integer in the listing currency.
currency['string', 'null']ISO-4217 currency code — always EUR for autoscout24.de.
mileage_km['integer', 'null']Odometer reading in kilometres.
fuel_type['string', 'null']Fuel type (Benzin, Diesel, Elektro, Hybrid).
transmission['string', 'null']Transmission (Schaltgetriebe / Automatik / Halbautomatik).
engine_power_hp['integer', 'null']Engine power in metric horsepower (PS).
engine_power_kw['integer', 'null']Engine power in kilowatts.
engine_size_cc['integer', 'null']Engine displacement in cubic centimetres. Enrichment-only.
body_type['string', 'null']Body / car type (e.g. Limousine, Kombi, SUV/Geländewagen). Enrichment-only.
color['string', 'null']Exterior colour (German label, e.g. Weiß, Schwarz). Enrichment-only.
first_registration['string', 'null']First-registration date as shown (MM/YYYY).
location['string', 'null']Town / city of the listing.
postcode['string', 'null']German postal code (PLZ).
latitude['number', 'null']Latitude (WGS-84). Enrichment-only.
longitude['number', 'null']Longitude (WGS-84). Enrichment-only.
seller_type['string', 'null']private or dealer.
seller_name['string', 'null']Dealer / company name when present.
seller_phone['string', 'null']Dealer contact phone number when published.
photo_urlsarrayList of listing photo URLs (full resolution after enrichment).
description['string', 'null']Full German listing description (HTML stripped to plain text). Enrichment-only.
posted_date['string', 'null']ISO timestamp when the listing was created. Enrichment-only.
scraped_atstringISO timestamp when this row was recorded.

Example output

{
"listing_id": "a15406b4-db66-4cb0-8e5d-1b74d162144a",
"listing_url": "https://www.autoscout24.de/angebote/opel-corsa-d-1-4-color-edition-einparkhilfe-export-benzin-weiss-cat_ma54mo1918-a15406b4-db66-4cb0-8e5d-1b74d162144a",
"title": "Opel Corsa D 1.4 Color Edition Einparkhilfe EXPORT",
"make": "Opel",
"model": "Corsa",
"version": "D 1.4 Color Edition Einparkhilfe EXPORT",
"year": 2013,
"price": 3490,
"currency": "EUR",
"mileage_km": 101125,
"fuel_type": "Benzin",
"transmission": "Schaltgetriebe",
"engine_power_hp": 101,
"engine_power_kw": 74,
"engine_size_cc": 1398,
"body_type": "Limousine",
"color": "Wei\u00df",
"first_registration": "07/2013",
"location": "Bad D\u00fcrkheim",
"postcode": "67098",
"latitude": 49.46323,
"longitude": 8.18632,
"seller_type": "dealer",
"seller_name": "Autohaus Schl\u00e4fer GmbH",
"seller_phone": "+49 (0)6322 - 943344",
"photo_urls": [
"https://prod.pictures.autoscout24.net/listing-images/a15406b4-..._...jpg/1280x960.webp"
],
"posted_date": "2026-06-01T12:21:47.636Z",
"scraped_at": "2026-06-02T10:00:00+00:00"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.05One-off warm-up charge per run
result-row$0.002PPE event

Example: 1 000 results at the rates above ≈ $2.05. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

AutoScout24's own search caps any query at ~400 pages (~8 000 results); narrow your filters for deeper coverage. Detail enrichment doubles the request count and roughly doubles run time. Some private listings hide the phone number behind a click-to-reveal widget; in those cases seller_phone may be null. Prices reflect the dealer/public asking price, not negotiated or net (VAT) figures.

❓ FAQ

Do I need a Search URL?

No. Leave it empty to scrape the default used-car listing page, or set make (and optionally model) for a quick filter. For complex filters (price range, year, body type), build the search on autoscout24.de and paste the resulting URL.

Is detail enrichment optional?

Yes — set enrichDetails to false to halve the request count. You'll still get make, model, price, mileage, fuel, transmission, power, location, and a photo from the search payload — just no full description, body type, colour, lat/long, or full-resolution gallery.

What currency are prices in?

Always EUR. price is an integer; mileage_km is always in kilometres.

Is this an AutoScout24-sanctioned API?

No. AutoScout24 offers no public API. This Actor scrapes the public website politely — see the ToS Notice in the README.

What if AutoScout24 blocks the request?

We rotate browser TLS fingerprints and residential proxy exits, retry with exponential backoff, and surface a clear status message. If a query yields nothing, we fail loud rather than return an empty dataset.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.