AutoScout24 Scraping

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 scraping

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

FieldUse caseNotes
listing_id / offer_idUnique key, dedupStable ID from JSON payload
make, model, variantCatalog filtersNormalize synonyms (VW ↔ Volkswagen)
price, currency (EUR)Price monitoringNet/gross, VAT hints by country
mileage, first_registrationWear assessmentkm vs miles by market
fuel, transmission, power_kwSpecificationMap to your taxonomy
dealer_id, seller_typeB2B/B2C segmentationDealer vs private
location (country, zip, geo)Import logisticsISO country code required across 18 markets
photos[], main_imageCatalog displayCDN URLs, checksum for change detection
published_at, updated_atFreshnessDelisting = soft delete
urlDeep link, auditCanonical 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

  1. Legal & scope — purpose, robots.txt, ToS, GDPR (no seller PII in analytics without grounds).
  2. Seed & partition — filter/region list, job queue (Celery, Bull, Laravel Queue).
  3. Fetch layer — HTTP client with backoff; extract from __NEXT_DATA__ and JSON-LD fallback.
  4. Normalize & enrich — unified schema, optional FX and geocoding.
  5. Dedup & diff — upsert to PostgreSQL/MySQL; price history; mark delisted.
  6. Export — CRM webhook, SFTP CSV, feed for your auto catalog.
  7. Monitor — SLA, Telegram/email alerts on success-rate drops.

Custom scraper vs third-party API

CriteriaCustom pipeline (VivaCoding)Commercial scraping API
18-country coverageFull filter and field controlOften DE-only or partial
Listing Creation APIWe integrate write for your stockDoes not replace read monitoring
Dedup & price historyTailored to your DB/CRMUsually snapshots, no diff
Cost at scaleFixed build + infraPer-request grows linearly
ComplianceDocumented legal basisVendor gray-zone risk
Schema changesFast patch under your SLAVendor 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):

ScopeTimelineBudget from
MVP: 1–2 countries, 10 fields, cron CSV2–3 weeks€1,490
Multi-country, dedup, price history, API export4–6 weeks€3,490
Enterprise: 18 countries, CRM, Listing API write, 99.5% SLA8–12 weeks€7,990+

Monthly care: schema drift monitoring, proxy tuning if needed — from €290/mo. Hub: web scraping services.

Related services

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.

Author: VivaCoding team. Updated: July 29, 2026. Back to web scraping