Willhaben Scraper - Austrian Classifieds, Cars & Real Estate avatar

Willhaben Scraper - Austrian Classifieds, Cars & Real Estate

Pricing

from $0.50 / 1,000 run start fees

Go to Apify Store
Willhaben Scraper - Austrian Classifieds, Cars & Real Estate

Willhaben Scraper - Austrian Classifieds, Cars & Real Estate

Willhaben scraper for willhaben.at search results: marketplace items, used cars and property ads with price in euros, city, postcode, district, state, publication date, seller ID, images and every listing attribute. Search by keyword or paste a filtered URL. No login or API key.

Pricing

from $0.50 / 1,000 run start fees

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

22 days ago

Last modified

Share

Willhaben Scraper

Willhaben Scraper is a willhaben scraper that turns public willhaben.at search results into structured classified ads: marketplace items, used cars and property listings with prices, locations, images, dates, seller identifiers and the complete source attribute map. Search with a German keyword or paste a filtered search URL copied from your browser. Each returned advertisement is a separate dataset row. You do not need an account on Willhaben or a source API key in the input.

Results can be downloaded from the dataset as JSON, CSV, Excel or XML, or fetched through the Apify API. The actor therefore also works as a Willhaben search API for your own scripts, spreadsheets and dashboards, without building and maintaining a scraper yourself.

Willhaben Scraper input

Provide query or url. A URL takes precedence over the keyword and section. German terms usually describe the advertised items more directly. The query field has a fahrrad prefill for the console example; it has no automatic default, so an empty API input produces an empty successful run with an explanatory message.

FieldTypeDefaultMeaning
querystringnoneSearch keyword; optional when a URL is supplied
urlstringnoneA Willhaben search URL, including your source filters
verticalstringmarketplacemarketplace, real_estate, cars or jobs
price_minintegernoneMinimum price in euros, including zero
price_maxintegernoneMaximum price in euros, including zero
limitinteger60Maximum listings to return, from 1 to 750
retriesinteger4Attempts per page, from 2 to 8

Apply a location or category filter on Willhaben and paste the resulting search URL when you need a narrower search. Supplied price bounds override equivalent filters in the URL. The actor starts at the first result page and collects subsequent pages as needed.

Output

The following is a subset of the first actual row returned for fahrrad on 4 October 2026. The advertisement and its availability may change after this example was captured.

{
"position": 1,
"ad_id": "1163875963",
"title": "Cube Mountainbike - hochwertig ausgestattet - Shimano XT / Formula R1",
"url": "https://www.willhaben.at/kaufen-und-verkaufen/d/cube-mountainbike-hochwertig-ausgestattet-shimano-xt-formula-r1-1163875963/",
"price": 599,
"price_text": "599",
"currency": "EUR",
"city": "Wien, 22. Bezirk, Donaustadt",
"postcode": "1220",
"state": "Wien",
"country": "Österreich",
"published_at": "2026-10-04T05:04:42Z",
"seller_org_id": "22927350",
"is_private_seller": true,
"query": "fahrrad"
}

Every row keeps ad_id, title, description, url, price, price_text, currency, city, postcode, district, state, country, published_at, changed_at, expires_at, seller_org_id, is_private_seller, ad_type_id, status, image, images_count, attributes, query and position. Missing source information is null. price is a numeric amount in EUR, while price_text preserves the raw source string. country preserves the source's country name, so cross-border listings can be distinguished from Austrian sellers.

Additional fields are source, fetched_at, listing_id, image_url, price_display, brand and condition. The listing and image aliases make it easier to combine the data with other listing sources. Brand and condition are only populated when the source provides the corresponding descriptive attributes. The attribute map preserves multi-value attributes as arrays, rather than joining them into a string.

The key-value store record summary includes the source result count (rowsFound), pagesFetched, adsReturned, coverage counts for prices, locations and descriptions, and fetchedInSeconds. Source errors are recorded separately in errors. The total number of matches can be much larger than the requested delivery limit.

Pricing

The existing price model is unchanged: run_start costs $0.0005 per run and listing costs $0.0017 per delivered advertisement, or $1.70 per 1,000 advertisements plus the start fee. Listings are charged after they are delivered. A valid search with no results has no listing charges and retains the start fee. Accounts without a paid Apify plan receive at most ten listings per run. Paid users retain their requested limit, up to 750.

Use cases for the Willhaben scraper

  • Price research. Compare asking prices within a product category, a car model or a property type, and see how prices differ between Vienna and the other federal states.
  • Reselling and sourcing. Run the same search every day and join the rows on ad_id to spot new advertisements and price changes before others do.
  • Dealer and seller monitoring. Group listings by seller_org_id to follow the inventory of a car dealer, an estate agent or a shop, and use is_private_seller to separate private sellers from businesses.
  • Market analysis. Count listings per city, postcode or state, or build a dataset of the second-hand market in Austria for a report or a model.

These are advertised prices, not confirmed sale prices; the data does not describe completed purchases or sales volumes.

Property searches use the same row shape as marketplace and used-car searches. Interpret property prices in the context of their source listing rather than combining rents and purchase prices indiscriminately. Descriptions are the source's result-list excerpts and may be truncated; the actor does not retrieve each advertisement's detail page.

Willhaben Scraper compared with the alternatives

OptionWhat you getTrade-off
Copying ads by handExactly the listings you look atSlow, and impossible to repeat daily
Willhaben's own seller interfaceAutomatic import of a business seller's own advertisements into its marketplace shopMeant for publishing your own ads, not for reading search results
Open-source scripts and unofficial API wrappersFree code to adaptYou maintain parsing, paging and failures yourself when the site changes
This actorMarketplace, car and property rows with a fixed schema, the full attribute map and a run summaryPay per delivered listing; data comes from search results, not detail pages

Several Willhaben actors exist in the Apify Store. This one keeps its input names, output fields and price stable across updates, so scheduled runs and integrations keep working.

Limits

The source mixes promoted placements with ordinary results, and some placements can repeat across pages. The actor deduplicates by advertisement id and preserves page order. A search can therefore return fewer rows than its requested limit even when the result count is high. A source failure on a later page keeps advertisements already collected and records the failure. Empty searches and source access problems finish with explanatory empty results.

The accepted jobs option currently retains the old actor's empty result because its jobs search route is unavailable. Use the marketplace, car or property section for populated results. Missing job records are never replaced with invented advertisements.

FAQ

Can I use a search URL instead of a keyword?

Yes. Copy a Willhaben search URL after applying the filters you want. The URL takes priority over query and vertical; the optional numeric price bounds can still override URL prices.

Does the actor cover cars and real estate?

Yes. Select cars or real_estate. The output retains the same listing fields, with the source's additional car and property attributes in the complete attributes map.

Why are some fields null?

A listing may not publish a particular timestamp, location component or image. A null value means that the source did not supply the corresponding information in the result payload.

Are descriptions and prices taken from detail pages?

They come from search results. Descriptions may be shortened by Willhaben, and prices reflect what the source returned at capture time. Use url to inspect the current listing.

What happens when my search finds nothing?

The run returns an empty dataset with a message and summary. No listing events are charged; the unchanged run start fee still applies.

Is there an official Willhaben API for search results?

Willhaben does not offer a public API for reading its search results. Its interface for business sellers imports their own advertisements into a marketplace shop. This actor gives you the public search results as structured data, and you can call it through the Apify API from any language.

Can I export Willhaben listings to CSV or Excel?

Yes. Every run stores its rows in a dataset that you can download as CSV, Excel, JSON or XML, or send to a spreadsheet, webhook or other integration on Apify.