AutoScout24 scraping is scheduled extraction of vehicle listings from Europe’s largest cross-border marketplace (18 countries, EUR pricing, 150k+ active ads) into your catalog, CRM, or BI stack. VivaCoding builds compliant pipelines: cron jobs, VIN and dealer deduplication, field normalization, and JSON/CSV export — accounting for Next.js __NEXT_DATA__ payloads, Akamai rate limits, ~4,000 results per search query caps, and the fact that the official dealer API is write-only, not a full market read feed.

AutoScout24 (Adevinta group) is the default classifieds layer for used and new cars across Germany, Austria, Italy, the Netherlands, Belgium, and 13 more markets. Importers, price-comparison dealers, aggregators, and EU market analysts need more than a one-off export: price, mileage, trim, seller region, and listing age tracked over time. Below: platform mechanics, field schema, why a $99 scraping API rarely fits, and how we design pipelines without gray captcha bypass.
Key takeaways
- AutoScout24 spans 18 EU markets with unified search; currency is primarily EUR; key markets show 150k+ live listings.
- The Next.js frontend embeds structured JSON in
__NEXT_DATA__; Akamai and rate limits require polite throughput, not brute-force bypass. - The official Listing Creation API serves dealers (publish/update own stock) — no public read API for whole-market monitoring.
- Site search caps at roughly ~4,000 results per query — large pulls need partitioned filters by region, make, and price band.
- VivaCoding delivers legal review, ETL, dedup, alerts, and export to your catalog site or CRM.
AutoScout24 platform overview
AutoScout24 operates as a multi-country marketplace: one brand, localized domains and filters. Sellers include private owners, independent dealers, and franchise groups. Typical B2B use cases: cross-border import (DE → CY, PL → UA), residual-value benchmarking, and competitor monitoring by region.
The storefront is a Next.js SPA. Listing and search pages ship structured payloads inside script id="__NEXT_DATA__", plus JSON-LD (Vehicle, Offer) for SEO. That is more stable than scraping bare HTML, but field shapes change on releases — pipelines must version parsers and alert on schema drift, not silently return empty columns.
The official Listing Creation API (REST, OAuth) lets dealers publish and update stock — write-only from a market-monitoring perspective. Partner data feeds exist at enterprise level; they do not replace custom extraction when you need a full slice such as “all BMW 3 Series under €25k in DE+AT.”
Data fields we collect
| Field | Use case | Notes |
|---|---|---|
| listing_id / offer_id | Unique key, dedup | Stable ID from JSON payload |
| make, model, variant | Catalog filters | Normalize synonyms (VW ↔ Volkswagen) |
| price, currency (EUR) | Price monitoring | Net/gross, VAT hints by country |
| mileage, first_registration | Wear assessment | km vs miles by market |
| fuel, transmission, power_kw | Specification | Map to your taxonomy |
| dealer_id, seller_type | B2B/B2C segmentation | Dealer vs private |
| location (country, zip, geo) | Import logistics | ISO country code required across 18 markets |
| photos[], main_image | Catalog display | CDN URLs, checksum for change detection |
| published_at, updated_at | Freshness | Delisting = soft delete |
| url | Deep link, audit | Canonical listing URL |
Technical challenges
Result cap. Search UI and internal endpoints do not return the entire market in one call — practical ceiling is about 4,000 records per filter combination. Strategy: partition by price buckets, postcode regions, model years, then merge with listing_id dedup.
Akamai bot management. Burst traffic from one IP triggers 403/challenges. We use rate limits, jitter, agreed egress rotation — not commercial captcha farms.
Schema drift. Next.js bundles change JSON nesting — without contract tests the pipeline breaks quietly. We version parsers and store raw snapshots for forensics.
Cross-listing. The same vehicle may appear on .de and .at with different copy — dedup by VIN + dealer, not URL alone.
Pipeline architecture
- Legal & scope — purpose, robots.txt, ToS, GDPR (no seller PII in analytics without grounds).
- Seed & partition — filter/region list, job queue (Celery, Bull, Laravel Queue).
- Fetch layer — HTTP client with backoff; extract from
__NEXT_DATA__and JSON-LD fallback. - Normalize & enrich — unified schema, optional FX and geocoding.
- Dedup & diff — upsert to PostgreSQL/MySQL; price history; mark delisted.
- Export — CRM webhook, SFTP CSV, feed for your auto catalog.
- Monitor — SLA, Telegram/email alerts on success-rate drops.
Custom scraper vs third-party API
| Criteria | Custom pipeline (VivaCoding) | Commercial scraping API |
|---|---|---|
| 18-country coverage | Full filter and field control | Often DE-only or partial |
| Listing Creation API | We integrate write for your stock | Does not replace read monitoring |
| Dedup & price history | Tailored to your DB/CRM | Usually snapshots, no diff |
| Cost at scale | Fixed build + infra | Per-request grows linearly |
| Compliance | Documented legal basis | Vendor gray-zone risk |
| Schema changes | Fast patch under your SLA | Vendor queue |
A third path — partner data feeds from AutoScout24 for large integrators — makes sense at enterprise volume with a contract. For mid-market importers, custom ETL often wins on time-to-value.
When this service fits
- Importing used stock from DE/AT/NL into CY, PL, Baltics — monitor prices and availability by model/VIN band.
- Dealer or aggregator building a catalog site with external listings (with rights holder consent or license).
- BI team tracking residual value, days-on-market, EU seasonality.
- Existing CRM needs scheduled data collection instead of manual Excel.
When it does not fit
- Goal is to mirror all of AutoScout24 without a legal model — we decline.
- Expectation of Akamai/captcha bypass “like Telegram bots” — not our approach.
- One-time pull of 50 listings — manual export is enough.
- You only need to publish your own cars — use the official Listing Creation API, not scraping.
Timeline and budget estimates
VivaCoding ballparks after brief (excl. infra and CRM licenses):
| Scope | Timeline | Budget from |
|---|---|---|
| MVP: 1–2 countries, 10 fields, cron CSV | 2–3 weeks | €1,490 |
| Multi-country, dedup, price history, API export | 4–6 weeks | €3,490 |
| Enterprise: 18 countries, CRM, Listing API write, 99.5% SLA | 8–12 weeks | €7,990+ |
Monthly care: schema drift monitoring, proxy tuning if needed — from €290/mo. Hub: web scraping services.
Related services
- web scraping — data pipeline hub
- automotive websites — catalogs and integrations
- data collection — ETL and normalization
- catalog website development
- website development
- contact — brief and estimate
FAQ
Is there an AutoScout24 API to read all listings?
No public read API for the full market. Listing Creation API is for dealers (create/update own stock). Monitoring third-party listings requires agreed collection or enterprise feeds.
How do you handle the ~4,000 search result limit?
Split queries by filters (price, region, year), merge results, deduplicate by listing_id. Standard data-engineering practice, not exploiting a bug.
Is scraping AutoScout24 legal?
Depends on jurisdiction, purpose, and ToS. We audit before start: what we collect, whether we store personal data, if a DPA is needed. We do not offer gray protection bypass.
HTML or JSON extraction?
Priority: JSON from __NEXT_DATA__ on search and detail pages; JSON-LD fallback. HTML selectors are last resort due to frequent UI changes.
Can you sync to our WordPress catalog?
Yes — WooCommerce REST, custom post types, or external DB via cron. Often combined with an automotive site.
How is this different from mobile.de?
AutoScout24 covers more geography (18 countries). Pipeline architecture is similar; we use per-platform adapters with shared normalization.
How often should data refresh?
Pricing analytics: every 6–24 hours. Hot dealer leads: every 1–4 hours in business hours. Faster only with justified load and limits.