# 🏡 ImmoScout24.de Detail-Listing Scraper (API) (`clearpath/immoscout24-detail-listing-scraper`)

The 🏡 ImmobilienScout24.de Detail-Listing Scraper (API) processes a list of ImmoScout24.de URLs and extracts comprehensive property data. This actor enables you to gather detailed information from ImmoScout24 listings for research, analysis, or integration with other systems.

- **URL**: https://beta-securitybyobscurity.apify.com/clearpath/immoscout24-detail-listing-scraper.md
- **Developed by:** [ClearPath](https://beta-securitybyobscurity.apify.com/clearpath) (community)
- **Categories:** Real estate, Automation, Lead generation
- **Stats:** 59 total users, 19 monthly users, 97.7% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

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

# README

## 🏡 ImmoScout24.de Detail-Listing Scraper

Prefer the German description? ⬇️ Scroll down.

🎯 **Try it FREE for 3 days!**

Get started in under 2 minutes - just paste your ImmoScout24 search URL, click "Start", and watch new listings appear instantly. No credit card required for your free trial. [Start your free trial now →](https://console.apify.com/actors/wdaV0qFwqQJ2H7ywd)

### 🤩 Why Use This Scraper?

ImmoScout24 employs advanced anti-bot detection systems that make manual scraping nearly impossible for most users. Our specialized scraper:

- ✅ Bypasses ImmoScout24's sophisticated anti-scraping protections
- ✅ Provides reliable data extraction where DIY solutions typically fail
- ✅ Saves you weeks of development time and ongoing maintenance
- ✅ Handles the complexities of JavaScript rendering and CAPTCHA challenges
- ✅ **Scrape unlimited listings** - Process thousands of properties in a single run
- ✅ Super fast (seconds, not minutes even for processing 1000 listings in one run)

[![Fastest ImmoScout24 API scraper on the market](https://i.postimg.cc/mDRrW3rJ/immoscout24-detail-api-fast.png)](https://i.postimg.cc/mDRrW3rJ/immoscout24-detail-api-fast.png)

Whether you need property data for market analysis, research, price tracking or integration with your systems, this tool delivers consistent results without the headaches of building and maintaining your own scraper.

### 🌟 Features

- 🔍 **Comprehensive Data Extraction** - Extracts detailed property information including descriptions, pricing, features, contact details, and images
- ✉️ **Contact Information** - Includes contact name, address and phone number when available in the listing
- 🚀 **High Performance** - Process up to 1000 URLs per run within seconds
- ♾️ **Unlimited Usage** - No restrictions on the number of listings you can scrape
- 💰 **Cost-Effective** - Only $0.08 per 1000 results
- 🛡️ **IP Protection** - Automatically uses your residential proxy configuration from Apify
- 📊 **Rich Data Output** - JSON, CSV, or Excel formats for easy integration

### 💰 How Much Does It Cost?

ImmoScout24 Detail Scraper uses an efficient resource model for cost-effective data extraction:

#### Cost Breakdown

- **Cost per 1000 listings:** Only $0.08 - that's less than one cent!
- **Memory usage:** 256MB-512MB for optimal performance
- **Execution time:** Typically 10-60 seconds per run
- **Monthly subscription:** $10 USD for fair usage policy compliance

#### Memory Recommendations

| Use Case | Memory | Runtime | Listings | Cost Efficiency |
|----------|--------|---------|----------|-----------------|
| Small batches (1-100) | 128MB | 3-10 seconds | Up to 100 | ⭐⭐⭐⭐⭐ |
| Large batches (100-1000) | 256MB | 5-15 seconds | Up to 1000 | ⭐⭐⭐⭐⭐ |

With Apify's Free plan ($5 monthly credits), you can scrape thousands and thousands of listings. For regular usage, the $49/month Starter plan provides excellent value for comprehensive property data extraction.

### Quick Start

#### Step-by-Step Instructions

1. **Create an Apify account** [here](https://console.apify.com/sign-up)
   - Register for a free Apify account
   - No credit card required for free accounts

2. **Run the actor**
   - Navigate to the ImmoScout24 Detail-Listing Scraper
   - Enter your list of ImmoScout24 URLs
   - Click "Run"

3. **Access your data**
   - View results directly in the Apify console
   - Download as JSON, CSV, or Excel
   - Use the Apify API to integrate with your applications

### ⬇️ Input

The actor accepts a list of urls to process:

- `urls` (required): An array of ImmoScout24 Detail-Listing URLs to process. Make sure to use the .de domains as currently .at or .ch domains are not supported.

**Example Input:**

```json
{
  "urls": [
    "https://www.immobilienscout24.de/expose/123456789",
    "https://www.immobilienscout24.de/expose/987654321"
  ]
}
```

The array must not exceed 1000 entries per run, but you can run the actor multiple times for unlimited data collection.

### ⬆️ Output

The actor outputs a dataset with detailed information for each URL. **Sample output:**

```json
{
  "expose_id": 159114845,
  "listing_url": "https://www.immobilienscout24.de/expose/159114845",
  "description": "Modern ausgestattete 3-Zimmerwohnung mit ca. 96m² Wohnfläche mit Aufzug. Die vorhandene Einbauküche ...",
  "furnishing_description": null,
  "location_description": "Das Objekt befindet sich in belebter Wohnlage in Frankfurt am Main Nordend-West. Anbindung ...",
  "further_notes": null,
  "address_line_1": "60318 Nordend-West, Frankfurt am Main",
  "address_line_2": null,
  "location_lat": null,
  "location_lng": null,
  "online_since": null,
  "title": "Frankfurt-Nordend: moderne 3-Zimmer Wohnung mit Balkon, Parkett, EBK, ruhig und freundlich!",
  "heating_included_in_ancillary_costs": true,
  "deposit_costs": "5.250,00",
  "parking_info": "Garage",
  "vacant_at_from": "2025-08-01",
  "publication_state": "active",
  "real_estate_type": "APARTMENT_RENT",
  "property_type": "wohnung_miete",
  "rent_cold": 1750.0,
  "rent_total": 2050.0,
  "purchase_price": 0,
  "private_offer": true,
  "ancillary_costs": 300.0,
  "year_constructed": 1966,
  "condition": "well_kept",
  "size": "96",
  "fitted_kitchen": true,
  "garden": false,
  "number_of_floors": "4",
  "cellar": true,
  "house_number": "no_information",
  "rooms": "3",
  "elevator": true,
  "city_district": "Nordend_West",
  "firing_types": "oil",
  "street": "no_information",
  "zip_code": 60318,
  "heating_costs": 0.0,
  "city": "Frankfurt_am_Main",
  "state": "Hessen",
  "pets_allowed": false,
  "balcony_terrace": true,
  "floor": "1",
  "picture_count": 14,
  "is_expose_buy": false,
  "visits": null,
  "contact_requests": null,
  "pictures": [
    {
      "type": "full",
      "full_url": "<url of the image>",
      "web_url": "<url of the image>",
      "preview_url": "<url of the image>",
      "caption": "1_Grundriss"
    }
  ],
  "no_of_parking_spaces": null,
  "heating_type": "oil_heating",
  "type_of_flat": "apartment",
  "is_rented": false,
  "is_barrier_free": true,
  "contact": {
    "premium_profile_required_for_contacting": true,
    "type": "private",
    "name": "Mr. Name",
    "address": "",
    "phone_number": "+49 ..."
  },
  "attributes": {
    "obj_regio1": "Hessen",
    "obj_serviceCharge": "300",
    "obj_heatingType": "oil_heating",
    "obj_cId": "18660995",
    "obj_newlyConst": "n",
    "obj_balcony": "y",
    "obj_picturecount": "14",
    "obj_totalRent": "2050",
    "obj_yearConstructed": "1966",
    "geo_ot": "nordend_west",
    "obj_privateOffer": "true",
    "obj_scoutId": "159114845",
    "obj_firingTypes": "oil",
    "obj_hasKitchen": "y",
    "obj_ExclusiveExpose": "false",
    "geo_bln": "hessen",
    "obj_cellar": "y",
    "obj_yearConstructedRange": "2",
    "obj_baseRent": "1750",
    "obj_houseNumber": "no_information",
    "obj_livingSpace": "96",
    "geo_krs": "frankfurt_am_main",
    "obj_zipCode": "60318",
    "obj_condition": "well_kept",
    "obj_interiorQual": "sophisticated",
    "obj_highDemand": "false",
    "obj_petsAllowed": "negotiable",
    "obj_street": "no_information",
    "obj_lift": "y",
    "obj_depositLink": "y",
    "obj_baseRentRange": "8",
    "obj_streetPlain": "no_information",
    "obj_typeOfFlat": "apartment",
    "obj_noRooms": "3",
    "obj_assistedLiving": "n",
    "obj_ityp": "0,active",
    "geo_land": "deutschland",
    "obj_immotype": "wohnung_miete",
    "obj_privateOfferInvestmentCheck": "false",
    "obj_contactFormInputFieldCount": "10",
    "obj_floor": "1",
    "obj_cwId": "009.c750431e-0b31-4a5b-9742-a00d52586610",
    "obj_numberOfFloors": "4",
    "geo_bg": "innenstadt_iii",
    "obj_noRoomsRange": "3",
    "obj_garden": "n",
    "obj_regio4": "Nordend_West",
    "obj_barrierFree": "y",
    "obj_international": "n",
    "obj_regio3": "Innenstadt_III",
    "obj_objectnumber": "159114845",
    "obj_livingSpaceRange": "4",
    "obj_regio2": "Frankfurt_am_Main"
  }
}
```

#### Property Types

The property `real_estate_type` can be one of:

- APARTMENT\_BUY / APARTMENT\_RENT
- HOUSE\_BUY / HOUSE\_RENT
- INDUSTRY / OFFICE / STORE
- ASSISTED\_LIVING / GASTRONOMY
- SHORT\_TERM\_ACCOMMODATION / INVESTMENT
- LIVING\_RENT\_SITE / LIVING\_BUY\_SITE
- GARAGE\_RENT / GARAGE\_BUY
- TRADE\_SITE / SPECIAL\_PURPOSE
- FLAT\_SHARE\_ROOM / HOUSE\_TYPE
- COMPULSORY\_AUCTION / SENIOR\_CARE

### 🚀 Integration with ImmoScout24 API Lite

Combine the Detail Scraper with our **ImmoScout24 API Lite** for a complete monitoring and data extraction solution:

#### Perfect Workflow

1. **🔍 Monitor** - API Lite detects new listings instantly in monitor mode
2. **📋 Extract Details** - Detail Scraper gets comprehensive data from detected URLs
3. **📊 Analyze** - Process complete datasets for research or applications
4. **📱 Get Notified** - Receive alerts for each step

#### Integration Benefits

- **⚡ Speed Advantage** - Monitor + detailed extraction in automated pipeline
- **🎯 Precision Targeting** - Only get detailed data for new/relevant listings
- **💰 Cost Efficiency** - API Lite for monitoring ($0.000 per run), Detail Scraper for comprehensive data
- **🔄 Full Automation** - Complete hands-free property data collection

### ❓ Frequently Asked Questions

#### How reliable is the scraper?

Our scraper is designed to handle ImmoScout24's anti-bot measures and is continuously updated to adapt to site changes. With over 99%+ success rate for valid URLs.

#### What happens if a listing is no longer available?

The scraper will return an error message for that specific URL while continuing to process other URLs in your list.

#### Can I use this data commercially?

Yes, the data extracted can be used for commercial purposes. However, we recommend reviewing ImmoScout24's terms of service regarding data usage.

#### Can I scrape more than 1000 listings at once?

Currently limited to 1000 URLs per run, but you can run the actor multiple times for unlimited data collection. For larger batches, contact us for custom solutions.

#### What's the difference between this and ImmoScout24 API Lite?

- **API Lite**: Fast monitoring, basic data, real-time alerts, monitor mode, best for regio, radius and shape (Zeichnen) searches
- **Detail Scraper**: Comprehensive property data, contact information (email and phone number if present), full descriptions, etc.

#### Do I need proxies?

The actor automatically uses Apify's residential proxy configuration when available. For optimal performance with large batches, residential proxies are recommended.

### Usage

- **Monthly subscription fee:** $10 USD
- **Unlimited runs:** No restriction on frequency, only total listings processed

### 🔧 Advanced Usage Examples

#### JavaScript Integration

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

const client = new ApifyApi({ token: 'your_apify_token' });

const run = await client.actor('immoscout24-detail-scraper').call({
    urls: [
        "https://www.immobilienscout24.de/expose/123456789",
        "https://www.immobilienscout24.de/expose/987654321"
    ]
}, {
    memory: 1024 // Use 1024MB for large batches
});

const dataset = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Extracted data from ${dataset.items.length} properties`);
```

#### Python Integration

```python
from apify_client import ApifyClient

client = ApifyClient("your_apify_token")

run = client.actor('immoscout24-detail-scraper').call(
    run_input={
        "urls": [
            "https://www.immobilienscout24.de/expose/123456789",
            "https://www.immobilienscout24.de/expose/987654321"
        ]
    },
    memory_mbytes=1024
)

dataset_items = client.dataset(run['defaultDatasetId']).list_items().items
print(f"Extracted data from {len(dataset_items)} properties")
```

### 📊 Popular Use Cases

#### Real Estate Investment Analysis

- Extract comprehensive property data for investment decisions
- Track pricing trends across different markets
- Analyze property features and neighborhood characteristics
- Build automated valuation models

#### Market Research & Analytics

- Collect large datasets for academic or commercial research
- Monitor competitive pricing and availability
- Generate market reports and insights
- Track property market trends over time

#### Property Management

- Extract detailed information for portfolio analysis
- Monitor competitor properties and pricing
- Automate property data collection for CRM systems
- Generate comprehensive property reports

#### Integration with Other Tools

- **Zapier/Make**: Automate workflows with 3000+ apps
- **Google Sheets**: Automatically populate spreadsheets
- **CRM Systems**: Import property data directly
- **Business Intelligence**: Feed data into analytics platforms

### 🙋‍♀️ Custom Solutions

Need help or a custom solution? We offer:

- **Custom data fields** - Extract additional information specific to your needs
- **Bulk processing** - Handle larger datasets with custom configurations
- **API integrations** - Direct integration with your existing systems
- **White-label solutions** - Branded scraping solutions for your business

Contact me at: max@mapa.slmail.me

***

### Deutsche Version

Der 🏡 ImmoScout24.de Detail-Listing Scraper verarbeitet eine Liste von ImmobilienScout24.de URLs und extrahiert umfassende Immobiliendaten. Dieser Actor ermöglicht es Dir, detaillierte Informationen aus ImmoScout24-Angeboten für Recherche, Analyse oder Integration mit anderen Systemen zu sammeln.

#### Warum diesen Scraper verwenden?

ImmoScout24 setzt fortschrittliche Anti-Bot-Erkennungssysteme ein, die manuelles Scraping für die meisten Nutzer nahezu unmöglich machen. Unser spezialisierter Scraper:

- ✅ Umgeht ImmoScout24's ausgeklügelte Anti-Scraping-Schutzmaßnahmen
- ✅ Bietet zuverlässige Datenextraktion, wo DIY-Lösungen typischerweise scheitern
- ✅ Spart Dir Wochen an Entwicklungszeit und laufender Wartung
- ✅ Bewältigt die Komplexität von JavaScript-Rendering und CAPTCHA-Herausforderungen
- ✅ **Unbegrenzte Datenextraktion** - Verarbeite Tausende von Immobilien in einem Durchlauf
- ✅ Superschnell (Sekunden statt Minuten, selbst bei der Verarbeitung von 1000 Angeboten)

#### 🌟 Funktionen

- 🔍 **Umfassende Datenextraktion** - Extrahiert detaillierte Immobilieninformationen einschließlich Beschreibungen, Preisgestaltung, Merkmale, Kontaktdaten und Bilder
- ✉️ **Kontaktinformationen** - Beinhaltet Kontaktname, Adresse und Telefonnummer, wenn im Angebot verfügbar
- 🚀 **Hohe Leistung** - Verarbeitet bis zu 1000 URLs pro Durchlauf innerhalb von Sekunden
- ♾️ **Unbegrenzte Nutzung** - Keine Beschränkungen bei der Anzahl der Immobilien, die Du scrapen kannst
- 💰 **Kosteneffektiv** - Nur $0,08 pro 1000 Ergebnisse
- 🛡️ **IP-Schutz** - Verwendet automatisch Deine Residential-Proxy-Konfiguration von Apify

#### Kostenlose Testversion

Du kannst den Actor jetzt 3 Tage kostenlos ausprobieren. Erst nach der Testphase wird die monatliche Gebühr direkt von Deinem Apify-Konto abgebucht.

#### 💰 Kosten

ImmoScout24 Detail Scraper verwendet ein effizientes Ressourcenmodell für kostengünstige Datenextraktion:

- **Kosten pro 1000 Immobilien:** Nur $0,08 - das ist weniger als ein Cent!
- **Speichernutzung:** 512MB-1024MB für optimale Leistung
- **Ausführungszeit:** Typischerweise 10-60 Sekunden pro Durchlauf
- **Monatliches Abonnement:** $10 USD für Fair-Usage-Policy-Compliance

#### Schnellstart

1. **Erstelle ein Apify-Konto** [hier](https://console.apify.com/sign-up)
2. **Führe den Actor aus** - Navigiere zum Scraper, gib Deine URLs ein, klicke "Run"
3. **Greife auf Deine Daten zu** - JSON, CSV oder Excel Download verfügbar

#### Nutzung

- **Monatliche Abonnementgebühr:** $10 USD
- **Unbegrenzte Durchläufe:** Keine Beschränkung der Häufigkeit, nur der verarbeiteten Gesamtanzahl

#### 🙋‍♀️ Individuelle Lösungen

Falls Du Hilfe oder eine individuelle Lösung benötigst (z.B. enterprise pricing), kontaktiere mich unter: max@mapa.slmail.me

# Actor input Schema

## `urls` (type: `array`):

An array of ImmoScout24 Detail-Listing URLs to process. Make sure to use the .de domains as currently .at or .ch domains are not supported. Must not exceed 10000 entries. May also use ID's instead of URL's.

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

Select proxies to be used by your crawler. Residential proxies are recommended for best results.

## Actor input object example

```json
{
  "urls": [
    "https://www.immobilienscout24.de/expose/160544504"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "DE"
  }
}
```

# 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 = {
    "urls": [
        "https://www.immobilienscout24.de/expose/160544504"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "DE"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/immoscout24-detail-listing-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 = {
    "urls": ["https://www.immobilienscout24.de/expose/160544504"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "DE",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/immoscout24-detail-listing-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 '{
  "urls": [
    "https://www.immobilienscout24.de/expose/160544504"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "DE"
  }
}' |
apify call clearpath/immoscout24-detail-listing-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🏡 ImmoScout24.de Detail-Listing Scraper (API)",
        "description": "The 🏡 ImmobilienScout24.de Detail-Listing Scraper (API) processes a list of ImmoScout24.de URLs and extracts comprehensive property data. This actor enables you to gather detailed information from ImmoScout24 listings for research, analysis, or integration with other systems.",
        "version": "1.1",
        "x-build-id": "DnrU1y46eICc197hX"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/clearpath~immoscout24-detail-listing-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-clearpath-immoscout24-detail-listing-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/clearpath~immoscout24-detail-listing-scraper/runs": {
            "post": {
                "operationId": "runs-sync-clearpath-immoscout24-detail-listing-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/clearpath~immoscout24-detail-listing-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-clearpath-immoscout24-detail-listing-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": [
                    "urls"
                ],
                "properties": {
                    "urls": {
                        "title": "URLs",
                        "maxItems": 10000,
                        "type": "array",
                        "description": "An array of ImmoScout24 Detail-Listing URLs to process. Make sure to use the .de domains as currently .at or .ch domains are not supported. Must not exceed 10000 entries. May also use ID's instead of URL's.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to be used by your crawler. Residential proxies are recommended for best results."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
