# Immobilien Export Pro - ImmoScout24, Kleinanzeigen, Immowelt (`clearpath/immobilien-export-pro`) Actor

70.000+ deutsche Kaufimmobilien von ImmoScout24, Kleinanzeigen & Immowelt. Preisverlauf, Kontaktdaten, Löschungen, Koordinaten. Echtzeit-Daten, plattformübergreifende Deduplizierung. Export als JSON, CSV, Excel oder via API.

- **URL**: https://apify.com/clearpath/immobilien-export-pro.md
- **Developed by:** [ClearPath](https://apify.com/clearpath) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 79 total users, 18 monthly users, 79.6% runs succeeded, 5 bookmarks
- **User rating**: No ratings yet

## Pricing

from $15.99 / 1,000 inserats

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/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

## Immobilien Export Pro

<table>
<tr>
<td colspan="3" style="padding:10px 14px;background:#44403C;border:none;border-radius:4px 4px 0 0">
<span style="color:#FAFAF9;font-size:14px;font-weight:700;letter-spacing:0.5px">Clearpath German Real Estate</span>
<span style="color:#A8A29E;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;The fastest German property data on Apify</span>
</td>
</tr>
<tr>
<td style="padding:12px 16px;border:1px solid #E7E5E4;border-radius:0 0 0 4px;border-right:none;border-top:none;vertical-align:top;width:33%">
<img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-s609dyAJSrju54QSh-zj5NeZTykb-ImmoScout24-canva2.png" width="24" height="24" style="vertical-align:middle"> &nbsp;<a href="https://apify.com/clearpath/immoscout24-api-pro" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:14px">ImmoScout24 API Pro</a><br>
<span style="color:#78716C;font-size:12px">Search, monitor, full data</span>
</td>
<td style="padding:12px 16px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%">
<img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-zl9ZT20jiJtqKVOIA-kfERz7A37l-ImmoScout24-canva2.png" width="24" height="24" style="vertical-align:middle"> &nbsp;<a href="https://apify.com/clearpath/immoscout24-apply-bot" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:14px">ImmoScout24 Apply Bot</a><br>
<span style="color:#78716C;font-size:12px">Auto-apply to listings</span>
</td>
<td style="padding:12px 16px;border:1px solid #E7E5E4;border-radius:0 0 4px 0;border-top:none;vertical-align:top;width:33%">
<img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-Yu9fmARTOt79Ungbn-PTLhKqKWa5-kleinanzeigen-immobilien-api-pro-logo.png" width="24" height="24" style="vertical-align:middle"> &nbsp;<a href="https://apify.com/clearpath/kleinanzeigen-immobilien-api-pro" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:14px">Kleinanzeigen Immobilien Pro</a><br>
<span style="color:#78716C;font-size:12px">Kleinanzeigen.de listings</span>
</td>
</tr>
</table>

<br>

<table><tr>
<td style="border-left:4px solid rgb(76,148,94);padding:12px 16px;font-weight:600">~10.000 Inserate in unter 2 Minuten exportieren, plattformübergreifend aus einer Quelle.</td>
</tr></table>

Bundesweiter Export deutscher Kaufimmobilien von ImmoScout24, Kleinanzeigen und Immowelt in einen einzigen Datensatz. Zusätzlich: Mietwohnungen aus Berlin und München von ImmoScout24. Echtzeit-Daten — neue Inserate sind innerhalb von 1-2 Minuten nach Veröffentlichung im Export verfügbar.

[![Immobilien Export Pro 2026 Demo](https://i.postimg.cc/pdwY1dzK/immobilien-export-pro-demo.png)](https://i.postimg.cc/pdwY1dzK/immobilien-export-pro-demo.png)

[![Demo](https://asciinema.org/a/hl3HDrUnwAIMkjQK.svg)](https://asciinema.org/a/hl3HDrUnwAIMkjQK)

#### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

````

clearpath/immobilien-export-pro on Apify. Call: ApifyClient("TOKEN").actor("clearpath/immobilien-export-pro").call(run\_input={...}), then client.dataset(run\["defaultDatasetId"]).list\_items().items for results. Key inputs: offerType ("sale" default or "rent"), zipCodes (array of strings), city (string), maxItems (integer, default 1000). Rent mode supports Berlin and München from ImmoScout24 only. Full actor spec (input schema with all params/enums/defaults, output dataset fields, README): GET https://api.apify.com/v2/acts/clearpath~immobilien-export-pro/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Pricing: PPE, $19.99 per 1,000 listings. Get token: https://console.apify.com/account/integrations

````

### Was du bekommst

- **Aktive & gelöschte Inserate** was aktuell am Markt ist und was entfernt wurde (Löschungen nur für überwachte Inserate — siehe [Überwachung](#überwachung-last_checked_at))
- **Preisverlauf** Preissenkungen und -erhöhungen mit Datum (nur für überwachte Inserate)
- **Tage am Markt** automatisch berechnet
- **Plattformübergreifende Deduplizierung** gleiches Inserat auf mehreren Plattformen wird erkannt. Einträge mit identischer `duplicate_group_id` sind dasselbe Objekt.
- **Kontaktdaten** Makler-/Eigentümername und Telefonnummer (wenn verfügbar)
- **Vollständige Immobiliendaten** Zimmer, Fläche, Baujahr, Heizung, Koordinaten, Fotos, Beschreibung

**Immowelt:** Inserate verfügbar seit 01.12.2025. Enthält auch Ohne-Makler.net-Angebote.

Aktuell 70.000+ Inserate verfügbar. Export mit ~5.000 Inseraten pro Minute als JSON, CSV, Excel oder direkt via API.

### Mietwohnungen in Berlin und München

Setze `offerType` auf `rent`, um Mietwohnungen statt Kaufimmobilien zu exportieren.

Aktuelle Abdeckung, Stand 06.06.2026:

| Stadt | Historie ab | Umfang |
|-------|-------------|--------|
| Berlin | 10.08.2025 | ca. 70.000 Mietinserate |
| München | 10.08.2025 | ca. 32.000 Mietinserate |

Wichtig: Mietdaten sind aktuell nur für Berlin und München verfügbar und stammen nur von ImmoScout24. `platform`, `propertyType`, `listingStatus`, `delistedFrom`, `delistedTo` und `includeHistory` werden im Mietmodus ignoriert. Monitor-Modus ist für Mietexporte nicht verfügbar.

### Eingabe

#### Angebotsart

| Feld | Beschreibung |
|------|-------------|
| **Angebotsart** | `Kaufen` exportiert Kaufimmobilien. `Mieten` exportiert ImmoScout24-Mietwohnungen aus Berlin und München. |

#### Standort (optional)

| Feld | Beschreibung |
|------|-------------|
| **Postleitzahlen** | Deutsche PLZ. Unterstützt Präfixe: `"79"` → alle 79xxx, `"791"` → alle 791xx, `"8"` → alle 8xxxx, `"85"` → alle 85xxx. |
| **Stadt** | Stadtname (z.B. "München"). Tippfehler werden automatisch korrigiert. |

Ohne Standort wird bei Kauf ganz Deutschland exportiert. Im Mietmodus wird ohne Standort Berlin und München exportiert. Bei Angabe von PLZ und Stadt werden die Ergebnisse kombiniert.

#### Filter (alle optional)

| Feld | Optionen | Standard |
|------|----------|----------|
| **Plattform** | Alle, ImmoScout24, Kleinanzeigen, Immowelt | Alle |
| **Immobilienart** | Alle, Haus, Wohnung | Alle |
| **Inseratsstatus** | Aktiv, Gelöscht, Alle | Aktiv |
| **Zeitraum** | Gestern, Letzte 7/30 Tage, Letzte 3/6/12 Monate | Kein Filter |
| **Inseriert nach / vor** | Datumsbereich für Ersterscheinung | — |
| **Gelöscht nach / vor** | Datumsbereich für Löschdatum | — |
| **Min / Max Preis** | Kaufpreis oder Miete in EUR | — |
| **Min / Max Fläche** | Wohnfläche in m² | — |

> **Hinweis zum Inseratsstatus:** Der Status ist nur für überwachte Inserate (ca. 50 %, Feld `last_checked_at` vorhanden) zuverlässig. Nicht überwachte Inserate erscheinen weiterhin als "Aktiv", auch wenn sie zwischenzeitlich gelöscht wurden. Siehe [Überwachung](#überwachung-last_checked_at).

#### Optionen

| Feld | Standard | Beschreibung |
|------|----------|-------------|
| **Max. Inserate** | 1000 | Maximale Anzahl. 0 = unbegrenzt. |
| **Preisverlauf** | Ja | Preisänderungen pro Inserat einbeziehen. |
| **Ab Seite starten** | 1 | Export ab beliebiger Seite beginnen — für Etappen-Exports und nahtlose Fortsetzung. Siehe [Großen Export aufteilen](#großen-export-aufteilen). |
| **Monitor-Modus** | Nein | Nur Änderungen seit letztem Lauf exportieren — sekundengenau, keine Duplikate. Siehe [Monitor-Modus](#monitor-modus). |

### Beispiele

Täglicher Marktüberblick, regionale Analyse, Plattformvergleich, Preismonitoring — ein paar typische Konfigurationen:

**Täglicher Marktüberblick — alle neuen Inserate von gestern in Berlin:**
```json
{
    "city": "Berlin",
    "datePreset": "yesterday"
}
````

**Regionale Analyse — alle Häuser aus München vom letzten Monat:**

```json
{
    "city": "München",
    "propertyType": "house",
    "datePreset": "last_30_days"
}
```

**Plattformvergleich — alle Kleinanzeigen-Inserate aus Hamburg der letzten 3 Monate:**

```json
{
    "city": "Hamburg",
    "platform": "kleinanzeigen",
    "datePreset": "last_3_months"
}
```

**Schnäppchenjagd — Wohnungen unter 300k im PLZ-Bereich 79xxx:**

```json
{
    "zipCodes": ["79"],
    "propertyType": "apartment",
    "priceMax": 300000
}
```

**Plattform-Fokus — alle Immowelt-Inserate im Raum 85xxx:**

```json
{
    "zipCodes": ["85"],
    "platform": "immowelt"
}
```

**Vollexport — ganz Deutschland, unbegrenzt:**

```json
{
    "listingStatus": "all",
    "maxItems": 0
}
```

**Mietwohnungen — Berlin und München, bis 1.800 € Warmmiete:**

```json
{
    "offerType": "rent",
    "priceMax": 1800,
    "maxItems": 0
}
```

**Mietwohnungen — München seit 01.01.2026:**

```json
{
    "offerType": "rent",
    "city": "München",
    "dateFrom": "2026-01-01",
    "maxItems": 0
}
```

### Großen Export aufteilen

Mit `startPage` lässt sich ein Export an beliebiger Stelle beginnen — praktisch, um sehr große Datensätze in Etappen abzuarbeiten oder einen Lauf nahtlos dort fortzusetzen, wo der vorherige aufgehört hat.

Eine Seite enthält 250 Inserate. `startPage: 22` überspringt also die ersten 21 Seiten und beginnt direkt ab Inserat #5.251. Übersprungene Seiten verursachen keine Kosten — gezahlt wird nur für tatsächlich exportierte Inserate.

**Etappe 1 — die ersten 5.000 Inserate aus Berlin:**

```json
{
    "city": "Berlin",
    "maxItems": 5000
}
```

**Etappe 2 — ab Seite 21 (Inserat #5.001) bis zum Ende:**

```json
{
    "city": "Berlin",
    "startPage": 21,
    "maxItems": 0
}
```

Wichtig: identische Filter zwischen den Etappen verwenden, sonst verschiebt sich die Seitennummerierung.

### Monitor-Modus

Aktivieren, Zeitplan einrichten, fertig. Der Actor merkt sich sekundengenau, was bereits exportiert wurde und liefert beim nächsten Lauf nur noch das Delta — keine Duplikate, egal ob alle 5 Minuten oder einmal pro Woche. Mehrere Monitor-Konfigurationen laufen unabhängig voneinander — "Häuser in München" und "Wohnungen in Berlin" haben jeweils ihren eigenen Checkpoint.

- **Neue Inserate** — alles was seit dem letzten Lauf veröffentlicht wurde
- **Preisänderungen** — Erhöhungen und Senkungen
- **Löschungen** — Inserate die von der Plattform entfernt wurden

#### So funktioniert es

1. **Erster Lauf** — kein vorheriger Lauf bekannt → vollständiger Export (wie ohne Monitor-Modus)
2. **Jeder weitere Lauf** — exportiert nur Änderungen seit dem letzten erfolgreichen Lauf, sekundengenau
3. **Beliebiges Intervall** — alle 5 Minuten, stündlich, täglich, wöchentlich — der Actor liefert immer exakt das Delta seit dem letzten Lauf
4. **Verschiedene Filter = unabhängige Checkpoints** — jede Suchkonfiguration wird separat getrackt

#### Zeitraum-Filter vs. Monitor-Modus

| | Zeitraum-Filter (`datePreset`) | Monitor-Modus (`monitorMode`) |
|---|---|---|
| **Zweck** | Einmaliger Export eines festen Zeitfensters | Fortlaufender Delta-Export für geplante Ausführungen |
| **Zeitraum** | Manuell gewählt (z.B. "Letzte 7 Tage") | Automatisch — seit dem letzten erfolgreichen Lauf |
| **Typischer Einsatz** | Einmalige Abfragen, Analysen | Fortlaufende Überwachung (alle 5 Min. bis wöchentlich) |
| **Kombinierbar?** | Ja, mit allen anderen Filtern | Nein — überschreibt Datumsfilter, wenn bereits ein Lauf stattfand |

**Nicht zusammen verwenden.** Bei aktivem Monitor-Modus werden Zeitraum-Filter (`datePreset`, `dateFrom`) ignoriert. Der Monitor verwaltet den Zeitraum selbstständig.

#### Beispiele

**Tägliches Monitoring aller Häuser in München:**

```json
{
    "city": "München",
    "propertyType": "house",
    "monitorMode": true,
    "maxItems": 0
}
```

**Wöchentlicher Preischeck für Wohnungen unter 500k in Berlin:**

```json
{
    "city": "Berlin",
    "propertyType": "apartment",
    "priceMax": 500000,
    "monitorMode": true,
    "maxItems": 0
}
```

**Alle 5 Minuten — neue Inserate in ganz Deutschland:**

```json
{
    "monitorMode": true,
    "maxItems": 0
}
```

**Tägliche Löschungs-Überwachung in ganz Deutschland:**

```json
{
    "listingStatus": "delisted",
    "monitorMode": true,
    "maxItems": 0
}
```

### Output

Jedes Inserat enthält:

#### Überwachung (`last_checked_at`)

Nicht alle Inserate werden nach dem ersten Crawl erneut geprüft. Das Feld `last_checked_at` zeigt, ob und wann ein Inserat zuletzt überwacht wurde:

- `last_checked_at` vorhanden — Inserat wird aktiv überwacht. Löschungen und Preisänderungen werden zuverlässig erkannt.
- `last_checked_at` ist null — Inserat wurde nur einmal erfasst. Lösch- und Preisdaten sind nicht verfügbar.

Derzeit werden ca. 50 % aller Inserate überwacht — Abdeckung wird ausgebaut.

### Beispiel-Ausgabe

```json
{
  "listing_id": "165942893",
  "title": "2-Zimmer Wohnung mit Balkon im Ortenburger Seniorenschlösslss)",
  "listing_url": "https://www.immobilienscout24.de/expose/165942893",
  "status": "active",
  "is_new": false,
  "type": "apartment",
  "source_name": "immoscout24",
  "created_at": "2026-02-25T09:28:18",
  "updated_at": "2026-02-25T09:28:18",
  "delisted_at": null,
  "last_checked_at": "2026-02-25T14:30:00Z",
  "address": "Lindenallee 2, 94496 Passau Kreis",
  "location": {
    "street": "Lindenallee",
    "house_number": "2",
    "zip_code": "94496",
    "city": "Passau Kreis",
    "country": "Germany"
  },
  "coordinates": {
    "latitude": 48.54753,
    "longitude": 13.22412
  },
  "contacts_info": {
    "contact_name": "Mr. Heiner Jung",
    "phone": "+49 172 2420420",
    "is24_premium_required": false,
    "company": null,
    "type": "private"
  },
  "living_area": 60.0,
  "lot_area": null,
  "bedrooms": 1,
  "bathrooms": 1,
  "rooms": 1.0,
  "construction_year": 1880,
  "heating_type": "central_heating",
  "is_private_property": true,
  "condition": "fully_renovated",
  "floor": 1,
  "number_of_floors": "3",
  "type_of_flat": "ground_floor",
  "interior_quality": "sophisticated",
  "last_refurbish_year": 2026,
  "construction_phase": null,
  "fitted_kitchen": true,
  "balcony_terrace": true,
  "garden": false,
  "cellar": false,
  "elevator": false,
  "garage": null,
  "barrier_free": true,
  "guest_wc": null,
  "is_furnished": null,
  "is_new_building": false,
  "pets_allowed": false,
  "provision": null,
  "maintenance_fees": null,
  "operations": [
    "sale"
  ],
  "sale_price": 195000.0,
  "sale_price_per_sqm": 3250.0,
  "sale_currency": "EUR",
  "rent_status": "none",
  "is24_visits": null,
  "is24_contact_requests": null,
  "is24_high_demand": null,
  "furnishing_description": null,
  "location_description": "Ortenburg, gelegen im gleichnamigen Ortsteil, bietet eine ruhige und dennoch gut angebundene Wohnlage. Die Infrastruktur umfasst die notwendigen Einrichtungen für den täglichen Bedarf. Die Umgebung lädt zu Spaziergängen und Freizeitaktivitäten in der Natur ein. Die Anbindung an das öffentliche Verkehrsnetz ist gegeben und ermöglicht eine flexible Mobilität.",
  "description": "Wohnung im Erdgeschoss mit gehobener Ausstattung\n\nDiese charmante 2-Zimmer Wohnung mit einer Wohnfläche von ca. 60 m² und einer Nutzfläche von 70 m³ befindet sich im Erdgeschoss des gepflegten und denkmalgeschützten Ortenburger Seniorenschlössls. Die Wohnung überzeugt mit einer gehobenen Ausstattung und einem schönen Balkon, der zum Entspannen einlädt. Für Ihren Komfort ist bereits eine moderne Einbauküche vorhanden, die Ihnen den Einzug erleichtert.\n\nBarrierefreiheit und Renovierung\n\nDie Wohnung ist barrierefrei zugänglich und somit auch für Personen mit eingeschränkter Mobilität bestens geeignet. Nach einer umfangreichen Renovierung ist die Wohnung ab dem 1. März 2026 bezugsfrei.\n\nAusstattung und Komfort\n\nDie hochwertige Einbauküche ist ausgestattet mit einem 4-Platten Herd, Backofen sowie Kühl- und Gefrierschrank. Die Böden in den Wohnräumen sind mit hochwertigem, hygienischem und pflegeleichtem Echtholz ausgelegt. Im Badezimmer befinden sich Anschlüsse für Waschmaschine und Trockner. Die Wohnungseingangstür entspricht den aktuellen Schallschutzvorschriften, die Wohnungsinnentüren sind großzügig mit einer Breite von 100 cm gestaltet. In allen Schlaf- und Wohnräumen, der Küche und dem Bad sind ausreichend Steckdosen vorhanden. Der Wohnbereich verfügt zudem über separate Fernseh- und Telefonanschlüsse.\n\nVerkauf und Kontakt\n\nDie Wohnung wird provisionsfrei verkauft. Wir freuen uns auf Ihr Interesse!  Ein Energieausweis ist nicht erforderlich, das Gebäude steht unter Denkmalschutz.\n\nOrtenburg, gelegen im gleichnamigen Ortsteil, bietet eine ruhige und dennoch gut angebundene Wohnlage. Die Infrastruktur umfasst die notwendigen Einrichtungen für den täglichen Bedarf. Die Umgebung lädt zu Spaziergängen und Freizeitaktivitäten in der Natur ein. Die Anbindung an das öffentliche Verkehrsnetz ist gegeben und ermöglicht eine flexible Mobilität.",
  "pictures": [
    "https://pictures.immobilienscout24.de/listings/4effbcc4-8a2b-4f61-89b9-2f76071fa5e1-1996100670.jpg",
    "https://pictures.immobilienscout24.de/listings/e5a522fd-8e99-449c-a304-93a57f97f617-1996100667.jpg",
    "https://pictures.immobilienscout24.de/listings/e8310f7b-e600-4163-99fb-a0c0388950b8-1996100665.jpg",
    "https://pictures.immobilienscout24.de/listings/055023ea-d4ce-4895-b159-1ebc4de22f05-1996100669.jpg",
    "https://pictures.immobilienscout24.de/listings/487b36be-f64a-4d1a-98f1-125d9595579f-1996100668.jpg",
    "https://pictures.immobilienscout24.de/listings/3bc2d981-bdfc-461d-93b7-5711166ea040-1996100664.jpg"
  ],
  "duplicate_group_id": null,
  "days_on_market": 47,
  "scraped_at": "2026-02-25T09:32:10.200845+00:00",
  "price_history": [
    {
      "date": "2026-01-09",
      "event": "listed",
      "price": 219000.0,
      "old_price": null,
      "new_price": null
    },
    {
      "date": "2026-02-03",
      "event": "price_decrease",
      "price": null,
      "old_price": 219000.0,
      "new_price": 195000.0
    }
  ]
}
```

### Preise

Pay-per-Event: **$19.99 pro 1.000 Inserate.** Preisverlauf inklusive.

| Beispiel | Inserate | Kosten |
|----------|----------|--------|
| München, Häuser, 30 Tage | ~40 | ~$0.80 |
| Berlin, alle Inserate, 30 Tage | ~300 | ~$6 |
| Hamburg, tägliches Monitoring | ~10–30/Tag | ~$0.20–$0.60/Tag |

**Apify Store Rabatte:**

| Stufe | Preis pro Inserat | Pro 1.000 |
|-------|-------------------|-----------|
| Kein Rabatt | $0.01999 | $19.99 |
| Bronze | $0.01799 | $17.99 |
| Silber | $0.01699 | $16.99 |
| Gold | $0.01599 | $15.99 |

**Free Tier:** 5 Läufe, max 50 Inserate pro Lauf.

### Weitere Actors

- [**Kleinanzeigen Immobilien API Pro**](https://apify.com/clearpath/kleinanzeigen-immobilien-api-pro) — Kleinanzeigen-Immobiliensuche mit allen Filtern, Sortierung und Echtzeit-Ergebnissen.
- [**ImmoScout24 API Pro**](https://apify.com/clearpath/immoscout24-api-pro) — Direkte ImmoScout24-Suche mit allen Filtern, Sortierung und Echtzeit-Ergebnissen.
- [**ImmoScout24 Detail Scraper**](https://apify.com/clearpath/immoscout24-detail-listing-scraper) — Vollständige Detaildaten einzelner ImmoScout24-Inserate inkl. Grundrisse und Energieausweis.
- [**ImmoScout24 Apply Bot**](https://apify.com/clearpath/immoscout24-apply-bot) — Automatische Bewerbung auf ImmoScout24-Inserate mit personalisierter Nachricht.

# Actor input Schema

## `offerType` (type: `string`):

Kaufangebote exportieren oder Mietwohnungen aus Berlin und München abrufen. Mietdaten stammen aktuell nur von ImmoScout24.

## `zipCodes` (type: `array`):

Deutsche Postleitzahlen (PLZ). Unterstützt Präfixe — z.B. "79" findet alle 79xxx-PLZ. Ohne Angabe wird nicht nach PLZ gefiltert.

## `city` (type: `string`):

Stadtname (z.B. "München", "Berlin"). Tippfehler werden automatisch korrigiert. Ohne Angabe wird nicht nach Stadt gefiltert.

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

Maximale Anzahl zu exportierender Inserate. <b>Auf 0 setzen für unbegrenzten Export.</b> Standard: 1.000.

## `datePreset` (type: `string`):

Schnellauswahl für den Inseratszeitraum. Überschreibt die manuellen Datumsfelder, wenn gesetzt.

## `dateFrom` (type: `string`):

Nur Inserate, die nach diesem Datum erstmals erschienen sind.

## `dateTo` (type: `string`):

Nur Inserate, die vor diesem Datum erstmals erschienen sind.

## `delistedFrom` (type: `string`):

Nur Inserate, die nach diesem Datum entfernt wurden.

## `delistedTo` (type: `string`):

Nur Inserate, die vor diesem Datum entfernt wurden.

## `platform` (type: `string`):

Nach Plattform filtern.

## `propertyType` (type: `string`):

Nach Immobilienart filtern.

## `listingStatus` (type: `string`):

Nach Status filtern. "Aktiv" = derzeit inseriert. "Gelöscht" = von der Plattform entfernt.

## `priceMin` (type: `integer`):

Minimaler Kaufpreis bzw. minimale Miete in EUR.

## `priceMax` (type: `integer`):

Maximaler Kaufpreis bzw. maximale Miete in EUR.

## `areaMin` (type: `integer`):

Minimale Wohnfläche in Quadratmetern.

## `areaMax` (type: `integer`):

Maximale Wohnfläche in Quadratmetern.

## `includeHistory` (type: `boolean`):

Preisverlauf für jedes Inserat einbeziehen (Ersterscheinung, Preissenkungen, Preiserhöhungen).

## `startPage` (type: `integer`):

Großen Export in Etappen aufteilen oder nahtlos an einer bestimmten Seite fortsetzen. Eine Seite enthält 250 Inserate, sodass <code>startPage: 22</code> die ersten 21 Seiten überspringt (also ab Inserat #5.251 weitermacht). Übersprungene Seiten verursachen keine Kosten — gezahlt wird nur für tatsächlich exportierte Inserate. Standard: 1 (von Anfang an).

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

Für geplante Ausführungen: Exportiert automatisch nur Änderungen (neue Inserate, Preisänderungen, Löschungen) seit dem letzten erfolgreichen Lauf — sekundengenau, keine Duplikate. Funktioniert in jedem Intervall (alle 5 Min. bis wöchentlich). Datumsfilter oben werden bei aktivem Monitor-Modus ignoriert. Erster Lauf = vollständiger Export, danach nur noch Delta. Nicht für Mietexporte verfügbar.

## Actor input object example

```json
{
  "offerType": "sale",
  "maxItems": 1000,
  "datePreset": "",
  "platform": "all",
  "propertyType": "all",
  "listingStatus": "active",
  "includeHistory": true,
  "startPage": 1,
  "monitorMode": false
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/immobilien-export-pro").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/immobilien-export-pro").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 '{}' |
apify call clearpath/immobilien-export-pro --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=clearpath/immobilien-export-pro",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Immobilien Export Pro - ImmoScout24, Kleinanzeigen, Immowelt",
        "description": "70.000+ deutsche Kaufimmobilien von ImmoScout24, Kleinanzeigen & Immowelt. Preisverlauf, Kontaktdaten, Löschungen, Koordinaten. Echtzeit-Daten, plattformübergreifende Deduplizierung. Export als JSON, CSV, Excel oder via API.",
        "version": "0.0",
        "x-build-id": "Wrj3xRUPbTl4cjetH"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/clearpath~immobilien-export-pro/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-clearpath-immobilien-export-pro",
                "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/clearpath~immobilien-export-pro/runs": {
            "post": {
                "operationId": "runs-sync-clearpath-immobilien-export-pro",
                "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/clearpath~immobilien-export-pro/run-sync": {
            "post": {
                "operationId": "run-sync-clearpath-immobilien-export-pro",
                "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",
                "properties": {
                    "offerType": {
                        "title": "Angebotsart",
                        "enum": [
                            "sale",
                            "rent"
                        ],
                        "type": "string",
                        "description": "Kaufangebote exportieren oder Mietwohnungen aus Berlin und München abrufen. Mietdaten stammen aktuell nur von ImmoScout24.",
                        "default": "sale"
                    },
                    "zipCodes": {
                        "title": "Postleitzahlen",
                        "type": "array",
                        "description": "Deutsche Postleitzahlen (PLZ). Unterstützt Präfixe — z.B. \"79\" findet alle 79xxx-PLZ. Ohne Angabe wird nicht nach PLZ gefiltert.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "city": {
                        "title": "Stadt",
                        "type": "string",
                        "description": "Stadtname (z.B. \"München\", \"Berlin\"). Tippfehler werden automatisch korrigiert. Ohne Angabe wird nicht nach Stadt gefiltert."
                    },
                    "maxItems": {
                        "title": "Max. Inserate",
                        "type": "integer",
                        "description": "Maximale Anzahl zu exportierender Inserate. <b>Auf 0 setzen für unbegrenzten Export.</b> Standard: 1.000.",
                        "default": 1000
                    },
                    "datePreset": {
                        "title": "Zeitraum",
                        "enum": [
                            "",
                            "yesterday",
                            "last_7_days",
                            "last_30_days",
                            "last_3_months",
                            "last_6_months",
                            "last_year"
                        ],
                        "type": "string",
                        "description": "Schnellauswahl für den Inseratszeitraum. Überschreibt die manuellen Datumsfelder, wenn gesetzt.",
                        "default": ""
                    },
                    "dateFrom": {
                        "title": "Inseriert nach",
                        "type": "string",
                        "description": "Nur Inserate, die nach diesem Datum erstmals erschienen sind."
                    },
                    "dateTo": {
                        "title": "Inseriert vor",
                        "type": "string",
                        "description": "Nur Inserate, die vor diesem Datum erstmals erschienen sind."
                    },
                    "delistedFrom": {
                        "title": "Gelöscht nach",
                        "type": "string",
                        "description": "Nur Inserate, die nach diesem Datum entfernt wurden."
                    },
                    "delistedTo": {
                        "title": "Gelöscht vor",
                        "type": "string",
                        "description": "Nur Inserate, die vor diesem Datum entfernt wurden."
                    },
                    "platform": {
                        "title": "Plattform",
                        "enum": [
                            "all",
                            "immoscout24",
                            "kleinanzeigen",
                            "immowelt"
                        ],
                        "type": "string",
                        "description": "Nach Plattform filtern.",
                        "default": "all"
                    },
                    "propertyType": {
                        "title": "Immobilienart",
                        "enum": [
                            "all",
                            "house",
                            "apartment"
                        ],
                        "type": "string",
                        "description": "Nach Immobilienart filtern.",
                        "default": "all"
                    },
                    "listingStatus": {
                        "title": "Inseratsstatus",
                        "enum": [
                            "active",
                            "delisted",
                            "all"
                        ],
                        "type": "string",
                        "description": "Nach Status filtern. \"Aktiv\" = derzeit inseriert. \"Gelöscht\" = von der Plattform entfernt.",
                        "default": "active"
                    },
                    "priceMin": {
                        "title": "Mindestpreis (€)",
                        "type": "integer",
                        "description": "Minimaler Kaufpreis bzw. minimale Miete in EUR."
                    },
                    "priceMax": {
                        "title": "Höchstpreis (€)",
                        "type": "integer",
                        "description": "Maximaler Kaufpreis bzw. maximale Miete in EUR."
                    },
                    "areaMin": {
                        "title": "Mindestfläche (m²)",
                        "type": "integer",
                        "description": "Minimale Wohnfläche in Quadratmetern."
                    },
                    "areaMax": {
                        "title": "Höchstfläche (m²)",
                        "type": "integer",
                        "description": "Maximale Wohnfläche in Quadratmetern."
                    },
                    "includeHistory": {
                        "title": "Preisverlauf einbeziehen",
                        "type": "boolean",
                        "description": "Preisverlauf für jedes Inserat einbeziehen (Ersterscheinung, Preissenkungen, Preiserhöhungen).",
                        "default": true
                    },
                    "startPage": {
                        "title": "Ab Seite starten",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Großen Export in Etappen aufteilen oder nahtlos an einer bestimmten Seite fortsetzen. Eine Seite enthält 250 Inserate, sodass <code>startPage: 22</code> die ersten 21 Seiten überspringt (also ab Inserat #5.251 weitermacht). Übersprungene Seiten verursachen keine Kosten — gezahlt wird nur für tatsächlich exportierte Inserate. Standard: 1 (von Anfang an).",
                        "default": 1
                    },
                    "monitorMode": {
                        "title": "Monitor-Modus",
                        "type": "boolean",
                        "description": "Für geplante Ausführungen: Exportiert automatisch nur Änderungen (neue Inserate, Preisänderungen, Löschungen) seit dem letzten erfolgreichen Lauf — sekundengenau, keine Duplikate. Funktioniert in jedem Intervall (alle 5 Min. bis wöchentlich). Datumsfilter oben werden bei aktivem Monitor-Modus ignoriert. Erster Lauf = vollständiger Export, danach nur noch Delta. Nicht für Mietexporte verfügbar.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
