Willhaben Scraper - Ads, Prices, Locations, Sellers avatar

Willhaben Scraper - Ads, Prices, Locations, Sellers

Pricing

Pay per event

Go to Apify Store
Willhaben Scraper - Ads, Prices, Locations, Sellers

Willhaben Scraper - Ads, Prices, Locations, Sellers

Scrape willhaben.at classifieds across marketplace, real estate, cars and jobs. Every ad comes back with price, the full Austrian location breakdown (city, postcode, district, state), publication date and seller. No login and no API key.

Pricing

Pay per event

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Willhaben Scraper

A willhaben.at scraper that returns classified ads with the price, the full Austrian location breakdown, the publication date and the seller, across marketplace, real estate, cars and jobs. No login, no API key, no browser.

willhaben is Austria's dominant classifieds site. A single marketplace keyword returns 95.870 ads, and nothing on the Apify Store covers it.

What you get

  • Location broken into real columns: town, postcode, district (Bezirk) and federal state (Bundesland), rather than one string you have to unpick. Austrian ads live and die on region, and this is what makes them filterable
  • Publication, edit and expiry timestamps per ad, so you can tell a fresh listing from one that has been sitting for six weeks
  • Seller organisation id and a private-versus-business flag, so a trader's whole inventory groups without a name match
  • Four verticals from one input: marketplace, real estate, used cars and jobs
  • The site's own result count on every run, so you know whether your 60 rows came from 300 matches or 95.000
  • The complete raw attribute map kept on every row, so a field willhaben adds later is recoverable rather than silently lost
  • 30 ads per request straight from the page's data envelope, no per-ad fetch
  • Charged per ad, plus a flat $0,002 start fee

Why scrape willhaben

Austria is a market most scraping stacks skip. It is too small for the pan-European tools to bother localising and too distinct for a German scraper to cover, since willhaben rather than eBay Kleinanzeigen is where Austrians actually trade. For price research, recommerce sourcing or property analysis in Austria, this is the dataset.

The structure rewards a proper reader. willhaben stores every ad's fields as a flat attribute list, PRICE/AMOUNT, HEADING, BODY_DYN, LOCATION, POSTCODE, STATE, DISTRICT, PUBLISHED, each holding a list of strings. Reading the rendered card gives you a title and a price; reading the attribute list gives you the whole record including the seller id and the expiry date, neither of which appears on screen.

Input

FieldTypeRequiredDefaultWhat it does
querystringyesfahrradWhat to search for, German works best
verticalselectnomarketplaceMarketplace, real estate, used cars or jobs
urlstringnoA willhaben search URL to read instead, filters included
price_min / price_maxintegernoPrice bounds in euros
limitintegerno60Ads to return, 1 to 750
retriesintegerno4Retry attempts per page

Output

{
"position": 1,
"ad_id": "1366031979",
"title": "Kinder fahrrad",
"description": "Original KTM Kinderrad Wild Cat 24.21 24 Zoll ...",
"url": "https://www.willhaben.at/iad/kaufen-und-verkaufen/d/kinder-fahrrad-1366031979/",
"price": 250.0,
"currency": "EUR",
"city": "Naarn",
"postcode": "4331",
"district": "Perg",
"state": "Oberösterreich",
"country": "Österreich",
"published_at": "2026-09-01T12:51:14Z",
"expires_at": "2026-10-16T14:51:03Z",
"seller_org_id": "26694604",
"is_private_seller": false,
"images_count": 5,
"query": "fahrrad"
}

Use cases

Second-hand price research for Austria. Run a product name, filter by state, and you have the regional price spread. Vienna and Vorarlberg are different markets for the same item, and because the state is a column rather than buried in a location string, splitting them is a group-by.

Recommerce sourcing. Sort by newest, set a price ceiling and filter on is_private_seller. Private ads at a discount are where the margin is, and postcode plus district tells you what is collectable without a day's driving.

Property monitoring. Switch vertical to real estate and the same row shape carries listings with price, location and publication date. Repeat runs on the same query show what came on and what left the market, which is the signal no portal reports.

Dealer stock tracking. seller_org_id groups a business seller's ads. Store the ids weekly and you see intake, turnover and what has been sitting, for any dealer on the platform.

How it compares

this actorapify/e-commerce-scraping-tool
Per 1.000 ads$1,60$6,00
Covers willhabenyesgeneric, needs configuring
Location split into 4 columnsyesno
Publication and expiry datesyesno
Private vs business selleryesno
Verticals4n/a
Needs a browsernono

Honest about the other side: the generic actor has 575 monthly users and points at many shops. It is a breadth tool and this is a depth one. Nothing on the Store covers willhaben at all.

Pricing

Two events. A flat run_start of $0,002 covers the run, and listing costs $0,0016 per ad returned, which is $1,60 per 1.000. Beyond the start fee you only pay for ads you actually receive.

Limits and gotchas

  • Not every ad is in Austria. Cross-border sellers appear, so country is a real column and worth filtering on before computing an Austrian market price.
  • postcode and district are empty for foreign ads, which is correct rather than missing.
  • 750 ads per run across 25 pages of 30. The summary reports the site's own rowsFound, so you can see how much of the result set you actually took.
  • Prices on job and property ads mean different things than on marketplace ads: a salary or a rent rather than an asking price. Check the vertical before comparing.
  • description is the listing body as shown in results, which willhaben sometimes truncates. Opening the ad would be a second fetch per row and this actor does not make it.
  • Promoted ads are mixed into results. ad_type_id distinguishes them if you need to exclude paid placements.

FAQ

Can I scrape willhaben without an API key? Yes. Every result page carries its ads as JSON for the browser to render, and that is what this actor reads. There is no credential in the input.

Does it cover property and cars as well as the marketplace? Yes, four verticals share the same input and the same row shape: marketplace, real estate, used cars and jobs.

Can I filter by region? Every row carries town, postcode, district and federal state as separate fields, so filter after the run. For a narrower search, apply the region filter on the site and paste the URL into url.

How do I tell a dealer from a private seller? is_private_seller is a boolean, and seller_org_id groups a business seller's whole inventory.

How many ads exist for my search? The run summary reports rowsFound, which is willhaben's own count for the query, independent of how many rows you asked for.