# Kleinanzeigen Autos Scraper - Gebrauchtwagen & Händler (`clearpath/kleinanzeigen-autos-scraper`) Actor

Gebrauchtwagen von Kleinanzeigen als Tabelle: 16 Fahrzeugfilter wie Marke, Modell, Erstzulassung, Kilometerstand und PS, von Händlern und privat. Mit Verkäuferprofil und Händler-Kontakt, kompletter Händlerbestand per Link. Monitor-Modus liefert nur neue Autos.

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

## Pricing

from $0.99 / 1,000 listings

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![Gebrauchtwagen von Kleinanzeigen. 16 Fahrzeugfilter. Händler und Privat.](https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/kleinanzeigen-autos-scraper-hero-58203e383884.png)](https://console.apify.com/actors/XxlkGFAZXSMeul0qx/input)

Von **Clearpath**, den Entwicklern von [Kleinanzeigen Immobilien Pro](https://apify.com/clearpath/kleinanzeigen-immobilien-api-pro), [Kleinanzeigen Nachrichten](https://apify.com/clearpath/kleinanzeigen-message-api) und [ImmoScout24 Pro](https://apify.com/clearpath/immoscout24-api-pro). Dieselbe Engine wie Kleinanzeigen Immobilien Pro, mit eigenen Fahrzeugspalten.

### Warum diesen Actor wählen?

**16 Fahrzeugfilter, direkt im Formular.** Marke, Modell, Erstzulassung, Kilometerstand, Leistung, Kraftstoff, Getriebe, Karosserie, Türen, Farbe, Innenausstattung, Schadstoffklasse, Umweltplakette, HU, Schaden und Ausstattung. Oder du fügst die Adresse deiner Autos-Suche von kleinanzeigen.de ein.

**Jedes Auto als saubere Tabellenzeile.** Kilometerstand und Leistung als Zahl, Erstzulassung als Datum, Kraftstoff, Getriebe, Karosserie und Ausstattung als Wert und lesbare Bezeichnung. Dazu Preis, Preisart, Beschreibung, Bilder und Ort mit Koordinaten.

**Händler und Privat, mit Verkäuferprofil.** Filtere nach privaten Verkäufern oder Händlern. Jede Zeile trägt das öffentliche Verkäuferprofil, soweit veröffentlicht: Bewertung, Abzeichen, Follower und Inseratszahlen, bei Händlern mit Shop auch Website, Telefon, Adresse und Öffnungszeiten. Händler-Links liefern den kompletten Bestand eines Händlers.

<a href="https://console.apify.com/actors/XxlkGFAZXSMeul0qx/input"><img src="https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/kleinanzeigen-immobilien-pro-cta-810219b60617.svg" width="260" height="48" alt="Eigene Autosuche bei Kleinanzeigen testen"/></a>

### Mit 20 Autos starten

Das Beispiel sucht VW Golf in ganz Deutschland, von Händlern und privat, mit Verkäuferdaten.

```json
{
    "make": "volkswagen",
    "models": [
        "Golf"
    ],
    "maxResults": 20
}
```

[Actor-Eingabe öffnen](https://console.apify.com/actors/XxlkGFAZXSMeul0qx/input), Fahrzeugfelder anpassen und starten. Exportiere als JSON, CSV oder Excel; JSON behält Ausstattungslisten, Bilder und Öffnungszeiten. Die aktuellen Konditionen findest du in der [Preisliste](https://apify.com/clearpath/kleinanzeigen-autos-scraper/pricing).

<table><tr><td colspan="5" style="background:#B7E841;color:#203B12;padding:10px 14px;font-size:13px;font-weight:700">Clearpath · Kleinanzeigen-Suite</td></tr><tr><td style="background:#F0F9D8;padding:10px 10px;border:1px solid #C9D9A4;vertical-align:top;width:20%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-Yu9fmARTOt79Ungbn-PTLhKqKWa5-kleinanzeigen-immobilien-api-pro-logo.png" width="20" height="20" alt="" style="vertical-align:middle"/>&nbsp;&nbsp;<a href="https://apify.com/clearpath/kleinanzeigen-scraper" style="color:#203B12;text-decoration:none;font-weight:700;font-size:13px">Kleinanzeigen</a></span><br><span style="color:#425523;font-size:12px;white-space:nowrap">Alle Kategorien</span></td><td style="background:#DDF69B;padding:10px 10px;border:1px solid #C9D9A4;vertical-align:top;width:20%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-Yu9fmARTOt79Ungbn-PTLhKqKWa5-kleinanzeigen-immobilien-api-pro-logo.png" width="20" height="20" alt="" style="vertical-align:middle"/>&nbsp;&nbsp;<a href="https://apify.com/clearpath/kleinanzeigen-autos-scraper" style="color:#203B12;text-decoration:none;font-weight:700;font-size:13px">Autos</a></span><br><span style="color:#425523;font-size:12px;white-space:nowrap">Du bist hier</span></td><td style="background:#F0F9D8;padding:10px 10px;border:1px solid #C9D9A4;vertical-align:top;width:20%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-Yu9fmARTOt79Ungbn-PTLhKqKWa5-kleinanzeigen-immobilien-api-pro-logo.png" width="20" height="20" alt="" style="vertical-align:middle"/>&nbsp;&nbsp;<a href="https://apify.com/clearpath/kleinanzeigen-immobilien-api-pro" style="color:#203B12;text-decoration:none;font-weight:700;font-size:13px">Immobilien</a></span><br><span style="color:#425523;font-size:12px;white-space:nowrap">Inserate & Details</span></td><td style="background:#F0F9D8;padding:10px 10px;border:1px solid #C9D9A4;vertical-align:top;width:20%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-P37iR62zVMGSIzz8P-HDthE5mbAT-kleinanzeigen-immobilien-api-pro-logo.png" width="20" height="20" alt="" style="vertical-align:middle"/>&nbsp;&nbsp;<a href="https://apify.com/clearpath/kleinanzeigen-message-api" style="color:#203B12;text-decoration:none;font-weight:700;font-size:13px">Nachrichten</a></span><br><span style="color:#425523;font-size:12px;white-space:nowrap">Senden & empfangen</span></td><td style="background:#F0F9D8;padding:10px 10px;border:1px solid #C9D9A4;vertical-align:top;width:20%"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-rfUFdb0huw88MIU1k-h35QRTa0k4-immobilien-export-pro-logo2.png" width="20" height="20" alt="" style="vertical-align:middle"/>&nbsp;&nbsp;<a href="https://apify.com/clearpath/immobilien-export-pro" style="color:#203B12;text-decoration:none;font-weight:700;font-size:13px">Immo-Export</a></span><br><span style="color:#425523;font-size:12px;white-space:nowrap">Drei Portale</span></td></tr></table>

#### Copy to your AI assistant

```
clearpath/kleinanzeigen-autos-scraper on Apify: used cars from kleinanzeigen.de, dealers and private sellers, one row per car with typed vehicle columns (make, model, first_registration, mileage_km, power_ps, fuel, transmission, equipment and more, each with a readable label). Paste Autos search, dealer store (/pro/...), seller-inventory or listing URLs in startUrls (their filters apply and the car fields are ignored), or set make plus models (needs make; an unknown model stops the run before any listing is charged), minYear/maxYear, minMileage/maxMileage, minPowerPs/maxPowerPs, fuels, transmission, bodyTypes, equipment and the other car fields. posterType=COMMERCIAL returns dealers only, PRIVATE private sellers only. maxResults caps each search; 0 returns every reachable result (over 99%), also beyond the site's 10,000 per search. Dealer website, phones, address and opening hours need includeSellerDetails=true (the default) and exist only for dealers with a store. monitorMode=true stores only cars new since the previous run of the same search; its first run stores nothing. With monitorMode, telegramUserId (numeric) sends one Telegram message per new listing, up to telegramNotificationLimit (default 10); the user must first send /start to @clearpath_api_bot. Pricing: pay per event, $0.005 per run start plus $1.49 per 1,000 cars on the Free plan ($1.39 Bronze, $1.29 Silver, $0.99 Gold and above). Full spec (input schema, dataset views, README): GET https://api.apify.com/v2/acts/clearpath~kleinanzeigen-autos-scraper/builds/default with Authorization: Bearer. To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: feature requests, a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
```

### Was wird extrahiert

- **Fahrzeug:** Marke, Modell, Erstzulassung (Monat und Jahr), Kilometerstand in km, Leistung in PS, Kraftstoff, Getriebe, Karosserie, Türen, Außenfarbe, Innenausstattung, Schadstoffklasse, Umweltplakette, HU bis, Schaden, Ausstattung, jeweils als Wert und lesbare Bezeichnung
- **Inserat:** ID, URL, Titel, vollständige Beschreibung, Status, Angebot oder Gesuch, Einstell- und Änderungsdatum, alle weiteren Merkmale
- **Preis:** Preis, Preisart als Code mit Bezeichnung (Fixed price, Negotiable = VB), ursprünglicher Preis, Preisvorschlag möglich, Direktkauf, sicheres Bezahlen, Finanzierung
- **Ort:** PLZ, Ort, Straße (falls angegeben), Bundesland, Koordinaten
- **Verkäufer:** ID, Name, privat oder gewerblich, Kontotyp, aktiv seit, Bewertung, Abzeichen, Follower, aktive und bisherige Inserate, Link zum Bestand, Telefon und Impressum aus dem Inserat (falls angegeben)
- **Händler-Shop (bei Händlern mit Shop):** Name, Link, Logo, Website, Telefonnummern, Adresse, Koordinaten, Öffnungszeiten, Beschreibung, Impressum
- **Medien:** Bilder in fünf Größen, Dokumente, weitere Medien-Links

Felder ohne Angabe im Inserat bleiben leer (`null` oder leerer Text). Die meisten Autohändler haben keinen Shop; dann bleiben die Shopfelder leer, Telefon und Impressum aus dem Inserat kommen trotzdem, falls angegeben. Mit `includeSellerDetails: false` schaltest du die Verkäufer- und Shopdaten ab.

### Autos von Kleinanzeigen scrapen: so geht's

#### 1. Suche über Fahrzeugfelder

```json
{
    "make": "bmw",
    "models": [
        "3er"
    ],
    "minYear": 2018,
    "maxMileage": 150000,
    "fuels": [
        "diesel"
    ],
    "transmission": "automatik",
    "location": "München",
    "radius": 100,
    "maxPrice": 30000,
    "posterType": "COMMERCIAL",
    "maxResults": 200
}
```

#### 2. Such-URL einfügen

Stell die Autos-Suche auf [kleinanzeigen.de](https://www.kleinanzeigen.de) ein und kopier die Adresse. Alle Filter der URL werden übernommen.

```json
{
    "startUrls": [
        "https://www.kleinanzeigen.de/s-autos/bmw/anbieter:gewerblich/c216+autos.marke_s:bmw"
    ],
    "maxResults": 100
}
```

#### 3. Bestand eines Händlers

Die Adresse eines Händler-Shops (`/pro/…`) oder eines Verkäuferbestands (`/s-bestandsliste.html?userId=…`) liefert alle Autos dieses Händlers.

```json
{
    "startUrls": [
        "https://www.kleinanzeigen.de/s-bestandsliste.html?userId=167037114"
    ],
    "maxResults": 500
}
```

### Input-Parameter

| Parameter | Typ | Standard | Bedeutung |
|---|---|---|---|
| `startUrls` | array | -- | Autos-Such-, Händler- oder Anzeigen-URLs, bis zu 100 Suchen pro Lauf. Sind URLs angegeben, werden die Fahrzeugfelder ignoriert. |
| `maxResults` | integer | `0` | Höchstzahl Autos pro Suche. `0` = alle erreichbaren Treffer (über 99 %). |
| `make` / `models` | string / array | -- | Marke und ein oder mehrere Modelle, z. B. `bmw` und `["3er"]`. |
| `minYear` / `maxYear` | integer | -- | Erstzulassung von/bis. |
| `minMileage` / `maxMileage` | integer | -- | Kilometerstand in km. |
| `minPowerPs` / `maxPowerPs` | integer | -- | Leistung in PS. |
| `fuels`, `bodyTypes`, `doors`, `colors`, `emissionClasses`, `environmentBadges` | array | -- | Ein oder mehrere Werte, siehe Input-Tab. |
| `transmission`, `interior` | string | -- | Getriebe, Innenausstattung. |
| `minInspectionYear` | string | -- | HU gültig mindestens bis zu diesem Jahr. |
| `damage` | string | `any` | `any`, `undamaged` oder `damaged`. |
| `equipment` | array | -- | Ausstattung, die jedes Auto haben muss. |
| `keyword`, `location`, `radius`, `minPrice`, `maxPrice` | string / integer | -- | Suchbegriff, Ort, Umkreis in km, Preisgrenzen in EUR. |
| `posterType` | string | `ALL` | `ALL`, `PRIVATE` oder `COMMERCIAL` (Händler). |
| `adType` | string | `ALL` | `ALL`, `OFFERED` oder `WANTED`. |
| `sorting` | string | `newest` | `newest`, `price_asc`, `price_desc`, `distance`. |
| `includeSellerDetails` | boolean | `true` | Verkäufer- und Händlerdaten ergänzen. |
| `monitorMode` | boolean | `false` | Nur neue Autos seit dem letzten Lauf speichern. |
| `telegramUserId` | string | -- | Deine Telegram-Nutzer-ID für eine Nachricht pro neuem Inserat im Monitor-Modus. |
| `telegramNotificationLimit` | integer | `10` | Höchstzahl Telegram-Nachrichten pro Lauf. |

Alle Werte der Auswahlfelder findest du im [Input-Tab](https://console.apify.com/actors/XxlkGFAZXSMeul0qx/input).

### Output-Beispiel

Ein echtes Golf-Inserat eines Händlers mit Shop. Verkäufer- und Shopangaben sind im Beispiel anonymisiert; `pictures` und `attributes` sind auf die ersten Einträge gekürzt.

```json
{
    "id": "3430012355",
    "url": "https://www.kleinanzeigen.de/s-anzeige/vw-golf-5-mit-viel-extras-und-sehr-zuverlaessig/3430012355-216-392",
    "title": "VW Golf 5 mit viel Extras und sehr zuverlässig",
    "make": "volkswagen",
    "make_label": "Volkswagen",
    "model": "golf",
    "model_label": "Weitere Golf",
    "fuel": "benzin",
    "fuel_label": "Benzin",
    "transmission": "manuell",
    "transmission_label": "Manuell",
    "body_type": "kleinwagen",
    "body_type_label": "Kleinwagen",
    "emission_class": "euro4",
    "emission_class_label": "Euro4",
    "emission_sticker": "4_gruen",
    "emission_sticker_label": "4 (Grün)",
    "exterior_color": "schwarz",
    "exterior_color_label": "Schwarz",
    "interior_material": "stoff",
    "interior_material_label": "Stoff",
    "first_registration": "2007-03",
    "first_registration_year": 2007,
    "mileage_km": 149000,
    "power_ps": 80,
    "doors": "2/3",
    "inspection_until": "2027-02",
    "damaged": false,
    "damage_label": "Unbeschädigtes Fahrzeug",
    "equipment": [
        "xenon_led_light",
        "air_conditioning",
        "navi",
        "radio_tuner",
        "bluetooth",
        "handsfree_speaker",
        "abs"
    ],
    "equipment_labels": [
        "Xenon-/LED-Scheinwerfer",
        "Klimaanlage",
        "Navigationssystem",
        "Radio/Tuner",
        "Bluetooth",
        "Freisprecheinrichtung",
        "Antiblockiersystem (ABS)"
    ],
    "description": "Golf im Kundenauftrag zu verkaufen\nWeitere Informationen folgen",
    "description_content_type": "text/plain",
    "status": "ACTIVE",
    "category_id": "216",
    "category": "Autos",
    "category_key": "Autos",
    "parent_category_id": "210",
    "ad_type": "OFFERED",
    "ad_type_label": "Offer",
    "price": 2499,
    "price_currency": "EUR",
    "price_type": "PLEASE_CONTACT",
    "price_type_label": "Negotiable",
    "original_price": null,
    "offer_allowed": false,
    "buy_now": false,
    "secure_payment_possible": false,
    "buyer_fee_eur": null,
    "shipping_options": null,
    "financing_eligible": false,
    "financing": null,
    "zip_code": "66123",
    "city": "St Johann",
    "street": "",
    "latitude": 49.25,
    "longitude": 7.02,
    "location_id": "392",
    "location": "66123 St Johann",
    "region": "Saarland",
    "seller_id": "10000001",
    "seller_name": "Verkäufer",
    "seller_initials": "V",
    "poster_type": "COMMERCIAL",
    "poster_type_label": "Commercial seller",
    "seller_account_type": "PRO",
    "seller_account_type_label": "Pro store",
    "seller_package": "Pro Power",
    "seller_since": "2015-04-21T16:57:38+02:00",
    "seller_rating": 0.75,
    "seller_badges": [
        {
            "name": "rating",
            "level": "2"
        },
        {
            "name": "friendliness",
            "level": "1"
        },
        {
            "name": "reliability",
            "level": "1"
        }
    ],
    "seller_inventory_url": "https://www.kleinanzeigen.de/s-bestandsliste.html?userId=10000001",
    "store_id": "100001",
    "store_name": "Beispiel Shop",
    "store_url": "https://www.kleinanzeigen.de/pro/beispiel-shop",
    "phone": null,
    "imprint": "Beispiel Shop\nMusterstraße 1\n66123 Saarbrücken",
    "attributes": [
        {
            "key": "autos.marke",
            "label": "Marke",
            "value": "volkswagen",
            "value_label": "Volkswagen",
            "unit": null
        },
        {
            "key": "autos.model",
            "label": "Modell",
            "value": "golf",
            "value_label": "Weitere Golf",
            "unit": null
        },
        {
            "key": "autos.km",
            "label": "Kilometerstand",
            "value": "149000",
            "value_label": "149.000",
            "unit": "km"
        },
        {
            "key": "autos.schaden",
            "label": "Fahrzeugzustand",
            "value": "nein",
            "value_label": "Unbeschädigtes Fahrzeug",
            "unit": null
        }
    ],
    "other_attributes": null,
    "external_reference_id": null,
    "pictures": [
        {
            "thumbnail_url": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/24/249df036-4a20-4f51-a84d-804c02fa3d84?rule=$_0.JPG",
            "teaser_url": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/24/249df036-4a20-4f51-a84d-804c02fa3d84?rule=$_2.JPG",
            "web_url": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/24/249df036-4a20-4f51-a84d-804c02fa3d84?rule=$_1.JPG",
            "extra_large_url": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/24/249df036-4a20-4f51-a84d-804c02fa3d84?rule=$_59.JPG",
            "full_url": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/24/249df036-4a20-4f51-a84d-804c02fa3d84?rule=$_57.JPG"
        }
    ],
    "documents": null,
    "medias": null,
    "placeholder_image": false,
    "features_active": null,
    "labels": null,
    "posted_via": "8",
    "posted_via_label": "Android app",
    "posted_at": "2026-10-06T11:06:16+02:00",
    "edited_at": "2026-09-07T18:41:19+02:00",
    "scraped_at": "2026-10-06T16:33:52.903671+00:00",
    "seller_followers": 671,
    "seller_online_listings": 41,
    "seller_total_listings": 1136,
    "store_logo_url": "https://img.kleinanzeigen.de/api/v1/prod-user/images/00/00000000-0000-0000-0000-000000000000?rule=$_12.JPG",
    "store_website": "https://www.example.com",
    "store_phone": "030 0000000",
    "store_phone_2": null,
    "store_street": "Musterstraße 1",
    "store_zip_code": "66123",
    "store_location": "Saarbrücken - Saarbrücken-Mitte",
    "store_latitude": 49.25,
    "store_longitude": 7.01,
    "store_opening_hours": [
        {
            "days": "Mo - Fr:",
            "hours": [
                "08:00 - 12:00",
                "13:00 - 17:00"
            ]
        },
        {
            "days": "Sa:",
            "hours": [
                "09:00 - 12:00"
            ]
        }
    ],
    "store_description": "Willkommen im Beispiel Shop.",
    "store_imprint": "Beispiel Shop\nMusterstraße 1\n66123 Saarbrücken"
}
```

### Monitor-Modus: nur neue Inserate

Mit `monitorMode` speichert ein Lauf nur Inserate, die seit dem letzten Lauf derselben Suche neu dazugekommen sind.

1. **Erster Lauf:** merkt sich den aktuellen Bestand und speichert noch nichts.
2. **Jeder weitere Lauf:** speichert nur die neuen Inserate.

Der Monitor-Modus verfolgt eine Suche pro Lauf; für mehrere Suchen legst du je einen Task an. Speichere die Eingabe als Task und starte ihn per [Apify-Zeitplan](https://docs.apify.com/platform/schedules), etwa stündlich. Ändert sich die Suche (andere URL, andere Filter), beginnt sie mit einem neuen Bestand.

```json
{
    "make": "volkswagen",
    "models": [
        "Golf"
    ],
    "maxPrice": 15000,
    "location": "Hamburg",
    "radius": 50,
    "monitorMode": true,
    "maxResults": 0
}
```

### Telegram-Benachrichtigungen

Im Monitor-Modus schickt der Actor dir für jedes neue Inserat eine Telegram-Nachricht, bis zu `telegramNotificationLimit` pro Lauf (Standard 10). Der erste Lauf, der nur den Bestand merkt, verschickt nichts.

1. Schreib [@userinfobot](https://t.me/userinfobot) auf Telegram; er antwortet mit deiner numerischen Nutzer-ID.
2. Öffne [@clearpath_api_bot](https://t.me/clearpath_api_bot) und schick `/start`. Ohne diesen ersten Kontakt lässt Telegram den Bot dir nicht schreiben.
3. Trag die ID in `telegramUserId` ein und aktiviere `monitorMode`.

```json
{
    "make": "volkswagen",
    "models": [
        "Golf"
    ],
    "maxPrice": 15000,
    "location": "Hamburg",
    "radius": 50,
    "monitorMode": true,
    "telegramUserId": "123456789",
    "maxResults": 0
}
```

### Integration mit Python und JavaScript

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("DEIN_APIFY_TOKEN")

run = client.actor("clearpath/kleinanzeigen-autos-scraper").call(run_input={"make": "volkswagen", "models": ["Golf"], "maxMileage": 100000, "maxResults": 50})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["title"], item["price"], item["mileage_km"], item["first_registration"])
```

#### JavaScript

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

const client = new ApifyClient({ token: "DEIN_APIFY_TOKEN" });

const run = await client.actor("clearpath/kleinanzeigen-autos-scraper").call({"make": "volkswagen", "models": ["Golf"], "maxMileage": 100000, "maxResults": 50});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => console.log(item.title, item.price, item.mileage_km, item.first_registration));
```

### Preise

Abrechnung pro gespeichertem Auto: $1,49 pro 1.000 Autos im Free-Plan. Bronze zahlt $1,39, Silver $1,29, Gold und höher $0,99. Pro Auto zahlst du nur, wenn es im Datensatz landet. Kein Abo, keine Mindestlaufzeit.

### FAQ

**Welche Fahrzeuge werden unterstützt?**
Die Kategorie Autos von kleinanzeigen.de. Motorräder, Wohnmobile, Nutzfahrzeuge und Autoteile findest du mit dem [Kleinanzeigen Scraper](https://apify.com/clearpath/kleinanzeigen-scraper), der alle Kategorien abdeckt.

**Kann ich nur Händler oder nur private Verkäufer abrufen?**
Ja, mit `posterType: "COMMERCIAL"` (Händler) oder `"PRIVATE"`.

**Bekomme ich die Kontaktdaten der Händler?**
Bei Händlern mit Shop: Website, Telefonnummern, Adresse, Öffnungszeiten und Impressum, so wie sie der Händler öffentlich angibt. Die meisten Autohändler haben keinen Shop; Telefon (`phone`) und Impressum (`imprint`) aus dem Inserat kommen trotzdem, falls angegeben.

**Bekomme ich mehr als 10.000 Ergebnisse?**
Ja, nahezu alle. Die Website zeigt pro Suche höchstens 10.000 Treffer. Mit `maxResults: 0` teilt der Actor größere Suchen automatisch auf und speichert über 99 % der Treffer, jedes Auto einmal. Wie viele nicht erreichbar waren, steht im Log.

**Was passiert bei einem unbekannten Modell?**
Der Lauf stoppt, bevor ein Auto berechnet wird, und nennt gültige Modelle dieser Marke.

**Warum stoppt mein Lauf bei einer eingefügten URL?**
Würde kleinanzeigen.de einen Filter der URL nicht anwenden, stoppt der Lauf, bevor ein Auto berechnet wird, und nennt den Filter. So bekommst du nie Autos, die deine Suche nicht erfüllen.

**Brauche ich einen Kleinanzeigen-Account?**
Nein.

**Wie aktuell sind die Daten?**
Jeder Lauf liest die Inserate in dem Moment, in dem er läuft.

**Wie begrenze ich die Kosten eines Laufs?**
Mit `maxResults` legst du fest, wie viele Inserate jede Suche höchstens speichert. Zusätzlich kannst du in Apify pro Lauf ein Kostenlimit setzen: Ist es erreicht, endet der Lauf mit den bis dahin gespeicherten Inseraten.

**Kann ich die Daten kommerziell nutzen?**
Die Datenerhebung unterliegt den Nutzungsbedingungen von Kleinanzeigen und den geltenden Datenschutzgesetzen. Prüf die rechtliche Lage für deinen Anwendungsfall selbst, besonders bei Verkäuferdaten.

### Weitere Actors von Clearpath

- [Kleinanzeigen Scraper](https://apify.com/clearpath/kleinanzeigen-scraper): alle Kategorien von kleinanzeigen.de mit 78 Feldern pro Inserat und Verkäuferdaten.
- [Kleinanzeigen Immobilien Pro](https://apify.com/clearpath/kleinanzeigen-immobilien-api-pro): Miet- und Kaufangebote mit Wohnfläche, Zimmern, Nebenkosten und Exposé-Texten.
- [Kleinanzeigen Nachrichten](https://apify.com/clearpath/kleinanzeigen-message-api): Nachrichten an Inserenten senden und das Postfach abrufen.
- [Immobilien Export Pro](https://apify.com/clearpath/immobilien-export-pro): Kaufimmobilien aus ImmoScout24, Kleinanzeigen und Immowelt in einem Datensatz.

### Individuelle Lösungen

Spezielle Anforderungen oder höhere Volumen? Schreib uns im Issues-Tab oder an <max@mapa.slmail.me>.

# Actor input Schema

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

Adressen von kleinanzeigen.de: eine Autos-Suche mit allen Filtern, eine einzelne Auto-Anzeige, ein Händler-Shop (<code>/pro/…</code>) oder der Bestand eines Verkäufers (<code>/s-bestandsliste.html?userId=…</code>). Händler- und Bestands-URLs liefern nur die Autos dieses Verkäufers. Jede Suche läuft für sich bis <b>Max. Ergebnisse</b>. Sind URLs angegeben, werden die Fahrzeugfelder unten ignoriert. Bis zu 100 Such-URLs pro Lauf.

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

Höchstzahl gespeicherter Inserate für <b>jede</b> Such-URL bzw. Suche. <code>0</code> speichert alle erreichbaren Treffer (über 99 %), auch bei Suchen mit mehr als 10.000 Ergebnissen. Anzeigen-URLs werden vollständig gelesen und zählen nicht mit.

## `includeSellerDetails` (type: `boolean`):

Ergänzt jedes Auto um Follower und Inseratszahlen des Verkäufers und, bei Händlern mit Shop, Website, Telefonnummern, Adresse und Öffnungszeiten des Shops.

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

Eine Marke, wie kleinanzeigen.de sie führt.

## `models` (type: `array`):

Ein oder mehrere Modelle der Marke, wie auf kleinanzeigen.de geschrieben, z. B. <code>3er</code>, <code>Golf</code>, <code>C-Klasse</code>. Braucht eine Marke. Ein Modell, das die Website nicht kennt, stoppt den Lauf und nennt gültige Modelle.

## `minYear` (type: `integer`):

Frühestes Jahr der Erstzulassung.

## `maxYear` (type: `integer`):

Spätestes Jahr der Erstzulassung.

## `minMileage` (type: `integer`):

Niedrigster Kilometerstand.

## `maxMileage` (type: `integer`):

Höchster Kilometerstand.

## `minPowerPs` (type: `integer`):

Motorleistung in PS, wie auf kleinanzeigen.de angegeben.

## `maxPowerPs` (type: `integer`):

Höchste Motorleistung in PS.

## `fuels` (type: `array`):

Eine oder mehrere Kraftstoffarten.

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

Automatik oder Schaltgetriebe.

## `bodyTypes` (type: `array`):

Ein oder mehrere Fahrzeugtypen.

## `doors` (type: `array`):

Eine oder mehrere Türanzahlen.

## `colors` (type: `array`):

Eine oder mehrere Farben.

## `interior` (type: `string`):

Material der Innenausstattung.

## `emissionClasses` (type: `array`):

Eine oder mehrere Schadstoffklassen.

## `environmentBadges` (type: `array`):

Eine oder mehrere Umweltplaketten.

## `minInspectionYear` (type: `string`):

Autos, deren nächste Hauptuntersuchung in diesem Jahr oder später fällig ist.

## `damage` (type: `string`):

Laut Angabe des Verkäufers.

## `equipment` (type: `array`):

Jedes gelieferte Auto hat jedes dieser Merkmale.

## `keyword` (type: `string`):

Wörter, die das Inserat enthalten muss, wie im Suchfeld auf kleinanzeigen.de.

## `location` (type: `string`):

Stadt, PLZ oder Bundesland, z. B. <code>Berlin</code> oder <code>80331</code>. Leer lassen für ganz Deutschland.

## `radius` (type: `integer`):

Entfernung um den Ort. Braucht einen Ort.

## `minPrice` (type: `integer`):

Niedrigster Angebotspreis. Inserate ohne Preis fallen weg, sobald eine Preisgrenze gesetzt ist, wie auf der Website.

## `maxPrice` (type: `integer`):

Höchster Angebotspreis.

## `posterType` (type: `string`):

Nur private Verkäufer oder nur Händler (gewerbliche Anbieter).

## `adType` (type: `string`):

kleinanzeigen.de zeigt Angebote und Gesuche gemeinsam; wähle eins, um die Suche einzugrenzen.

## `sorting` (type: `string`):

Reihenfolge, in der Inserate gesammelt werden. Gilt auch für URLs ohne eigene Sortierung.

## `monitorMode` (type: `boolean`):

Speichert nur Inserate, die seit dem letzten Lauf derselben Suche neu sind. Der erste Lauf merkt sich den Bestand und speichert nichts. Kombiniere ihn mit einem <a href="https://docs.apify.com/platform/schedules" target="_blank">Zeitplan</a>.

## `telegramUserId` (type: `string`):

Deine numerische Telegram-Nutzer-ID, für eine Nachricht pro neuem Inserat. Schreib <a href="https://t.me/userinfobot" target="_blank">@userinfobot</a> auf Telegram, um sie zu erhalten.

## `telegramNotificationLimit` (type: `integer`):

Höchstzahl an Telegram-Nachrichten pro Lauf.

## `feedback` (type: `string`):

For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.kleinanzeigen.de/s-autos/bmw/anbieter:gewerblich/c216+autos.marke_s:bmw"
  ],
  "maxResults": 100,
  "includeSellerDetails": true,
  "damage": "any",
  "posterType": "ALL",
  "adType": "ALL",
  "sorting": "newest",
  "monitorMode": false,
  "telegramNotificationLimit": 10
}
```

# 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": [
        "https://www.kleinanzeigen.de/s-autos/bmw/anbieter:gewerblich/c216+autos.marke_s:bmw"
    ],
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/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": ["https://www.kleinanzeigen.de/s-autos/bmw/anbieter:gewerblich/c216+autos.marke_s:bmw"],
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/kleinanzeigen-autos-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": [
    "https://www.kleinanzeigen.de/s-autos/bmw/anbieter:gewerblich/c216+autos.marke_s:bmw"
  ],
  "maxResults": 100
}' |
apify call clearpath/kleinanzeigen-autos-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,clearpath/kleinanzeigen-autos-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/XxlkGFAZXSMeul0qx/builds/9dMQB3n4Jyuus0u37/openapi.json
