Willhaben.at Marketplace Scraper
Pricing
Pay per event
Willhaben.at Marketplace Scraper
Scrape public Willhaben.at marketplace listings with prices, locations, seller IDs, images, timestamps, and source search context.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract public marketplace listings from Willhaben.at by keyword or copied search URL.
The actor reads the server-rendered search data embedded in Willhaben.at pages and saves clean dataset rows with listing URLs, prices, locations, seller identifiers, images, timestamps, and raw attributes.
What does Willhaben.at Marketplace Scraper do?
Willhaben.at Marketplace Scraper collects classifieds marketplace listings from public Willhaben.at search result pages.
Use it to scrape Austrian marketplace data without manually copying results from the website.
The actor supports:
- π Keyword searches such as
iphone,fahrrad, ormacbook - π Full Willhaben.at marketplace search URLs copied from your browser
- π Pagination through search result pages
- πΆ Price and displayed price extraction
- π Austrian location, postcode, state, district, and coordinate fields
- πΌοΈ Main image and all image URLs exposed in the public listing summary
- π§Ύ Seller organization IDs and UUIDs when available
- β±οΈ Published, changed, and end timestamps
- π§© Raw Willhaben attributes for custom downstream mapping
Who is it for?
This actor is useful for teams that need repeatable Austrian classifieds data.
Typical users include:
- π Resellers monitoring supply and resale prices
- π Ecommerce analysts benchmarking second-hand goods
- π·οΈ Price intelligence teams tracking local Austrian inventory
- π§° Marketplace aggregators enriching product feeds
- π§βπΌ Lead generation teams finding sellers in specific categories
- π§ͺ Data teams building historical listing datasets
- π¦ Retail teams watching competitor liquidation or used inventory
Why use this actor?
Willhaben.at is one of Austria's largest classifieds marketplaces.
Manual monitoring is slow, inconsistent, and hard to scale.
This actor gives you structured output that can be exported, scheduled, filtered, or sent to other Apify integrations.
What data can you extract?
The default dataset contains one row per marketplace listing.
| Field | Description |
|---|---|
id | Willhaben listing ID |
adUuid | Listing UUID when exposed |
url | Public listing URL |
title | Listing title |
description | Summary/body text from search data |
price | Numeric price when available |
priceDisplay | Display price such as β¬ 10 |
currency | Currency, usually EUR |
location | Human-readable location |
district | District or city area |
postcode | Austrian postcode |
state | Austrian state |
country | Country value from Willhaben |
latitude / longitude | Coordinates when present |
sellerOrgId | Seller organization ID |
sellerOrgUuid | Seller organization UUID |
isPrivate | Whether the listing appears private |
advertStatus | Listing status |
categoryTreeIds | Category IDs from Willhaben |
imageUrl | Main image URL |
imageUrls | All image URLs exposed in search data |
publishedAt | Publication timestamp |
changedAt | Last changed timestamp |
endsAt | Listing end timestamp |
sourceSearchUrl | Search URL that produced the row |
searchKeyword | Keyword input when used |
searchPage | Result page number |
searchRowsFound | Total rows found reported by Willhaben |
rawAttributes | Raw name/value attributes from Willhaben |
scrapedAt | Actor scrape timestamp |
How much does it cost to scrape Willhaben.at marketplace listings?
This actor uses pay-per-event pricing.
You pay a small start event and a per-listing result event.
The exact live prices are visible on the Apify Store pricing tab before you run the actor.
Use a low maxItems value for first tests, then increase it once the output fits your workflow.
Input options
You can provide keywords, search URLs, or both.
Keywords
Add one or more Willhaben marketplace keywords.
Example:
{"keywords": ["iphone", "macbook"],"maxItems": 100}
Search URLs
Copy a marketplace search URL from Willhaben.at and paste it into searchUrls.
This is useful when you already applied filters on the website.
{"searchUrls": [{ "url": "https://www.willhaben.at/iad/kaufen-und-verkaufen/marktplatz?keyword=iphone" }],"maxItems": 100}
Output example
{"id": "2126473074","url": "https://www.willhaben.at/iad/kaufen-und-verkaufen/d/no-name-kophoerer-2126473074/","title": "No-Name-KophΓΆrer","price": 10,"priceDisplay": "β¬ 10","location": "Wien, 11. Bezirk, Simmering","postcode": "1110","state": "Wien","country": "Γsterreich","sellerOrgId": "32996024","publishedAt": "2026-07-10T04:05:00Z","sourceSearchUrl": "https://www.willhaben.at/iad/kaufen-und-verkaufen/marktplatz?keyword=iphone","searchPage": 1,"scrapedAt": "2026-07-10T00:00:00.000Z"}
How to scrape Willhaben.at marketplace listings
- Open the actor on Apify.
- Add one or more keywords, or paste Willhaben.at marketplace search URLs.
- Set
maxItemsto the number of listings you need. - Keep
rowsPerPageat the default unless you need smaller page requests. - Run the actor.
- Download results as JSON, CSV, Excel, XML, or RSS.
- Schedule the actor if you need recurring monitoring.
Tips for better results
- Use German product names for broader Austrian coverage.
- Use exact model names for high-intent price monitoring.
- Paste filtered URLs when you need a specific category or region.
- Start with 30 to 100 items during setup.
- Increase
maxItemsfor recurring inventory monitoring. - Keep duplicate handling in your downstream system by listing
id.
Pagination and limits
Willhaben search pages currently expose multiple rows in the initial HTML.
The actor requests up to 90 rows per page and continues through pages until it reaches maxItems or no more results are available.
The searchRowsFound field records the total result count reported by Willhaben for each search page.
Proxy and anti-blocking
Public marketplace pages are currently accessible with normal HTTP requests.
The actor does not use Apify Proxy by default.
Enable useApifyProxy if you run higher-volume jobs or if your network receives temporary blocks.
For large scheduled monitoring, consider moderate run sizes and reasonable schedule frequency.
Integrations
You can connect the dataset to many workflows:
- π Send listing data to Google Sheets for price tracking
- π§ Export to Snowflake, BigQuery, or S3 for historical analysis
- π Use webhooks to trigger alerts for new matching listings
- π§Ή Deduplicate rows by
idin your database - π€ Feed current classifieds prices into internal resale models
- π§βπ» Call the actor from backend services using the Apify API
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/willhaben-at-marketplace-scraper').call({keywords: ['iphone'],maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/willhaben-at-marketplace-scraper').call(run_input={'keywords': ['iphone'],'maxItems': 100,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items[0])
cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~willhaben-at-marketplace-scraper/runs?token=MY-APIFY-TOKEN' \-H 'Content-Type: application/json' \-d '{"keywords":["iphone"],"maxItems":100}'
MCP usage
Use this actor through the Apify MCP server in Claude tools.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/willhaben-at-marketplace-scraper
Claude Code setup:
$claude mcp add apify-willhaben "https://mcp.apify.com/?tools=automation-lab/willhaben-at-marketplace-scraper"
JSON configuration for MCP clients:
{"mcpServers": {"apify-willhaben": {"url": "https://mcp.apify.com/?tools=automation-lab/willhaben-at-marketplace-scraper"}}}
Example prompts:
- "Scrape 100 Willhaben iPhone marketplace listings and summarize median prices by Austrian state."
- "Find recent Willhaben bicycle listings and return listing URLs, prices, and postcodes."
- "Monitor Willhaben for PlayStation 5 listings and highlight unusually low prices."
Scheduling
Schedule the actor daily or hourly to build a monitoring feed.
For recurring jobs, keep the same keyword or URL inputs and compare new dataset rows by id.
Data quality notes
The actor extracts data exposed in Willhaben search result JSON.
Some listings may not include prices, coordinates, images, or seller identifiers.
Optional fields are omitted when the source page does not expose them.
Legality
This actor extracts public marketplace information.
You are responsible for using the data lawfully and respecting applicable terms, privacy rules, and local regulations.
Avoid collecting personal data you do not need.
Use reasonable run sizes and schedules.
FAQ and troubleshooting
The actor returned fewer items than expected
Willhaben may report fewer available listings for a narrow query, filtered URL, or page range.
Try a broader keyword or inspect searchRowsFound.
I see no price for some listings
Some Willhaben listings may be negotiable, free, or missing a numeric price in the public search data.
Use priceDisplay and rawAttributes for additional context.
My URL does not work
Use public marketplace search URLs under /iad/kaufen-und-verkaufen/marktplatz.
Other Willhaben verticals such as cars, jobs, or real estate are outside this actor's MVP scope.
Related scrapers
Explore other automation-lab actors for marketplace, ecommerce, and lead workflows:
- https://apify.com/automation-lab/google-maps-lead-finder
- https://apify.com/automation-lab/zillow-scraper
- https://apify.com/automation-lab/booking-scraper
Changelog
See the actor changelog for release notes.
Support
If a run fails, open an issue with the run URL and your input JSON.
We use those details to reproduce and fix problems quickly.