# Kleinanzeigen Autos Scraper — Germany Car Listings (`nikse77/kleinanzeigen-autos-scraper`) Actor

Extract used car listings from kleinanzeigen.de, Germany's largest classifieds site. Get price, mileage, fuel type, transmission, condition, TÜV inspection date, seller details and photos. Fast HTTP scraping — no browser needed. Automatically bypasses the site's 1,250-result search cap.

- **URL**: https://apify.com/nikse77/kleinanzeigen-autos-scraper.md
- **Developed by:** [A L](https://apify.com/nikse77) (community)
- **Categories:** Automation, Lead generation, E-commerce
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Kleinanzeigen Autos Scraper — Germany Car Listings

### What does Kleinanzeigen Autos Scraper do?

This Actor extracts **used car listings from [kleinanzeigen.de](https://www.kleinanzeigen.de)**, Germany's largest classifieds site (formerly eBay Kleinanzeigen) with over 200,000 vehicles listed at any time. For every listing you get **price, mileage, first registration, fuel type, transmission, condition, inspection (HU/TÜV) date, seller details and photos** — extracted via fast HTTP requests (no browser), which keeps runs quick and cheap.

Running on the Apify platform gives you API access, scheduling, webhooks, integrations (Google Sheets, Make, Zapier, LangChain) and run monitoring out of the box.

### Why scrape Kleinanzeigen Autos?

- **Price intelligence** — track used-car prices by make, model and region across Germany, Europe's largest car market.
- **Lead generation** — build lists of private sellers and commercial dealers with location and listing details.
- **Deal hunting** — filter by price band and spot underpriced or negotiable ("VB") listings as soon as they're posted.
- **Market research & AI agents** — feed clean, structured JSON to dashboards, pricing models or LLM agents.

### How to use Kleinanzeigen Autos Scraper

1. Open the Actor and click **Try for free**.
2. Go to [kleinanzeigen.de/s-autos](https://www.kleinanzeigen.de/s-autos), apply whatever filters you want (make, price, location), then **copy the resulting URL** and paste it into **Start URLs**.
3. Set **Max listings** and click **Start**.
4. Download the dataset as **JSON, CSV, Excel or HTML**, or read it via API.

### Input

```json
{
    "startUrls": [{ "url": "https://www.kleinanzeigen.de/s-autos/preis:1000:5000/c216" }],
    "maxItems": 500
}
````

#### ✨ Bypass the 1,250-results limit

kleinanzeigen.de only serves the first **50 pages (~1,250 results)** of any search. When your search matches more, this Actor **automatically splits it into narrower price bands** and crawls each band separately, so you can extract *all* matching listings. Enabled by default (`splitLargeSearches`) — requires the search URL to already include a `preis:min:max` price filter.

### Output

One JSON object per listing. Example (shortened):

```json
{
    "id": "3450933490",
    "url": "https://www.kleinanzeigen.de/s-anzeige/bmw-x5-3-0d-automatik-aus-10-2002-tuev-02-28/3450933490-216-2197",
    "title": "BMW X5 3.0d Automatik aus 10/2002 TÜV 02/28",
    "price": 2000,
    "priceFormatted": "2.000 €",
    "negotiable": true,
    "make": "BMW",
    "model": "X5",
    "mileageKm": 380000,
    "firstRegistration": "Oktober 2002",
    "fuel": "Diesel",
    "transmission": "Automatik",
    "condition": "Beschädigtes Fahrzeug",
    "inspectionValidUntil": "Februar 2028",
    "sellerName": "HW Autoteile",
    "sellerType": "commercial",
    "location": "39387 Sachsen-Anhalt - Oschersleben (Bode)",
    "images": ["https://img.kleinanzeigen.de/api/v1/prod-ads/images/....AUTO"]
}
```

#### Main data fields

| Field | Description |
| --- | --- |
| `price`, `priceFormatted`, `negotiable` | Price in EUR; `negotiable` flags listings marked "VB" (Verhandlungsbasis) |
| `make`, `model` | Vehicle make and model |
| `mileageKm`, `firstRegistration`, `fuel`, `transmission`, `condition`, `inspectionValidUntil` | Technical specs, parsed to clean values |
| `sellerName`, `sellerType` | Seller display name and `private`/`commercial` classification |
| `location` | City/region as shown on the ad |
| `images` | Full-size photo URLs |

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

Pricing is **pay-per-event**: a small fee per Actor start plus a fee per listing scraped. You are only charged for **unique listings actually saved** — duplicates are filtered out for free. A typical 500-listing run completes in well under a minute.

### Tips

- Keep **Max listings** close to what you need — you pay per result.
- Narrower searches (price band, specific model in the URL) run faster and stay under the 1,250-result cap without needing to split.
- Schedule the Actor daily and connect a webhook to catch newly listed cars or price drops.

### FAQ & disclaimers

**Is it legal to scrape Kleinanzeigen?** This Actor extracts publicly available listing data only. Note that private-seller listings may include a display name; make sure you have a legitimate basis to process any personal data under GDPR and use it responsibly. You are responsible for complying with applicable laws and the target site's terms.

**Only the Autos category is supported.** The attribute parsing (make, mileage, fuel, etc.) is specific to vehicle listings; other Kleinanzeigen categories use different attribute labels.

**Found a bug or missing field?** Open an issue in the **Issues** tab — feedback is usually addressed within days. Custom solutions available on request.

# Actor input Schema

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

One or more kleinanzeigen.de search URLs from the Autos category. Apply your filters (make, price, location, etc.) on the site, then paste the resulting search URL here, e.g. https://www.kleinanzeigen.de/s-autos/preis:1000:5000/c216

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

Maximum number of listings to scrape. You are only charged for unique listings actually saved to the dataset.

## `splitLargeSearches` (type: `boolean`):

kleinanzeigen.de only serves the first ~1,250 results of any search (50 pages). When enabled, searches with a price filter and more matches are automatically split into narrower price bands so you can retrieve all matching listings.

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

Proxies to use. Apify automatic proxies are recommended.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.kleinanzeigen.de/s-autos/preis:1000:5000/c216"
    }
  ],
  "maxItems": 100,
  "splitLargeSearches": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://www.kleinanzeigen.de/s-autos/preis:1000:5000/c216"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("nikse77/kleinanzeigen-autos-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.kleinanzeigen.de/s-autos/preis:1000:5000/c216" }],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("nikse77/kleinanzeigen-autos-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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.kleinanzeigen.de/s-autos/preis:1000:5000/c216"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call nikse77/kleinanzeigen-autos-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nikse77/kleinanzeigen-autos-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kleinanzeigen Autos Scraper — Germany Car Listings",
        "description": "Extract used car listings from kleinanzeigen.de, Germany's largest classifieds site. Get price, mileage, fuel type, transmission, condition, TÜV inspection date, seller details and photos. Fast HTTP scraping — no browser needed. Automatically bypasses the site's 1,250-result search cap.",
        "version": "0.1",
        "x-build-id": "xSTemr4nIsHrphFvZ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nikse77~kleinanzeigen-autos-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nikse77-kleinanzeigen-autos-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/nikse77~kleinanzeigen-autos-scraper/runs": {
            "post": {
                "operationId": "runs-sync-nikse77-kleinanzeigen-autos-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/nikse77~kleinanzeigen-autos-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-nikse77-kleinanzeigen-autos-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "One or more kleinanzeigen.de search URLs from the Autos category. Apply your filters (make, price, location, etc.) on the site, then paste the resulting search URL here, e.g. https://www.kleinanzeigen.de/s-autos/preis:1000:5000/c216",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItems": {
                        "title": "Max listings",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of listings to scrape. You are only charged for unique listings actually saved to the dataset.",
                        "default": 100
                    },
                    "splitLargeSearches": {
                        "title": "Bypass the 1,250-results limit",
                        "type": "boolean",
                        "description": "kleinanzeigen.de only serves the first ~1,250 results of any search (50 pages). When enabled, searches with a price filter and more matches are automatically split into narrower price bands so you can retrieve all matching listings.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxies to use. Apify automatic proxies are recommended.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
