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
a day 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, publish dates, and vertical-specific details on every row. 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. - GPS coordinates + full address on every listing β latitude, longitude, city, postal code, district, and region, ready to map or geo-filter.
- 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 and plot area in mΒ², room count, floor, price per mΒ², gross rent, object type, and buy-vs-rent transaction type.
- 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 by newest, price low-to-high, price high-to-low, or relevance, all applied at the source.
- 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. |
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": "Max M.","sellerType": "private","city": "Wien","postalCode": "1100","district": "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 | Seller or advertiser name |
sellerType | string | private or dealer |
publishedAt | string | First publish date (ISO 8601) |
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 name |
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 area in mΒ² |
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 |
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, and price sorting falls back to newest. Use the price band only for marketplace, real estate, and cars.
- 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.
- 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
$0.85 per 1,000 results β undercuts comparable willhaben scrapers while giving you a single, predictable result cap.
| Results | Price |
|---|---|
| 100 | $0.09 |
| 1,000 | $0.85 |
| 10,000 | $8.50 |
| 100,000 | $85.00 |
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.