Willhaben.at Vehicles Scraper
Pricing
from $2.50 / 1,000 results
Willhaben.at Vehicles Scraper
Austria used-vehicle scraper for Willhaben.at — cars, motorcycles, commercial vehicles, caravans & motorhomes — with province filters and built-in delta mode.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Artsiom Kunitsyn
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
willhaben-vehicles-scraper
Scrapes used-vehicle listings from Willhaben.at — cars, motorcycles &
quads, commercial vehicles/pickups, caravans & motorhomes — via Willhaben's own internal JSON
search API, not HTML scraping. Sibling actor to willhaben-scraper (real estate), reusing the same
API family and delta-mode design against a different Willhaben vertical.
Contents
🔑 Key features
- No URL wrangling. Pick a category and an Austrian province from a dropdown.
- Delta mode built in. Every run classifies each listing as
new,changed(price moved),unchanged, ordelistedagainst a persisted baseline — same design aswillhaben-scraper. - Rich, structured vehicle data. Make/model/trim, mileage, year, fuel type, transmission, engine power, condition, equipment list, and dealer-vs-private seller — all read directly from the search response, no per-listing detail fetch needed.
- Real publish dates. Unlike the real-estate actor (Willhaben exposes no trustworthy publish
date there), vehicle listings carry a genuine
published_attimestamp. - Privacy-aware by construction.
dealer_nameis populated for dealer listings only (company name) and leftnullfor private sellers.
📋 Output
One dataset item per listing (see .actor/dataset_schema.json for
the full field list) plus change_type.
Example record (car, private seller):
{"source": "willhaben","external_id": "1813527645","url": "https://www.willhaben.at/iad/gebrauchtwagen/d/auto/audi-e-tron-gt-...-1813527645/","vehicle_type": "auto","make": "Audi","model": "e-tron GT","model_specification": "e-tron GT 93,4kWh quattro Head-Up | Laserlicht","body_type": "Limousine","price_eur": 45990.0,"mileage_km": 156210.0,"year": 2021,"fuel_type": "Elektro","transmission": "Automatik","condition": "Gebrauchtwagen","engine_power_kw": 350.0,"no_of_seats": 5,"equipment": ["LED-Scheinwerfer", "Bluetooth", "Apple CarPlay", "..."],"is_dealer": false,"dealer_name": null,"state": "Oberösterreich","city": "Wels","postal_code": "4600","published_at": "2026-08-18T20:10:00+00:00","change_type": "new"}
Known gaps, by design (see docs/actors/willhaben-vehicles-scraper.md for the full story):
equipmentis human-readable feature names only forautolistings; other categories fall back to Willhaben's raw internal numeric codes (no text lookup exists for those on the site itself).no_of_seatsapplies to cars/commercial vehicles;no_of_berths(sleeping places) applies to caravans/motorhomes — a vehicle only ever has one or the other populated.warrantyis only populated when Willhaben exposes a resolved text label for that listing.
⚙️ Input
See .actor/input_schema.json for the full JSON schema. Key parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
category | String (required) | auto | One of auto (cars), motorrad (motorcycles & quads), nutzfahrzeuge (commercial vehicles/pickups), wohnwagen_wohnmobile (caravans & motorhomes). |
region | String | all | One of Austria's 9 provinces, or all for the whole country. Changing this between runs starts a fresh incremental-mode baseline for the category. |
mode | String | auto | auto/full/incremental — see Incremental mode. |
maxItems | Integer | 50 | Stop after pushing this many dataset items. Clear it (null) for a full run — a capped run never updates the incremental baseline. |
maxPages | Integer | (none) | Safety cap on search pages fetched. |
rows | Integer | 200 | Listings per search page (1–200). |
delaySeconds | Number | 3.5 | Politeness delay between consecutive search-page requests. |
proxyConfiguration | Object | {"useApifyProxy": false} | Off by default, carried over from willhaben-scraper's confirmed real-estate finding — not yet independently reconfirmed for vehicles on Apify's infra (see the build doc). |
impersonate | String | (none) | Optional curl_cffi TLS-impersonation target, used only if Willhaben starts blocking plain requests. |
🧪 Input examples
Quick preview — Wien cars, default 50-item cap:
{ "category": "auto", "region": "wien" }
Scheduled tracking run — full, uncapped run:
{ "category": "auto", "region": "wien", "mode": "incremental", "maxItems": null }
🔄 Incremental (delta) mode
Every run classifies each listing as new, changed (price moved), unchanged, or delisted,
using a state baseline persisted in a named Apify Key-Value Store scoped to category + region.
Same design as willhaben-scraper — full details in
../../docs/incremental-mode.md.
🔗 You might also like
- Willhaben.at Real Estate Scraper — the sibling actor for Willhaben's real-estate listings (apartments, houses, land, commercial — rent or sale). Same delta-mode design, same province filters — useful if you're tracking a seller or household's full footprint on Willhaben, not just vehicles.
❓ FAQ
Is it legal to scrape Willhaben.at? It's legal to collect publicly available listing data such as prices, mileage, and locations. Results may contain limited personal data (dealer company names only — see Key features); scrape it only with a legitimate purpose under GDPR.
Why is equipment sometimes just numbers? See Output — Willhaben only exposes
human-readable equipment names for the auto category; other categories fall back to raw codes.
Search keywords
willhaben scraper, willhaben.at scraper, austria used car scraper, gebrauchtwagen scraper, austrian vehicle data, car scraper austria, motorcycle scraper austria, willhaben auto api, used vehicle price tracking, austria vehicle data feed