# Willhaben Cars Scraper: Gebrauchtwagen Daten (`getascraper/willhaben-cars-scraper`) Actor

Extract used-car listings (Gebrauchtwagen) from Willhaben.at, Austria's largest classifieds site, with price, year, mileage, fuel type, and seller filters applied to each listing. JSON or CSV rows ready for Sheets, Make, and Zapier.

- **URL**: https://apify.com/getascraper/willhaben-cars-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.59 / 1,000 car listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Cars Scraper: Gebrauchtwagen Daten

<table width="100%" style="border-collapse:collapse;table-layout:fixed;margin:0 0 16px">
<tbody>
<tr>
<td colspan="4" style="padding:14px 18px;background:#FDECEB;border:1px solid #F5C6C2;border-top:3px solid #E2231A;border-radius:10px 10px 0 0">
<span style="font-size:16px;font-weight:700;color:#1C1917">Austria is one stop in a ten-market European used-car dataset.</span> <span style="font-size:15px;color:#57534E">Willhaben.at covers Austria's largest classifieds site with full published-index coverage; the actors below extend the same row shape across Benelux, Nordic, DACH, and Iberian markets.</span>
</td>
</tr>
<tr>
<td colspan="4" style="padding:10px 14px;background:#E2231A;border-left:1px solid #E2231A;border-right:1px solid #E2231A">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">EUROPEAN USED-CAR CLASSIFIEDS COVERAGE</span> <span style="color:#FFFFFF;opacity:0.85;font-size:13px">&nbsp;&nbsp;Cross-border sourcing and pricing data spanning Benelux, Nordic, DACH, Iberian, and UK classifieds, plus a pan-EU dealer platform. Ten separate markets, not one.</span>
</td>
</tr>
<tr>
<td width="25%" style="width:25%;padding:11px 12px;border-left:1px solid #F5C6C2;border-bottom:1px solid #F5C6C2;vertical-align:top;background:#FDECEB;border-radius:0 0 0 10px">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-oZ9ZUnSQ6at8KYKRe-nhHJXjuCwu-Willhaben.png" width="18" height="18" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/willhaben-cars-scraper" style="color:#E2231A;text-decoration:none;font-weight:700;font-size:13px">Willhaben (AT)</a></span><br>
<span style="color:#E2231A;font-size:11px;font-weight:700">&#10148; You are here</span>
</td>
<td width="25%" style="width:25%;padding:11px 12px;border-left:1px solid #F5C6C2;border-bottom:1px solid #F5C6C2;vertical-align:top;background:#FFFFFF">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-thiniC0tVg4W8MoBY-xZIb7wZ3WN-images_%2825%29.jpeg" width="18" height="18" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/2dehands-cars-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">2dehands (BE)</a></span><br>
<span style="color:#57534E;font-size:11px">Belgian classifieds</span>
</td>
<td width="25%" style="width:25%;padding:11px 12px;border-left:1px solid #F5C6C2;border-bottom:1px solid #F5C6C2;vertical-align:top;background:#FFFFFF">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-tdTMqHz8DBeicY7Rp-HYWcWGJ9Hr-CompressJPEG.Online_img%28512x512%29_%2825%29.jpg" width="18" height="18" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/autohero-cars-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Autohero (10 EU)</a></span><br>
<span style="color:#57534E;font-size:11px">Pan-EU dealer catalog</span>
</td>
<td width="25%" style="width:25%;padding:11px 12px;border-left:1px solid #F5C6C2;border-right:1px solid #F5C6C2;border-bottom:1px solid #F5C6C2;vertical-align:top;background:#FFFFFF;border-radius:0 0 10px 0">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-ti8eKSu6uj7OaYwmE-DtDwahgDq0-images_%2826%29.jpeg" width="18" height="18" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/bilbasen-cars-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Bilbasen (DK)</a></span><br>
<span style="color:#57534E;font-size:11px">Danish classifieds</span>
</td>
</tr>
</tbody>
</table>

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#FDECEB;border:1px solid #F5C6C2;border-top:4px solid #E2231A;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Austria's biggest classifieds site, turned into clean rows.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Scrape public Willhaben.at used-car listings with real price, mileage, year, fuel, and seller filters, and export specs, seller info, and photo galleries to Sheets, Excel, or n8n.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F5C6C2;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#E2231A">🎯 Real filters</span><br>
<span style="font-size:12px;color:#57534E">Price, mileage, year, fuel, transmission, and seller type, not just a keyword box.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F5C6C2;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#E2231A">📈 Full coverage</span><br>
<span style="font-size:12px;color:#57534E">Discovers listings across Willhaben's entire published car index, not one search page.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F5C6C2;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#E2231A">🪪 Seller context</span><br>
<span style="font-size:12px;color:#57534E">Private seller or dealer, plus how long they've been active, on every record.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F5C6C2;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#E2231A">🖼️ Full galleries</span><br>
<span style="font-size:12px;color:#57534E">Every public listing photo, not just the cover image.</span>
</td>
</tr>
</table>

