Willhaben Scraper | Marketplace, Real Estate, Cars & Jobs
Pricing
from $0.85 / 1,000 results
Willhaben Scraper | Marketplace, Real Estate, Cars & Jobs
[💰 $0.85 / 1K] Scrape willhaben.at — Austria's largest classifieds marketplace. Extract listings with prices, descriptions, seller info, images, and section-specific details for marketplace goods, real estate, cars, and jobs. Search by URL or plain-text terms.
Pricing
from $0.85 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 days ago
Last modified
Categories
Share
Willhaben Scraper
Pull listings from willhaben.at at scale — marketplace goods, real estate, cars, and jobs — with prices, GPS coordinates, full addresses, images, and publish dates on every marketplace, property and vehicle row, and salary, employment mode and named work locations on every job ad. Search by plain-text terms or paste any willhaben.at URL, and get one clean, structured row per listing across all four sections of Austria's largest classifieds marketplace. Built for Austrian market researchers, car dealers, real-estate analysts, and recruiters who need fresh willhaben data without manual copy-paste or hand-crafting search links.
Why This Scraper?
- All 4 willhaben verticals in one actor — marketplace goods (Marktplatz), real estate (Immobilien), cars (Auto & Motor), and jobs, auto-detected from the section you choose or the URL you paste.
- Plain-text search, no URL crafting — type "iPhone 15 Pro", "Wohnung Wien", or "BMW 3er" and pick a section, instead of hand-building willhaben.at links.
- One global result cap, no surprise bills —
maxResultsis a single total across every URL and search term combined, so two searches at 100 never silently balloon to 200. - Map-ready GPS on 98–100 % of marketplace, property and car rows — latitude, longitude, city, Austrian postal code, Bezirk-level district, and federal state, ready to plot or geo-filter; job ads carry named work locations with federal state and country instead.
- Car specs out of the box — make, model, registration year, mileage in km, fuel type, transmission, power in kW and PS, condition, and previous-owner count, all resolved to readable German values (not raw codes).
- Real-estate detail fields — living area in m², room count, floor, price per m², gross rent, object type, and buy-vs-rent transaction type, plus plot size in m² on land and mixed-property searches.
- Jobs with embedded company data — salary and pay cadence, employment modes (Vollzeit/Teilzeit), job locations, and a nested company object with name, logo, and willhaben company ID.
- Native price band + 4 sort orders — filter by minimum and maximum euro price and sort marketplace, real-estate and car results by newest, price low-to-high, price high-to-low, or relevance, all applied at the source; jobs sort by newest or relevance (job ads carry no price).
- Clean camelCase output — readable field names with empty values stripped; no raw screaming-snake attribute keys or display-widget noise polluting your dataset.
Use Cases
Market Research
- Track asking prices for any product across the whole Austrian marketplace
- Map inventory by city, postal code, or region using built-in coordinates
- Compare listing volume and pricing between Vienna, Graz, Linz, and Salzburg
- Monitor how long goods, cars, or properties stay listed by publish date
Price Monitoring
- Build price-band watchlists with minimum and maximum euro filters
- Compare price per m² across real-estate neighborhoods
- Track used-car pricing by make, model, mileage, and registration year
- Detect underpriced listings the moment they appear with newest-first sorting
Car Dealer Intelligence
- Pull competitor inventory with full specs (mileage, fuel, power, condition)
- Identify private-seller vs. dealer listings by seller type
- Benchmark resale prices for a make/model across the country
- Spot fresh trade-in opportunities sorted by newest
Real-Estate Analysis
- Aggregate rent and buy listings with living area, rooms, and price per m²
- Map property supply by district and postal code
- Separate rental and purchase markets with the transaction type field
- Feed comparable-listing data into valuation models
Recruitment Intelligence
- Build job-market datasets with salary, employment mode, and location
- Track which companies are hiring and where, via the embedded company object
- Monitor open roles by keyword and region for talent sourcing
- Compare advertised salaries across employers and job titles
Getting Started
Simple Search
Type a search term and pick a section — that's it:
{"searchQueries": ["iphone"],"category": "marktplatz","maxResults": 100}
Filtered Car Search
Narrow a vehicle search by price and sort by newest:
{"searchQueries": ["BMW 3er"],"category": "auto","minPrice": 5000,"maxPrice": 25000,"sortBy": "newest","maxResults": 200}
Paste a willhaben URL
Apply filters on willhaben.at, copy the URL from your browser, and reuse every facet:
{"startUrls": ["https://www.willhaben.at/iad/immobilien/mietwohnungen/wien"],"maxResults": 150}
Full-Featured Example
Combine URLs and search terms in one run:
{"startUrls": ["https://www.willhaben.at/iad/kaufen-und-verkaufen/marktplatz?keyword=macbook"],"searchQueries": ["Wohnung Wien", "software"],"category": "immobilien","minPrice": 100,"maxPrice": 2000,"sortBy": "price_asc","maxResults": 500}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | string[] | [] | One or more willhaben.at search, category, or result-list URLs. Apply your filters on the site, then paste the browser URL. Works for any section. |
searchQueries | string[] | [] | Plain-text search terms (e.g. "iPhone 15 Pro", "Wohnung Wien", "BMW 3er"). Searched in the section chosen below. |
category | select | Marketplace (goods) | Which section your search terms apply to: Marketplace, Real Estate, Cars & Motors, or Jobs. Only affects searchQueries — URLs carry their own section. |
Options
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | Maximum total listings across all URLs and search terms combined. Set to 0 for no limit. Start with 50–100 to test, then scale up. |
sortBy | select | Newest First | Order results are collected in: Newest First, Price Low to High, Price High to Low, or Most Relevant. Jobs support Newest First and Most Relevant only; a price order there collects jobs newest first and the run tells you. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
minPrice | integer | — | Only include listings priced at or above this amount in euros. Applies to sections with prices (marketplace, real estate, cars). |
maxPrice | integer | — | Only include listings priced at or below this amount in euros. Applies to sections with prices (marketplace, real estate, cars). |
Output
Each listing is one flat row. Common fields appear on every result; section-specific fields populate for real estate, cars, and jobs. Here's a representative marketplace result:
{"listingId": "1820394756","category": "marktplatz","url": "https://www.willhaben.at/iad/kaufen-und-verkaufen/d/apple-iphone-15-pro-256gb-1820394756/","title": "Apple iPhone 15 Pro 256GB Titan","description": "Top-Zustand, mit Originalverpackung und Rechnung.","price": 899,"priceText": "899 €","currency": "EUR","publishedAt": "2026-05-27T09:14:00Z","updatedAt": "2026-05-28T11:02:00Z","sellerName": "Handy Center Wien GmbH","sellerType": "dealer","city": "Wien","postalCode": "1100","district": "10. Bezirk, Favoriten","region": "Wien","country": "Österreich","latitude": 48.1734,"longitude": 16.3782,"imageUrls": ["https://cache.willhaben.at/mmo/example1.jpg"],"scrapedAt": "2026-05-29T14:30:00Z"}
Core Fields (all sections)
| Field | Type | Description |
|---|---|---|
listingId | string | Unique willhaben ad ID |
category | string | Section: marktplatz, immobilien, auto, or jobs |
url | string | Canonical listing URL |
title | string | Listing headline |
description | string | Listing body text |
price | number | Numeric price in EUR (null for jobs) |
priceText | string | Display price string as shown on willhaben |
currency | string | Currency code (EUR) |
sellerName | string | Advertiser's company name. Filled on commercial dealer ads only — private willhaben sellers are anonymous, so this is empty on their rows |
sellerType | string | private or dealer — present on every marketplace, property and car row, so use this (not sellerName) to split the two |
publishedAt | string | Date the ad was posted or re-posted (ISO 8601) — the field the newest-first order follows |
updatedAt | string | Last modified date (ISO 8601) |
imageUrls | string[] | Listing image URLs |
scrapedAt | string | ISO timestamp of data extraction |
Address & Location
| Field | Type | Description |
|---|---|---|
city | string | City or town |
postalCode | string | Austrian postal code |
district | string | District within the city (Vienna and Klagenfurt) or the surrounding Bezirk elsewhere |
region | string | Federal state |
country | string | Country |
latitude | number | Latitude coordinate |
longitude | number | Longitude coordinate |
Real Estate (immobilien)
| Field | Type | Description |
|---|---|---|
transactionType | string | rent or buy (derived from the listing path) |
objectType | string | Property type (apartment, house, etc.) |
livingAreaM2 | number | Living area in m² |
plotAreaM2 | number | Plot size in m². Published by willhaben on land listings and mixed-property searches; house and apartment searches do not report it |
roomCount | number | Number of rooms |
floor | string | Floor |
rentGross | number | Gross monthly rent |
pricePerM2 | number | Price per square meter |
street | string | Street address |
Cars & Motors (auto)
| Field | Type | Description |
|---|---|---|
make | string | Vehicle make |
model | string | Vehicle model |
yearBuilt | number | First registration year |
mileageKm | number | Mileage in kilometers |
fuelType | string | Fuel type (resolved, e.g. "Benzin", "Diesel") |
transmission | string | Transmission (resolved, e.g. "Schaltgetriebe") |
powerKw | number | Engine power in kW |
powerPs | number | Engine power in PS |
condition | string | Condition (resolved, e.g. "Gebrauchtwagen") |
ownerCount | number | Number of previous owners |
Jobs (jobs)
| Field | Type | Description |
|---|---|---|
position | string | Role or seniority level |
salary | number | Advertised salary |
salaryTimeFrame | string | Salary cadence (e.g. monthly, yearly) |
employmentModes | string[] | Employment modes (Vollzeit, Teilzeit, etc.) |
jobLocations | object[] | Job locations with name, federal state, and country |
company | object | Hiring company: id, title, slugTitle, logoUrl |
firstPublishedAt | string | Date the job ad was first ever published, before any re-post (ISO 8601) |
isPromoted | boolean | Present and true on promoted ads, which willhaben pins to the top of each page |
Tips for Best Results
- Start small — set
maxResultsto 50–100 on your first run to confirm the data matches your needs, then scale up. - Paste a fully-filtered URL — apply every facet you want on willhaben.at (location, sub-category, attributes), then copy the browser URL into
startUrls; the scraper reuses all of those filters automatically, including ones not exposed as inputs here. - Pick the right section —
categoryonly steers your plain-text search terms. To search cars, set it to "Cars & Motors"; the same word in "Marketplace" returns very different results. - The jobs section has no price — job listings carry salary instead of price, so the price band and the two price sort orders apply to marketplace, real estate, and cars only. Pick Newest First or Most Relevant for jobs.
- Combine inputs in one run — mix several URLs and search terms together; the global
maxResultscap covers all of them so you never overspend. - Use newest-first for monitoring — schedule a recurring run sorted by newest to catch fresh listings the moment they appear. On jobs, sort your own results by
publishedAt(re-posted ads resurface with a fresh date;firstPublishedAtkeeps the original). - Sort jobs by Most Relevant when you search by keyword — willhaben's job search matches keywords loosely, so "Entwickler" under Newest First mixes in unrelated roles; Most Relevant keeps the results on-topic.
- A car board is not a used-car board — willhaben's vehicle sections list new, demo and used stock together (an unfiltered electric-car board is only about half used cars). Tick "Gebrauchtwagen" under Zustand on willhaben.at before copying the URL, and check the
conditionfield on your rows. New cars also have no registration year to report. - Derive rent vs. buy from URLs — real-estate
transactionTypefills in reliably when you paste a rental (mietwohnungen) or purchase URL; generic plain-text property searches can't tell the two apart.
Pricing
From $0.85 per 1,000 results — undercuts comparable willhaben scrapers while giving you a single, predictable result cap.
Your rate depends on your Apify discount tier — Gold pays the lowest price:
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.10 | $0.096 | $0.091 | $0.085 |
| 1,000 | $1.02 | $0.96 | $0.91 | $0.85 |
| 10,000 | $10.20 | $9.60 | $9.10 | $8.50 |
| 100,000 | $102.00 | $96.00 | $91.00 | $85.00 |
Tier rates take effect on 8 September 2026. A "result" is any listing row in the output dataset. No compute charges — you only pay per result returned. Apify platform fees (storage) depend on your plan.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n — Workflow automation
- Google Sheets — Direct spreadsheet export
- Slack / Email — Notifications on new results
- Webhooks — Trigger custom APIs on run completion
- Apify API — Full programmatic access
Legal & Ethical Use
This actor is designed for legitimate market research, price monitoring, lead generation, and recruitment analysis. Users are responsible for complying with applicable laws and willhaben.at's Terms of Service. Do not use extracted data for spam, harassment, or any unlawful purpose, and handle any personal data in line with GDPR and Austrian data-protection law.