# AutoScout24 Scraper — European Used Car Listings & Prices (`studio-amba/autoscout24-scraper`) Actor

Scrape car listings from AutoScout24.com, Europe's largest online car marketplace. Extract prices, specs, mileage, fuel type, seller info, and images from 8+ countries (DE, AT, NL, BE, IT, FR, ES, CH). No login or cookies required.

- **URL**: https://apify.com/studio-amba/autoscout24-scraper.md
- **Developed by:** [Studio Amba](https://apify.com/studio-amba) (community)
- **Categories:** Other
- **Stats:** 9 total users, 1 monthly users, 96.9% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 result scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

### What does AutoScout24 Scraper do?

Know which used cars match your price, mileage, and spec across [AutoScout24](https://www.autoscout24.com)'s 8 European markets (Germany, Austria, Netherlands, Belgium, Italy, France, Spain, Switzerland), without paging through listings by hand. No login or cookies required.

Search by make, model, or free text, filter by price, mileage, fuel type, and year, and get structured JSON, CSV, or Excel output in minutes via the Apify platform, with scheduling, integrations, and proxy rotation built in.

### Why use AutoScout24 Scraper?

- **Market research** — Compare car prices across European countries
- **Price monitoring** — Track price changes for specific makes and models over time
- **Dealer intelligence** — Analyze dealer inventory and pricing strategies
- **Data analytics** — Build datasets for automotive market analysis
- **Lead generation** — Find cars matching specific criteria across all of Europe
- **Academic research** — Study used car market trends, depreciation curves, pricing patterns

### How to use AutoScout24 Scraper

1. Go to the **Input** tab
2. Enter a search query (e.g., "bmw") or select a make/model
3. Set your filters: country, price range, mileage, fuel type, year
4. Set the maximum number of results you need
5. Click **Start** and wait for the run to finish
6. Download your data from the **Output** tab in JSON, CSV, Excel, or other formats

### Input

| Field | Type | Description |
|-------|------|-------------|
| `query` | string | Free text search (e.g., "golf gti", "tesla model 3") |
| `make` | string | Car manufacturer slug (e.g., bmw, volkswagen, mercedes-benz) |
| `model` | string | Car model slug (e.g., 3-series, golf, c-class) |
| `yearFrom` / `yearTo` | integer | First registration year range |
| `priceFrom` / `priceTo` | integer | Price range in EUR |
| `mileageFrom` / `mileageTo` | integer | Mileage range in km |
| `fuelType` | string | B=Petrol, D=Diesel, E=Electric, L=LPG, C=CNG |
| `transmission` | string | A=Automatic, M=Manual |
| `country` | string | Country codes: D, A, B, NL, I, F, E, CH (comma-separated) |
| `sort` | string | Sort by: standard, price, mileage, age |
| `maxResults` | integer | Max listings to return (default: 100, max: 4000) |
| `proxyConfiguration` | object | Proxy settings for reliability |

### Output

Each car listing includes the following fields. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

```json
{
    "make": "BMW",
    "model": "320",
    "modelGroup": "3 Series",
    "variant": "Coupe",
    "title": "BMW 320 d Coupe Automatik*Xenon*Navi Prof*Schiebedach",
    "year": 2015,
    "mileage": 172360,
    "fuelType": "Diesel",
    "transmission": "Automatic",
    "power": "1,995 cc",
    "price": 10899,
    "currency": "EUR",
    "priceType": "fair-price",
    "offerType": "Used",
    "sellerType": "Dealer",
    "sellerName": "Autowelt Sudring Berlin",
    "city": "Berlin",
    "zip": "12055",
    "country": "DE",
    "imageUrls": [
        "https://prod.pictures.autoscout24.net/listing-images/...jpg/720x540.webp"
    ],
    "url": "https://www.autoscout24.com/offers/bmw-320-d-coupe-...",
    "listingId": "4a801222-5d50-4fd6-bd20-5b022f9019c7",
    "scrapedAt": "2026-04-06T12:00:00.000Z"
}
```

### Data fields

| Field | Description | Example |
|-------|-------------|---------|
| `make` | Manufacturer | BMW |
| `model` | Model | 320 |
| `modelGroup` | Series/group | 3 Series |
| `variant` | Body type | Sedan, Coupe, SUV |
| `year` | Registration year | 2015 |
| `mileage` | Kilometers driven | 172360 |
| `fuelType` | Fuel type | Diesel, Gasoline, Electric |
| `transmission` | Gearbox type | Automatic, Manual |
| `price` | Listed price | 10899 |
| `currency` | Price currency | EUR, CHF |
| `sellerType` | Seller category | Dealer, Private |
| `country` | Seller country | DE, AT, NL, BE, IT, FR, ES |

### How much does it cost to scrape AutoScout24?

AutoScout24 Scraper uses simple HTTP requests (no browser needed), making it very efficient:

- **100 results** cost approximately **$0.01** in Apify platform credits
- **1,000 results** cost approximately **$0.05**
- **4,000 results** (maximum per search) cost approximately **$0.15**

The Apify Free plan includes $5 of monthly credits, which is enough for thousands of car listings.

### Tips and advanced options

- **Use make/model for precision** — Free text search returns broad results. Use the `make` and `model` fields for targeted searches.
- **Combine filters** — Narrow results with price, mileage, year, and fuel type filters for focused datasets.
- **Multi-country search** — Search across all European markets at once or target specific countries.
- **Sort by price** — Set `sort` to "price" to get cheapest/most expensive listings first.
- **Schedule runs** — Set up daily or weekly scraping to track price changes over time.

### FAQ and support

**Is it legal to scrape AutoScout24?**
AutoScout24 Scraper accesses only publicly available data that any visitor can see. It does not require login, bypass authentication, or access private data. Always review and comply with the target website's Terms of Service before use.

**What are the limitations?**
AutoScout24 returns a maximum of 4,000 results per search query (200 pages x 20 listings). Use filters to narrow your search if you need data from larger result sets.

**I found a bug or need help**
Please submit an issue on the [Issues tab](https://console.apify.com/actors/autoscout24-scraper/issues) and we'll get back to you quickly. For custom scraping solutions, reach out via the same channel.

### How to scrape Autoscout24 data

1. Go to this actor's page on the [Apify Store](https://apify.com/store).
2. Click **Try for free** to open it in Apify Console.
3. Configure your search query or URL, set the maximum number of results, and adjust proxy settings if needed.
4. Click **Start** and wait for the run to finish.
5. Download your data in JSON, CSV, Excel, or connect it to your workflow via API.

You can also schedule regular runs, set up webhooks for real-time notifications, or integrate the results directly into your application using the [Apify API](https://docs.apify.com/api).

# Actor input Schema

## `query` (type: `string`):

Free text search (e.g., 'golf gti', 'tesla model 3'). Note: AutoScout24 serves make/model searches more reliably than free text — prefer Make/Model below.

## `make` (type: `string`):

Car manufacturer (e.g., bmw, volkswagen, mercedes-benz, audi, toyota). Used in URL path for precise, reliable filtering. This is the recommended way to search.

## `model` (type: `string`):

Car model (e.g., 3-series, golf, c-class). Must be used together with Make. Use URL-friendly slugs.

## `yearFrom` (type: `integer`):

Minimum first registration year (e.g., 2018).

## `yearTo` (type: `integer`):

Maximum first registration year (e.g., 2024).

## `priceFrom` (type: `integer`):

Minimum price in EUR.

## `priceTo` (type: `integer`):

Maximum price in EUR.

## `mileageFrom` (type: `integer`):

Minimum mileage in kilometers.

## `mileageTo` (type: `integer`):

Maximum mileage in kilometers.

## `fuelType` (type: `string`):

Filter by fuel type.

## `transmission` (type: `string`):

Filter by transmission type.

## `country` (type: `string`):

Country codes (comma-separated). D=Germany, A=Austria, B=Belgium, NL=Netherlands, I=Italy, F=France, E=Spain, CH=Switzerland.

## `sort` (type: `string`):

Sort results.

## `sortDescending` (type: `boolean`):

Sort in descending order (highest first).

## `maxResults` (type: `integer`):

Maximum number of car listings to return. AutoScout24 allows max 4,000 per search (200 pages x 20).

## `brightDataApiKey` (type: `string`):

Optional: your own Bright Data API key for the Web Unlocker zone. Leave empty to use the built-in unlocking service.

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

Legacy field, kept for backwards compatibility. Fetching now goes through the built-in Bright Data Web Unlocker, so this is ignored.

## Actor input object example

```json
{
  "make": "bmw",
  "country": "D,A,B,NL,I,F,E",
  "sort": "standard",
  "sortDescending": false,
  "maxResults": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (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 = {
    "make": "bmw",
    "country": "D,A,B,NL,I,F,E",
    "maxResults": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("studio-amba/autoscout24-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 = {
    "make": "bmw",
    "country": "D,A,B,NL,I,F,E",
    "maxResults": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("studio-amba/autoscout24-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 '{
  "make": "bmw",
  "country": "D,A,B,NL,I,F,E",
  "maxResults": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call studio-amba/autoscout24-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,studio-amba/autoscout24-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/jB2a4gY2hmOvmvbSk/builds/iskcjTeIoBwnSY2fs/openapi.json
