Willhaben Properties Scraper (Austria) avatar

Willhaben Properties Scraper (Austria)

Pricing

from $0.84 / 1,000 results

Go to Apify Store
Willhaben Properties Scraper (Austria)

Willhaben Properties Scraper (Austria)

Scrapes property listings from Willhaben, Austria's largest classifieds site, across rentals, apartments for sale, houses for sale and land. Every row carries price, price per m², rooms, living area, address, GPS coordinates, agency and images.

Pricing

from $0.84 / 1,000 results

Rating

0.0

(0)

Developer

Ibnu Adzim

Ibnu Adzim

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Scrapes property listings from Willhaben — Austria's largest classifieds site — across four categories: rental apartments, apartments for sale, houses for sale, and land.

Public data only. No login, no cookies, no browser. No bot challenge on any of 8 TLS profiles tested across search and detail pages.

The one thing you need to know before using this

Willhaben's own "houses for sale" URL silently ignores its region.

Click through the site to houses for sale in a specific state and you land on /haus-kaufen/haus-angebote/wien. Fetch that URL and it answers HTTP 200 with the entire country's 16,964 houses — appending any region, including a completely nonexistent one, changes nothing.

The correct region-scoped path drops /haus-angebote entirely: /haus-kaufen/wien — verified to genuinely narrow (1,571 for Vienna) and to 404 cleanly on a bogus region. This actor always uses the working path; you never see the trap.

rent_apartment, buy_apartment and land do not have this problem — region-in-path is honoured on all three, checked individually.

What you get

Three record types share one dataset, told apart by recordType.

PROPERTY — one row per listing

Upstream's advert object, passed through verbatim, plus:

  • attrs — a flattened convenience dict of Willhaben's name/value attribute list (price, price/m², rooms, living area, address, GPS coordinates, district, agency name, publish date, image URLs — over 30 fields per listing)
  • detail and detailAttrs (with Fetch full property details on) — full description text, equipment list, contact details, and category-specific fields the search row does not carry

SEARCH_SUMMARY — one row per (category, region) query

Willhaben's own match total, requests spent, pages fetched, and the filters actually sent.

ERROR — one row per input that could not be processed

Every input maps to at least one row, so nothing disappears silently.

Input

FieldWhat it does
Search queries[{"category": ..., "region": ...}, ...]. Category: rent_apartment, buy_apartment, buy_house, land. Region: one of Austria's 9 states, or empty for the whole country.
Sort orderWillhaben's own 7 sort options — newest, nearest, price/area ascending or descending, relevance.
Number of roomsVerified real. Exact match, not a minimum — Wien rentals: 4,808 → 1,340 at 3.
Minimum / maximum priceVerified real, and compose correctly together.
Fetch full property detailsOne extra request per listing. Off by default.
Max listings per query0 for everything Willhaben will serve.
Rows per requestUp to 200 — Willhaben's own maximum; anything higher is silently clamped, not rejected.
Max concurrent requests / Minimum seconds between requestsThroughput controls.

⚠️ Filter names that look plausible but do nothing

Willhaben silently ignores unrecognised parameter names — a typo returns a healthy 200 with the unfiltered baseline. Room-count filtering in particular is not guessable from the site's UI text: NO_OF_ROOMS, NO_OF_ROOMS_FROM, ROOMS, ROOMS_FROM and roomCount are all inert. The real name, NUMBER_OF_ROOMS, was found by reading the attribute name Willhaben's own listing objects use — which is exactly what this actor sends, so you never have to guess it yourself.

Known limits

  • Four property categories, not the whole site. Willhaben is also a huge used-car marketplace (151,459 listings) and a general classifieds board (12.5M listings) on the same contract — deliberately out of scope; those are different data types for different audiences and belong in a sibling actor if ever built.
  • rooms is an exact match, not a "3 or more" filter — same as Willhaben's own site behaviour.
  • Region is one of 9 Austrian states, not a city or postcode. Willhaben's own URL structure does not offer a finer-grained region filter on these four category paths.