# AutoScout24 Car Listings Scraper - Deduplication Ability (`kinaesthetic_millionaire/autoscout24-car-listings-scraper`) Actor

Extracts car listings from AutoScout24, including make, model, price, mileage, first registration, transmission, fuel type, power, seller details, and photos.

- **URL**: https://apify.com/kinaesthetic\_millionaire/autoscout24-car-listings-scraper.md
- **Developed by:** [Parsedom Inc](https://apify.com/kinaesthetic_millionaire) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## AutoScout24 Car Listings Scraper

Scrapes car listings from [AutoScout24](https://www.autoscout24.de), Europe's largest online car marketplace. For every car it returns the make, model, version, price, mileage, first registration, transmission, fuel type, power in both kW and HP, engine size, condition, location, seller details, and photo URLs. All AutoScout24 country domains are supported. Results are returned as structured JSON, ready to export to CSV or Excel.

<img src="https://i.postimg.cc/pVS0WvRX/how-the-autoscout24-actor-works.png" alt="How the Autoscout4 Scraper Apify Actor works: provide input, the actor scrapes the site, get structured output" /> 

### Features

- **Car listing extraction** - make, model, version, price, mileage, registration, transmission, fuel, power, engine size, condition, and photos
- **Seller details** - dealer or private, company name, and full location (city, ZIP, street)
- **Numbers ready to use** - price, mileage, kW, HP and engine size are returned as real numbers, not display strings, so you can sort and filter straight away
- **All country domains** - `.de`, `.at`, `.nl` and the rest share the same layout and all work
- **Pagination support** - walks through result pages until Max Items is reached
- **Per-project caching** - set a project name and the Actor remembers what it already returned for that project, skipping it next time. Each project keeps its own history, so different projects never interfere.
- **No proxy needed** - the Actor works without a proxy

### Input Configuration

| Field | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| Start URLs | array | Yes | `https://www.autoscout24.de/lst/bmw` | AutoScout24 search (results) page URLs or single offer page URLs. Any other URL is discarded. |
| Max items per start URL | integer | - | 20 | Maximum cars to scrape for each search start URL. An offer page URL always returns exactly one item. |
| Project name (enables caching) | string | - | — | Set a project name to enable cross-run caching, for example "social". The Actor remembers the car listings it returned under that project and skips them in later runs of the same project. Each project keeps its own separate history, so using a different name starts fresh. Leave empty to scrape everything every time. |
| Proxy configuration | object | - | No proxy | Proxy settings used for all requests. |

**Supported URL types:**

- Search / results pages - `https://www.autoscout24.de/lst/bmw`
- Filtered searches - `https://www.autoscout24.de/lst/bmw/2er?priceto=15000&kmto=150000`
- Single offer pages - `https://www.autoscout24.de/angebote/bmw-2er-...-144b7c6e-...`

### Output

The dataset has one view, **Overview**, showing make, model, version, price, mileage, registration, fuel, city and URL. Each record carries the full field set below.

**Sample output:**

```json
[
  {
    "id": "144b7c6e-e8a8-4271-88ee-410d7ae1409b",
    "url": "https://www.autoscout24.de/angebote/bmw-2er-218-i-advantage-benzin-weiss-144b7c6e-e8a8-4271-88ee-410d7ae1409b",
    "make": "BMW",
    "model": "218",
    "modelGroup": "2er",
    "variant": "Active Tourer",
    "version": "218 i Advantage",
    "subtitle": "HU/AU neu, LED-Scheinwerfer, Alufelgen, Einparkhilfe, Sitzheizung",
    "price": 9500,
    "priceFormatted": "€ 9.500",
    "mileageKm": 129000,
    "firstRegistration": "08-2016",
    "transmission": "Schaltgetriebe",
    "fuelType": "Benzin",
    "power": "100 kW (136 PS)",
    "powerKw": 100,
    "powerHp": 136,
    "engineDisplacementCcm": 1499,
    "offerType": "U",
    "isUsed": true,
    "isDamaged": false,
    "availableNow": true,
    "country": "DE",
    "zip": "50374",
    "city": "Erftstadt",
    "street": "Klosengartenstraße 60",
    "sellerType": "Dealer",
    "sellerName": "Automobil 34",
    "sellerId": "62424246",
    "images": ["https://prod.pictures.autoscout24.net/listing-images/144b7c6e_39fe6a59.jpg/250x188.webp"],
    "scrapedAt": "2026-09-10T13:38:12.551Z"
  }
]
```

### Uses of This Data

- Track used-car prices by make, model, and age across a market
- Build pricing models and spot under-priced listings for dealers and traders
- Monitor a competitor dealership's inventory over time
- Analyse regional differences in supply, price, and mileage
- Feed valuation tools, marketplaces, and lead-generation workflows

### How to Use

1. [Sign up](https://apify.com/sign-up) for a free Apify account - includes **$5 monthly credit**.
2. Open the actor page and click **Try for free**.
3. Paste one or more AutoScout24 search URLs into the **Start URLs** field. Set up the filters you want on the website first, then copy the URL from your browser.
4. Click **Start** and wait for the run to complete.
5. Download results from the **Output** tab in JSON, CSV, or Excel format.

You can also run this actor via the [Apify API](https://docs.apify.com/api/v2) or integrate it directly into your workflows using [Zapier](https://zapier.com/apps/apify), [Make](https://www.make.com/), or [n8n](https://n8n.io/).

### Limitations & Known Issues

- **Search depth is capped by the site** - AutoScout24 itself only pages a search so far (around 20 pages / 400 cars), no matter how many results it reports. To collect more, split the work across several narrower searches (by model, price band, or region) rather than one broad one.
- **Field values keep the site's language** - `transmission`, `fuelType` and similar come back as the country domain writes them (e.g. `Schaltgetriebe`, `Benzin` on `.de`). The numeric fields are language-independent.
- **Prices exclude VAT handling** - the listed price is what the seller advertises; VAT deductibility and fees are not modelled.

### Notes

- **API integration** - This actor can be called as an API from any automation platform (Zapier, Make, n8n, custom scripts).
- **Data consistency with proxies** - AutoScout24 serves country-specific results, so use a proxy country that matches the domain you are scraping.

***

### Deutsche Anleitung (German)

**Was macht dieser Actor?** Er liest Fahrzeuginserate von AutoScout24 aus - Marke, Modell, Version, Preis, Kilometerstand, Erstzulassung, Getriebe, Kraftstoff, Leistung (kW und PS), Hubraum, Zustand, Standort, Händlerdaten und Fotos.

**Eingabefelder**

| Feld | Beschreibung |
|------|--------------|
| Start URLs | AutoScout24-Suchseiten oder einzelne Angebotsseiten. Stellen Sie die Filter zuerst auf der Website ein und kopieren Sie dann die URL aus dem Browser. |
| Max items per start URL | Maximale Anzahl Fahrzeuge pro Such-URL. |
| Project name (enables caching) | Projektname zum Aktivieren des Caches, z. B. "autohandel". Der Actor merkt sich die unter diesem Projekt gelieferten Inserate und überspringt sie bei späteren Läufen desselben Projekts. Jedes Projekt hat seinen eigenen Verlauf - ein anderer Name beginnt von vorn. Leer lassen, um jedes Mal alles zu erfassen. |
| Proxy configuration | Proxy-Einstellungen. Der Actor funktioniert auch ohne Proxy. |

**Wichtige Hinweise**

- AutoScout24 begrenzt die Blättertiefe einer Suche (ca. 20 Seiten / 400 Fahrzeuge), unabhängig von der angezeigten Gesamtzahl. Für mehr Daten teilen Sie die Suche in mehrere engere Suchen auf (nach Modell, Preisklasse oder Region).
- Textfelder wie `transmission` und `fuelType` werden in der Sprache der jeweiligen Länderdomain zurückgegeben. Die numerischen Felder (`price`, `mileageKm`, `powerKw`, `powerHp`) sind sprachunabhängig und direkt auswertbar.
- Alle Länderdomains (`.de`, `.at`, `.nl` usw.) werden unterstützt.

#### Frequently Asked Questions (FAQ)

***

**Q.  Which AutoScout24 country domains are supported?**

A. All of them - .de, .at, .nl, .it, .es, .fr, .be, and the rest. The site layout is the same across domains, so the Actor works the same way on each. Just make sure your proxy country (if you use one) matches the domain you're scraping, since AutoScout24 serves country-specific results.

***

**Q.  Can I scrape more than ~400 cars per search?**

A. Not from a single search URL as AutoScout24 itself caps how deep a search can be paged, around 20 pages / 400 cars, regardless of how many total results it reports. To collect more, split the work into several narrower searches. Just apply multiple filters on the AutoScout24 website (by model, price band, region, mileage, fuel type, etc.), then paste each filtered URL here as a separate Start URL. No need to worry about duplicates - if you use the same Project name, the Actor's cache will remember what it already returned for that project and automatically skip duplicate listings on later runs, so you only get new cars.

***

**Q.  How do I use filters like price, mileage, or fuel type?**

Set the filters on the AutoScout24 website first, then copy the URL from your browser and paste it into the Start URLs field. The Actor uses whatever filters are already in the URL. For example: https://www.autoscout24.de/lst/bmw/2er?priceto=15000\&kmto=150000.

***

**Q. What's the difference between a search URL and a single offer URL?**

A. search / results page URL returns many cars (up to your Max items per start URL). A single offer page URL returns exactly one item, regardless of the Max Items setting. You can mix both types in the same run.

***

**Q. What does the "Project name" field do?**

A. It enables cross-run caching. Set a project name (e.g. "social" or "autohandel") and the Actor remembers which car listings it already returned under that project, then skips them on later runs of the same project. Each project keeps its own separate history, so using a different name starts fresh. Leave it empty to scrape everything every time.

***

**Q. What happens if I leave "Max items per start URL" empty?**

A. The default is 20 cars per search URL. Single offer URLs always return exactly one item, no matter what you set here.

***

**Q.  Are the numbers returned as real numbers or as text?**

Real numbers. price, mileageKm, powerKw, powerHp, and engineDisplacementCcm come back as numeric values, so you can sort, filter, and calculate directly. Text fields like transmission and fuelType keep the site's language (e.g. Schaltgetriebe, Benzin on .de).

***

**Q. Can I integrate this Actor with Zapier, Make, or n8n?**

Yes. The Actor can be called as an API from any automation platform, including Zapier, Make, n8n, or your own custom scripts.

***

**Q. How fresh is the data, and how often can I run it?**

Data is scraped live each time you run the Actor. You can run it as often as you like - the optional project cache helps avoid re-collecting the same listings across runs.

What fields are included in each result?
Each record includes: id, url, make, model, modelGroup, variant, version, subtitle, price, priceFormatted, mileageKm, firstRegistration, transmission, fuelType, power, powerKw, powerHp, engineDisplacementCcm, offerType, isUsed, isDamaged, availableNow, country, zip, city, street, sellerType, sellerName, sellerId, images, and scrapedAt.

***

**Q. Can I use this data commercially?**

You are responsible for complying with AutoScout24's terms of service and any applicable laws in your jurisdiction. The Actor simply extracts publicly available listing data - how you use it is up to you.

***

### 🔗 Other Actors

| Category | Actor | What it does |
|----------|-------|--------------|
| 🎵 Social Media | [Instagram Reels Audio Scraper](https://apify.com/kinaesthetic_millionaire/instagram-reels-audio-scraper) | Extracts detailed data from Instagram Reels that use a given audio track. |
| 🏢 Company Data & Leads | [Kununu Company and Leads Scraper](https://apify.com/kinaesthetic_millionaire/kununu-company-and-leads-scraper) | Scrapes company profile data from kununu.com, including ratings, industry, headquarters location, and recommendation rate. |
| 🟢 Monitoring | [Website Uptime Checker](https://apify.com/kinaesthetic_millionaire/website-uptime-checker) | Monitors websites and APIs for availability, response time, SSL certificate expiry, and expected content, sending email or webhook alerts when something goes wrong. |
| 📈 SEO | [Ahrefs Website Authority Checker](https://apify.com/kinaesthetic_millionaire/ahref-website-authority-checker) | Extracts website authority metrics from Ahrefs including Domain Rating (DR), backlinks, and referring domains - useful for competitor analysis and link building. |
| 💼 Lead Generation | [Booksy Leads Scraper](https://apify.com/kinaesthetic_millionaire/booksy-leads-scraper) | Extracts business profiles from Booksy including names, addresses, phone numbers, emails, social media, and ratings. Built for beauty and wellness lead generation. |

### 🤝 Support

Need help or have questions?

- Email us at <info@parsedom.com>
- Or visit [parsedom.com](https://parsedom.com)
- Visit our profile on Fiverr: [fiverr.com/s/rEmNqEb](https://www.fiverr.com/s/rEmNqEb)
- Apify public page: [apify.com/kinaesthetic\_millionaire](https://apify.com/kinaesthetic_millionaire)
- You can also contact us if you want to build a custom actor.

Ready to scrape more listings? Add your URLs and start scraping! 🚀

# Actor input Schema

## `startUrls` (type: `array`):

AutoScout24 search (results) page URLs or single offer page URLs. Search URLs are paginated up to Max Items; offer URLs return that one car. All AutoScout24 country domains are supported.

## `maxItems` (type: `integer`):

Maximum number of car listings to scrape for each search start URL. Offer page start URLs always return exactly one item.

## `projectName` (type: `string`):

Set a project name to enable cross-run caching, for example "social". The Actor remembers the car listings it returned under that project and skips them in later runs of the same project. Each project keeps its own separate history, so using a different name starts fresh. Leave empty to scrape everything every time.

## `proxyConfiguration` (type: `object`):

Proxy settings used for all requests. The Actor works without a proxy; enable one if you see blocked requests on large runs.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.autoscout24.de/lst/bmw"
    }
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "DE"
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.autoscout24.de/lst/bmw"
        }
    ],
    "maxItems": 5,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "DE"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("kinaesthetic_millionaire/autoscout24-car-listings-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://www.autoscout24.de/lst/bmw" }],
    "maxItems": 5,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "DE",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("kinaesthetic_millionaire/autoscout24-car-listings-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.autoscout24.de/lst/bmw"
    }
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "DE"
  }
}' |
apify call kinaesthetic_millionaire/autoscout24-car-listings-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,kinaesthetic_millionaire/autoscout24-car-listings-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/6wHGgHwdRxWtpbAfi/builds/ihIFPJGAQ1CecOTS2/openapi.json
