# Willhaben.at Scraper - All-in-One Low-cost 🇦🇹🛒🏠🚗💼 (`delectable_incubator/willhaben-at-scraper-all-in-one-low-cost`) Actor

🛒 Scrape Willhaben.at listings and extract titles, prices, categories, locations, seller details, descriptions, attributes, images, and listing URLs. Perfect for market research, price monitoring, competitor analysis, classified ads tracking, real estate intelligence, and AI datasets. 🚀📊

- **URL**: https://apify.com/delectable\_incubator/willhaben-at-scraper-all-in-one-low-cost.md
- **Developed by:** [Prime Scrape](https://apify.com/delectable_incubator) (community)
- **Categories:** Jobs, E-commerce, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.00005 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

### 🏠 Willhaben.at All-in-One Scraper 🔍🇦🇹📊 | Bulk URL Listings Scraper | Jobs Properties E-Commerce Immobilien Auto & Cars

The **Willhaben.at All-in-One Scraper** is a fast, scalable, and powerful Apify actor designed to extract structured listings directly from **Willhaben.at**.

Simply provide one or more **Willhaben listing URLs**, and the scraper automatically detects the category, handles pagination, and extracts structured data from Austria's largest classifieds marketplace.

Perfect for market research, real estate intelligence, vehicle monitoring, job analytics, product tracking, lead generation, and AI datasets.

---

## 🔍 What This Scraper Does

Simply provide one or more **Willhaben URLs**, and the scraper will automatically:

✅ Detect the listing category

✅ Scrape Real Estate, Marketplace, Cars, and Jobs

✅ Handle automatic pagination

✅ Extract structured listing data

✅ Export clean datasets ready for analysis

---

### 🏡 Supported Categories

🏠 Real Estate

🛒 Marketplace

🚗 Cars

💼 Jobs

---

### 📦 Extracted Fields

#### Common Fields

| Field | Description |
|------|-------------|
| `id` | Listing identifier |
| `title` | Listing title |
| `price` | Listing price |
| `location` | City or region |
| `description` | Listing description |
| `published` | Publication date |
| `detailUrl` | Listing URL |
| `imageUrl` | Main image |

#### Additional Fields (depending on category)

🏠 Property type

🏠 Rooms

🏠 Surface

🏠 Rent / Sale

🚗 Mileage

🚗 Fuel type

🚗 Transmission

🚗 Registration year

💼 Company

💼 Job details

🛒 Product condition

🛒 Seller information

---

## ⚡ Bulk URL Input

Simply provide one or multiple Willhaben URLs.

````

{
"urls": \[
"https://www.willhaben.at/iad/immobilien/mietwohnungen/mietwohnung-angebote?rows=30\&page=1",
"https://www.willhaben.at/iad/kaufen-und-verkaufen/marktplatz/fernseher-6875",
"https://www.willhaben.at/iad/gebrauchtwagen/auto/l/neuwagen",
"https://www.willhaben.at/jobs/suche?location=Wien"
],
"maxItemsPerUrl": 100
}

```

---

### 📥 Input Fields

| Field | Type | Description |
|------|------|-------------|
| `urls` | array | One or more Willhaben listing/search URLs |
| `maxItemsPerUrl` | integer | Maximum listings to extract per URL |

---

### 🚀 Why Use This Scraper?

🏠 Real estate market monitoring

🚗 Used car price tracking

🛒 Marketplace product research

💼 Job market intelligence

📊 Competitor monitoring

📈 Lead generation

🤖 AI & machine learning datasets

⚡ Automatic pagination

☁️ Cloud scalable via Apify

---

### 📤 Export Formats

Export your dataset as:

✅ JSON

✅ CSV

✅ Excel (XLSX)

✅ XML

✅ HTML

---

### 📊 Example Output

```

{
"category": "real\_estate",
"id": "12345678",
"title": "2-Zimmer Wohnung in Wien",
"price": "€850",
"location": "Wien",
"description": "Beautiful apartment in the city center.",
"published": "2026-03-01",
"seller": "Max Mustermann",
"attributes": "2 rooms, 55m²",
"detailUrl": "https://www.willhaben.at/...",
"imageUrl": "https://images.willhaben.at/..."
}

````

---

### 💡 Popular Use Cases

🏠 Austrian real estate research

🚗 Vehicle market analysis

🛒 Marketplace price monitoring

💼 Recruitment & hiring analytics

📊 Market intelligence

📦 Product catalog creation

🤖 AI training datasets

📈 Competitive analysis

---

### ⚡ Key Features

✔ Bulk URL support

✔ Automatic category detection

✔ Automatic pagination

✔ High-speed extraction

✔ Structured datasets

✔ Export-ready results

✔ Cloud execution on Apify

✔ No coding required

---

### 💸 Pricing

This scraper runs on a **pay-per-result pricing model**.

You only pay for successfully extracted records.

💳 **Price:** **$0.79 / 1,000 results**

---

### ❓ FAQ

#### Can I scrape multiple URLs?

Yes. Simply provide multiple Willhaben URLs in a single run.

#### Does the scraper detect categories automatically?

Yes. It automatically detects Real Estate, Marketplace, Cars, and Jobs based on each URL.

#### Does it handle pagination?

Yes. The scraper automatically continues until all listings are collected or the maximum limit is reached.

#### Can I export the data?

Yes. JSON, CSV, Excel, XML, and HTML are supported.

#### Is coding required?

No. This is a fully no-code Apify actor.

---

### ⚠️ Disclaimer

This tool is an independent scraping solution and is not affiliated with or endorsed by Willhaben.at.

---

### 🌍 PrimeScrape Ecosystem

Built for large-scale scraping, automation, AI datasets, and market intelligence.

🏠 Real estate scraping

🛒 Marketplace intelligence

🚗 Automotive analytics

💼 Job market monitoring

🤖 AI datasets

⚙️ Automation pipelines

---

### 📫 Support

⭐⭐⭐⭐⭐ Leave a review if you enjoy this scraper.

📩 Need a custom scraper or enterprise solution? Contact the **PrimeScrape** team through Apify.

# Actor input Schema

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

List of willhaben.at search URLs to scrape.

Supports all 4 verticals — auto-detected from the URL:

🏠 Immobilien:
https://www.willhaben.at/iad/immobilien/mietwohnungen/mietwohnung-angebote?...

🛒 Marktplatz:
https://www.willhaben.at/iad/kaufen-und-verkaufen/marktplatz/...

🚗 Gebrauchtwagen:
https://www.willhaben.at/iad/gebrauchtwagen/auto/...

💼 Jobs:
https://www.willhaben.at/jobs/suche?...

Pagination is handled automatically via the &page= parameter.
Stopping after 2 consecutive pages with no new results.

⚠️ URLs must be from willhaben.at.
## `maxitems` (type: `integer`):

Maximum number of listings to collect per URL.



## Actor input object example

```json
{
  "urls": [
    "https://www.willhaben.at/iad/gebrauchtwagen/auto/gebrauchtwagenboerse?sfId=a8cb34eb-bb64-4ad1-a935-db0aaef11e00&rows=30&MOTOR_CONDITION=10&isNavigation=true&CAR_MODEL/MAKE=1005&CAR_MODEL/MAKE=1017&CAR_MODEL/MAKE=10034&page=1",
    "https://www.willhaben.at/iad/kaufen-und-verkaufen/marktplatz/fernseher-6875?isNavigation=true",
    "https://www.willhaben.at/iad/gebrauchtwagen/auto/l/neuwagen",
    "https://www.willhaben.at/jobs/suche?location=Wien&region=14486"
  ],
  "maxitems": 30
}
````

# Actor output Schema

## `overview` (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 = {
    "urls": [
        "https://www.willhaben.at/iad/gebrauchtwagen/auto/gebrauchtwagenboerse?sfId=a8cb34eb-bb64-4ad1-a935-db0aaef11e00&rows=30&MOTOR_CONDITION=10&isNavigation=true&CAR_MODEL/MAKE=1005&CAR_MODEL/MAKE=1017&CAR_MODEL/MAKE=10034&page=1",
        "https://www.willhaben.at/iad/kaufen-und-verkaufen/marktplatz/fernseher-6875?isNavigation=true",
        "https://www.willhaben.at/iad/gebrauchtwagen/auto/l/neuwagen",
        "https://www.willhaben.at/jobs/suche?location=Wien&region=14486"
    ],
    "maxitems": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("delectable_incubator/willhaben-at-scraper-all-in-one-low-cost").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.willhaben.at/iad/gebrauchtwagen/auto/gebrauchtwagenboerse?sfId=a8cb34eb-bb64-4ad1-a935-db0aaef11e00&rows=30&MOTOR_CONDITION=10&isNavigation=true&CAR_MODEL/MAKE=1005&CAR_MODEL/MAKE=1017&CAR_MODEL/MAKE=10034&page=1",
        "https://www.willhaben.at/iad/kaufen-und-verkaufen/marktplatz/fernseher-6875?isNavigation=true",
        "https://www.willhaben.at/iad/gebrauchtwagen/auto/l/neuwagen",
        "https://www.willhaben.at/jobs/suche?location=Wien&region=14486",
    ],
    "maxitems": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("delectable_incubator/willhaben-at-scraper-all-in-one-low-cost").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.willhaben.at/iad/gebrauchtwagen/auto/gebrauchtwagenboerse?sfId=a8cb34eb-bb64-4ad1-a935-db0aaef11e00&rows=30&MOTOR_CONDITION=10&isNavigation=true&CAR_MODEL/MAKE=1005&CAR_MODEL/MAKE=1017&CAR_MODEL/MAKE=10034&page=1",
    "https://www.willhaben.at/iad/kaufen-und-verkaufen/marktplatz/fernseher-6875?isNavigation=true",
    "https://www.willhaben.at/iad/gebrauchtwagen/auto/l/neuwagen",
    "https://www.willhaben.at/jobs/suche?location=Wien&region=14486"
  ],
  "maxitems": 30
}' |
apify call delectable_incubator/willhaben-at-scraper-all-in-one-low-cost --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=delectable_incubator/willhaben-at-scraper-all-in-one-low-cost",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Willhaben.at Scraper - All-in-One Low-cost 🇦🇹🛒🏠🚗💼",
        "description": "🛒 Scrape Willhaben.at listings and extract titles, prices, categories, locations, seller details, descriptions, attributes, images, and listing URLs. Perfect for market research, price monitoring, competitor analysis, classified ads tracking, real estate intelligence, and AI datasets. 🚀📊",
        "version": "0.0",
        "x-build-id": "LB0WQrZmAAgPcEsU6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/delectable_incubator~willhaben-at-scraper-all-in-one-low-cost/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-delectable_incubator-willhaben-at-scraper-all-in-one-low-cost",
                "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/delectable_incubator~willhaben-at-scraper-all-in-one-low-cost/runs": {
            "post": {
                "operationId": "runs-sync-delectable_incubator-willhaben-at-scraper-all-in-one-low-cost",
                "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/delectable_incubator~willhaben-at-scraper-all-in-one-low-cost/run-sync": {
            "post": {
                "operationId": "run-sync-delectable_incubator-willhaben-at-scraper-all-in-one-low-cost",
                "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",
                    "maxitems"
                ],
                "properties": {
                    "urls": {
                        "title": "Willhaben.at URLs 🇦🇹",
                        "type": "array",
                        "description": "List of willhaben.at search URLs to scrape.\n\nSupports all 4 verticals — auto-detected from the URL:\n\n🏠 Immobilien:\nhttps://www.willhaben.at/iad/immobilien/mietwohnungen/mietwohnung-angebote?...\n\n🛒 Marktplatz:\nhttps://www.willhaben.at/iad/kaufen-und-verkaufen/marktplatz/...\n\n🚗 Gebrauchtwagen:\nhttps://www.willhaben.at/iad/gebrauchtwagen/auto/...\n\n💼 Jobs:\nhttps://www.willhaben.at/jobs/suche?...\n\nPagination is handled automatically via the &page= parameter.\nStopping after 2 consecutive pages with no new results.\n\n⚠️ URLs must be from willhaben.at.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxitems": {
                        "title": "Maximum listings per URL 📄",
                        "type": "integer",
                        "description": "Maximum number of listings to collect per URL.\n\n",
                        "default": 30
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