Most Willhaben scrapers hand you a keyword box and hope. This Actor exposes the same price, mileage, year, fuel, transmission, and seller-type filters you'd use on the site itself, so what you scrape is already the inventory you actually want.

### 🔍 What does Willhaben Cars Scraper do?

Willhaben Cars Scraper turns public used-car listings from [Willhaben.at](https://www.willhaben.at/iad/gebrauchtwagen/auto/), Austria's largest classifieds site, into structured data: price, year, mileage, fuel type, transmission, engine power, body type, seller details, location, and full photo galleries.

Set a filtered search for price range, mileage range, model year, fuel type, transmission, and seller type, or paste specific Willhaben.at listing links directly. The Actor returns only data present on the public listing, running on Apify with API access, scheduling, and export to your existing tools.

### 💡 Why use it?

- **Dealers and sourcing teams** can pull inventory under a price and mileage ceiling without checking listings one by one.
- **Market researchers** can track price, year, and mileage across comparable vehicles for pricing analysis.
- **Buyers and resellers** can monitor a filtered slice of the market on a schedule and catch new listings as they post.

### 🧭 How to use it

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#FDECEB;border:1px solid #F5C6C2;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#E2231A;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Set your filters</span><br>
<span style="font-size:12px;color:#57534E">Price, mileage, year, fuel, transmission, and seller type.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FDECEB;border:1px solid #F5C6C2;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#E2231A;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Run the Actor</span><br>
<span style="font-size:12px;color:#57534E">Set how many listings to scan and how many to return.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FDECEB;border:1px solid #F5C6C2;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#E2231A;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Export results</span><br>
<span style="font-size:12px;color:#57534E">Download your dataset in JSON, CSV, Excel, or HTML.</span>
</td>
</tr>
</table>

### 🧾 Input

| Field | Type | Required | Description |
|---|---|---|---|
| `startUrls` | array of URLs | No | Paste specific Willhaben.at used-car listing links. Overrides automatic discovery below. |
| `maxListingsToScan` | integer | No | How many listings to check against your filters while searching for matches. Default `200`. |
| `priceFromEur` / `priceToEur` | integer | No | Minimum and maximum asking price, in euros. |
| `yearFrom` / `yearTo` | integer | No | Earliest and latest model year. |
| `mileageFromKm` / `mileageToKm` | integer | No | Minimum and maximum odometer reading, in kilometers. |
| `fuelTypes` | array of enum | No | One or more fuel types: petrol, diesel, electric, petrol hybrid, diesel hybrid, CNG, or LPG. |
| `transmissions` | array of enum | No | Manual, automatic, or both. |
| `sellerTypes` | array of enum | No | Private seller, dealer, or both. |
| `maxItems` | integer | No | Maximum matching listings saved to the dataset. Default `25`. |
| `proxyConfiguration` | object | No | Optional proxy settings. Not required for normal use. |
| `sitemapIndexUrl` | string | No | Advanced override for the discovery source. Leave blank unless asked to change it. |

### 📦 Output

Every record includes the listing link, price, year, mileage, fuel type, transmission, engine power, seller details, location, and the full public photo gallery.

```json
{
  "listing_url": "https://www.willhaben.at/iad/gebrauchtwagen/d/auto/ford-kuga-2-0-tdci-titanium-741569030/",
  "listing_id": "741569030",
  "title": "Ford Kuga 2.0 TDCi Titanium",
  "make": "Ford",
  "model": "Kuga",
  "model_variant": "2.0 TDCi Titanium",
  "price": 10000,
  "price_display": "€ 10.000",
  "currency": "EUR",
  "year": 2016,
  "mileage_km": 164000,
  "fuel_type": "Diesel",
  "transmission": "Schaltgetriebe",
  "engine_power_kw": 88,
  "car_type": "SUV / Geländewagen",
  "city": "Tamsweg",
  "province": "Salzburg",
  "seller_name": "Emad Saqar",
  "seller_type": "private",
  "image_url": "https://cache.willhaben.at/mmo/0/741/569/030_-1926644528.jpg",
  "published_date": "2026-08-17T15:05:42+0200",
  "scraped_at": "2026-08-20T23:16:35.257Z"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### 📊 Data table

| Field | Type | Description |
|---|---|---|
| `listing_url`, `listing_id` | string | Public listing link and its source ID. |
| `title`, `make`, `model`, `model_variant` | string | Listing headline and vehicle identity. |
| `price`, `price_display`, `currency` | number, string | Asking price and currency (EUR). |
| `year`, `mileage_km` | number | Model year and odometer reading in kilometers. |
| `fuel_type`, `transmission`, `engine_power_kw` | string, string, number | Vehicle specification fields, when published. |
| `car_type`, `doors`, `seats`, `wheel_drive`, `exterior_colour`, `condition` | string, number, number, string, string, string | Body type and other vehicle detail fields. |
| `equipment` | array | Feature list, when published. |
| `description` | string | Full listing text, when published. |
| `street`, `city`, `postcode`, `province`, `coordinates` | string | Listing location fields, when published. |
| `seller_name`, `seller_type`, `seller_registered_since`, `seller_active_ad_count` | string, string, string, number | Seller identity and whether they're private or a dealer. |
| `image_url`, `image_urls` | string, array | Primary photo and the full public gallery. |
| `published_date` | string | When the listing was published, as shown on the source page. |
| `scraped_at` | string | Timestamp of when this record was built. |

Any field the source listing does not publish is left out of that record entirely, so you never see placeholder or made-up values.

### 💰 Pricing

This Actor runs on Apify's pay-per-event pricing. You only pay for listings actually returned, and an empty or failed run costs nothing beyond a few seconds of compute. There is no subscription.

### ⭐ Enjoying Willhaben Cars Scraper?

<table width="100%">
<tr>
<td style="padding:20px 24px 14px;background:#FDECEB;border:1px solid #F5C6C2;border-left:5px solid #E2231A;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">This Actor just saved you from checking Willhaben listings one at a time.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other dealers, researchers, and buyers find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#E2231A;border:1px solid #F5C6C2;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/willhaben-cars-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### 🛠️ Tips and advanced options

- Raise `maxListingsToScan` if your filters are narrow and a run returns fewer results than expected. A wider filter needs more listings checked to find enough matches.
- Set both `priceFromEur` and `priceToEur` together to cut down on irrelevant results fast.
- For a specific make, model, or listing you already found on the site, paste the link into `startUrls` instead of using the filters.
- Willhaben's own filtered search cannot be requested directly, so this Actor checks each listing's real published data against your filters rather than asking the source site for a pre-filtered page. This has no effect on data accuracy, only on how the Actor finds matches.

### ❓ FAQ

**Can I filter by a specific make or model?**
There is no dedicated make/model input field. For a specific make or model, either use `startUrls` with a link you already have, or filter the returned results afterward using the make and model fields in the output.

**Why is a field missing from an item?**
Willhaben listings don't publish every detail. Missing values are omitted rather than replaced with guesses.

**Is this affiliated with Willhaben?**
No. This is an independent tool that collects publicly available listing information. Use it in line with applicable rules and the source website's terms.

Found a bug or want a feature added? Open an issue on the Actor's Issues tab, or reach out for a custom version of this Actor.

### 🔗 Other actors

- [Blocket Cars Scraper: Bilar till salu](https://apify.com/getascraper/blocket-cars-scraper) ↗ - Used-car listings from Sweden.
- [Standvirtual Cars Scraper: Carros usados](https://apify.com/getascraper/standvirtual-cars-scraper) ↗ - Used-car listings from Portugal.
- [OtoMoto Cars Scraper: Samochody używane](https://apify.com/getascraper/otomoto-cars-scraper) ↗ - Used-car inventory from Poland's largest car marketplace.
- [Marktplaats Cars Scraper: Tweedehands auto's](https://apify.com/getascraper/marktplaats-cars-scraper) ↗ - Used-car listings from the Netherlands.
- [Kleinanzeigen Autos Scraper: Dealer Data](https://apify.com/getascraper/kleinanzeigen-cars-scraper) ↗ - Dealer-ready German car inventory with native filters.

# Actor input Schema

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

Paste one or more Willhaben.at used-car listing links directly. When set, this replaces automatic discovery below. Leave empty to have the Actor discover listings on its own.

## `maxListingsToScan` (type: `integer`):

How many listings to open and check against your filters while searching for matches. A higher number finds more matching results but takes longer. Ignored when Start URLs is set.

## `priceFromEur` (type: `integer`):

Minimum asking price in euros.

## `priceToEur` (type: `integer`):

Maximum asking price in euros.

## `yearFrom` (type: `integer`):

Earliest model year.

## `yearTo` (type: `integer`):

Latest model year.

## `mileageFromKm` (type: `integer`):

Minimum odometer reading in kilometers.

## `mileageToKm` (type: `integer`):

Maximum odometer reading in kilometers.

## `fuelTypes` (type: `array`):

Restrict to one or more fuel types, as published on the listing.

## `transmissions` (type: `array`):

Restrict to one or more transmission types.

## `sellerTypes` (type: `array`):

Restrict to private sellers, dealers, or both.

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

Optional proxy settings. Willhaben's listing and detail pages work with a direct connection by default.

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

Maximum number of matching car listings to return.

## `sitemapIndexUrl` (type: `string`):

Advanced: override the Willhaben sitemap index used for automatic discovery. Leave blank unless Willhaben changes its published sitemap location.

## Actor input object example

```json
{
  "startUrls": [],
  "maxListingsToScan": 200,
  "fuelTypes": [],
  "transmissions": [],
  "sellerTypes": [],
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "maxItems": 10,
  "sitemapIndexUrl": ""
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

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

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [],
    "maxListingsToScan": 200,
    "fuelTypes": [],
    "transmissions": [],
    "sellerTypes": [],
    "proxyConfiguration": {
        "useApifyProxy": false
    },
    "maxItems": 10,
    "sitemapIndexUrl": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/willhaben-cars-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [],
    "maxListingsToScan": 200,
    "fuelTypes": [],
    "transmissions": [],
    "sellerTypes": [],
    "proxyConfiguration": { "useApifyProxy": False },
    "maxItems": 10,
    "sitemapIndexUrl": "",
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/willhaben-cars-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [],
  "maxListingsToScan": 200,
  "fuelTypes": [],
  "transmissions": [],
  "sellerTypes": [],
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "maxItems": 10,
  "sitemapIndexUrl": ""
}' |
apify call getascraper/willhaben-cars-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/willhaben-cars-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/oZ9ZUnSQ6at8KYKRe/builds/FumoHQSnYb94dABXD/openapi.json
