Willhaben-Scraper

Österreichs Kleinanzeigen,
als Tabelle.

Geben Sie eine willhaben.at-Such- oder Kategorie-URL an - oder eine einzelne Anzeigen-URL - und erhalten Sie die Anzeigen als Zeilen: den Titel, den Preis, den Ort bis hinunter zur Postleitzahl, den Verkäufer, die Fotos und den Anzeigenlink. Dreißig Spalten, eine Zeile pro Anzeige, in der Reihenfolge, in der willhaben sie ausgegeben hat.

einmalig 500 kostenlose Zeilendanach 0,002 $ je Zeile30 SpaltenCSV · XLSX · JSON
So funktioniert es

Eine Such-URL hinein,
ihre Anzeigen heraus.

Die Eingabe ist die Seite, die Sie sonst durchgesehen hätten - eine Kategorie, eine gefilterte Suche oder eine einzelne Anzeige, deren Link Sie bereits haben.

  1. SCHRITT 1Melden Sie sich auf der Plattform an.
  2. SCHRITT 2Öffnen Sie den Willhaben Scraper.
  3. SCHRITT 3Fügen Sie willhaben.at-Such-, Kategorie- oder Anzeigen-URLs ein, eine pro Zeile - oder laden Sie eine CSV-, XLSX-, TXT- oder Parquet-Datei hoch.
  4. SCHRITT 4Setzen Sie ein Limit pro Abfrage, oder lassen Sie es auf null, um alles zu nehmen.
  5. SCHRITT 5Wählen Sie Ihr Ausgabeformat.
  6. SCHRITT 6Klicken Sie auf Get Data.

Eine Zeile pro Anzeige, jede mit der Abfrage versehen, aus der sie stammt - so lässt sich auch ein Durchlauf über ein Dutzend Suchen wieder mit Ihrer Eingabeliste abgleichen.

Warum Teams es nutzen

Eine ganze Kategorie,
in einer Datei.

Suchseite oder einzelne Anzeige

Fügen Sie eine Kategorie- oder gefilterte Such-URL ein und erhalten Sie deren Anzeigen; fügen Sie eine Anzeigen-URL ein und erhalten Sie diese Anzeige. Beides geht zeilenweise, und beides kann statt getippt auch als CSV-, XLSX-, TXT- oder Parquet-Upload kommen.

Der Händler hinter der Anzeige

Gehört eine Anzeige einem registrierten Händler, kommt ein ganzer Spaltenblock mit - der Firmenname, ein Link zur eigenen willhaben-Seite des Händlers, acht Adressfelder und eine Telefonnummer. Neun dieser Firmenspalten sind in genau denselben Zeilen gefüllt, und die Telefonnummer ebenso. Bei Privatanzeigen bleibt der Block leer, und das Datenverzeichnis kennzeichnet, welche Spalten das sind.

Eine Einstellung, vor dem Lauf gesetzt

Eine Obergrenze für die Zeilen pro Abfrage, vor dem Start des Auftrags gewählt, oder auf null belassen, um alles zu nehmen, was eine Suche liefert. Eine Sortieroption gibt es bei diesem Scraper nicht - die Anzeigen kommen in willhabens eigener Reihenfolge zurück, und das JSON hält diese Reihenfolge als Rang fest.

Was Sie zurückbekommen

Dreißig Spalten,
eine Zeile pro Anzeige.

Jede Zeile trägt die Anzeige so, wie willhaben sie zeigt: Kennung und Link, Titel und Beschreibung, Preis und Währung, wo sich der Artikel befindet, die Fotos und - bei Händleranzeigen - die Firma dahinter.

Die Spaltenliste unten ist die Kopfzeile echter Run-Exporte, bestätigt durch das Spalten-Array, das die Run-Oberfläche rendert; beide stimmen exakt überein. Bewusst weggelassen sind Zeilenzahlen: Wie viel zurückkommt, hängt von der Suche, dem gesetzten Limit und dem Zeitpunkt ab. Die Hinweise beschreiben daher, was jede Spalte enthält, und nicht, wie voll sie an dem Tag war, an dem wir nachgesehen haben.

Datenverzeichnis

Dreißig Spalten in der Datei,
einunddreißig im JSON.

Entnommen der Kopfzeile echter Durchläufe. Diese Hinweise sagen, was jede Spalte enthält und welche leer zurückkommen - nicht, wie viele Zeilen Sie bekommen, denn das hängt von der Suche, dem Limit pro Abfrage und dem Zeitpunkt ab.

query
Die Such-, Kategorie- oder Anzeigen-URL, die Sie übermittelt haben, wiederholt in jeder Zeile, die daraus stammt.
id
willhabens numerische Anzeigen-ID als Ziffernfolge. Sie ist zugleich das letzte Segment von listing_url.
author_title
Kein Verkäufername. Bei einer Händleranzeige wiederholt das Feld den Firmennamen. Bei einer Privatanzeige enthält es stattdessen willhabens Verkäufertyp- und Gewährleistungs-Kennzeichen - Werte wie Privat, Privat, Garantie, Gewährleistung und Gewährleistung, Garantie - und es ist mitunter leer.
author_member_since
Trug in keinem unserer Durchläufe je einen Wert. Die Spalte steht in der Kopfzeile und kam jedes Mal leer zurück.
author_location
Der Ort, der beim Verkäufer angezeigt wird. In unseren Durchläufen stimmte er mit location überein.
company_name
Der Firmenname des registrierten Händlers. Nur bei Händleranzeigen vorhanden - eine leere Zelle bedeutet, dass die Anzeige privat aufgegeben wurde.
company_link
URL der eigenen Händlerseite auf willhaben - ein /iad/haendler/-Pfad. Wird gemeinsam mit dem übrigen Firmenblock gefüllt.
company_address_country
Das Land des Händlers - Österreich bei den österreichischen Händlern, die wir gesehen haben. Wird gemeinsam mit dem Firmenblock gefüllt.
company_address_postalName
Der Postort der Händleradresse. Wird gemeinsam mit dem Firmenblock gefüllt.
company_address_street
Straße und Hausnummer der Händleradresse. Wird gemeinsam mit dem Firmenblock gefüllt.
company_address_municipality
Die Gemeinde des Händlers. Wird gemeinsam mit dem Firmenblock gefüllt.
company_address_postCode
Die Postleitzahl des Händlers. Beachten Sie das große C - hier heißt es postCode, bei der Anzeige postcode, und das sind zwei verschiedene Spalten.
company_address_state
Trug in keinem unserer Durchläufe je einen Wert, auch nicht bei Händleranzeigen, die sonst eine vollständige Adresse hatten. Verwenden Sie state für das Bundesland der Anzeige.
company_address_region
Die Region des Händlers. Wird gemeinsam mit dem Firmenblock gefüllt.
company_address_countryId
willhabens interne Länderkennung. Sie kam als Zeichenkette -141 zurück - negativ, und ein String, keine Zahl.
listing_url
Link zur eigenen Seite der Anzeige. Diese Spalte hieß vor dem 02.07.2026 url.
price
Der Angebotspreis als reine Ziffernfolge - ohne Tausendertrennzeichen und ohne Währungssymbol.
title
Die Überschrift der Anzeige.
description
Der Anzeigentext.
images
Alle Foto-URLs in einer Zeichenkette, verbunden durch Semikolon und Leerzeichen - kein JSON-Array, teilen Sie also vor der Verwendung an "; ". Wie viele es sind, hängt von der Anzeige ab. Diese Spalte hieß vor dem 02.07.2026 image und enthielt eine einzige URL.
phone
Die Telefonnummer des Händlers. Wird gemeinsam mit dem Firmenblock gefüllt und geleert.
currency
Die Währung zu price - EUR bei den österreichischen Anzeigen, die wir gesehen haben.
location
Der Ort, an dem sich der Artikel befindet.
postcode
Die Postleitzahl der Anzeige.
state
Das österreichische Bundesland, auf Deutsch - Niederösterreich, Steiermark, Wien, Oberösterreich, Salzburg, Kärnten, Tirol, Burgenland oder Vorarlberg.
condition
Der Zustand der Anzeige, auf Deutsch. In der Gebrauchtwagen-Kategorie, die wir ausgeführt haben, kam Gebrauchtwagen, Neuwagen oder Unfallwagen zurück. Eine andere Kategorie hat einen anderen Wertevorrat.
mileage
Der Kilometerstand als reine Ziffernfolge. Bei Fahrzeuganzeigen vorhanden; für eine Anzeige ohne Fahrzeug nicht verifiziert.
year
Das Baujahr als Ziffernfolge. Bei Fahrzeuganzeigen vorhanden, wenn auch nicht bei jeder; für eine Anzeige ohne Fahrzeug nicht verifiziert.
fuel
Die Kraftstoffart, auf Deutsch - zu den beobachteten Werten zählen Diesel, Benzin, Elektro, Hybrid Elektro/Benzin und Hybrid Elektro/Diesel.
gearbox
Das Getriebe, auf Deutsch - Automatik oder Schaltgetriebe.
position
1-basierter Rang innerhalb der Abfrage, in willhabens eigener Reihenfolge. Nur im JSON - die CSV- und XLSX-Exporte enden bei dreißig Spalten. Es ist außerdem das einzige Feld, das eine echte JSON-Zahl ist; jeder andere Wert ist ein String.

Vier Dinge, die Sie wissen sollten, bevor Sie Code dagegen schreiben. Jeder Wert ist ein String außer position, das eine JSON-Ganzzahl ist - price, mileage, year und postcode müssen also geparst werden, bevor Sie sortieren oder vergleichen. images ist eine einzige Zeichenkette mit mehreren URLs, verbunden durch "; ", keine Liste. author_member_since und company_address_state trugen in keinem unserer Durchläufe je einen Wert; bauen Sie also kein Feld darauf. Und die deutschen Wertevorräte oben stammen aus einer Gebrauchtwagen-Kategorie - condition, fuel und gearbox lesen sich bei Möbeln oder Immobilien anders, und die Fahrzeugspalten gelten nur dort, wo die Kategorie sie hat. Lassen Sie die kostenlose Stufe über Ihre eigenen Such-URLs laufen und lesen Sie die erste Datei, die Sie bekommen.

Laufsteuerung

Am Auftrag eingestellt,
nicht in der Tabelle.

Dieser Scraper hat neben dem Abfragefeld genau eine Einstellung - eine Obergrenze für die Zeilen pro Abfrage. Was Sie sonst vorab entscheiden, ist, wie Sie die URLs übergeben.

Such- oder Kategorie-URL Einzelne Anzeigen-URL Limit pro Abfrage Eine pro Zeile einfügen CSV-Upload XLSX-Upload TXT-Upload Parquet-Upload
Häufige Arbeitsabläufe

Drei Aufgaben, die Menschen
hier am häufigsten ausführen.

Ein paar Beispiele, wie Teams österreichische Kleinanzeigen nutzen, um eine Frage zu beantworten, die sie tatsächlich haben.

Preisfindung

Eine Kategorie bepreisen, nicht eine Anzeige

Ziehen Sie eine gefilterte Suche und lesen Sie das ganze Set auf einmal. Die Preise stehen neben den Merkmalen, die sie erklären, und die Spalten für Postleitzahl und Bundesland zeigen, wie derselbe Artikel im ganzen Land bepreist wird statt nur in einem Ort.

Handel
Händler

Aus einer Suche eine Händlerliste bauen

Händleranzeigen enthalten den Firmennamen, eine vollständige Adresse und eine Telefonnummer sowie einen Link zur eigenen willhaben-Seite des Händlers. Ein Kategorielauf wird so zu einer kontaktierbaren Liste statt zu dreißig offenen Tabs.

Vertrieb
Marktforschung

Beobachten, was tatsächlich angeboten wird

Führen Sie eine Suche im Zeitverlauf erneut aus und vergleichen Sie die Dateien. Da jede Zeile eine stabile Anzeigen-ID und einen Rang trägt, sehen Sie, was neu ist, was verschwunden ist und was auf der Seite nach oben gerückt ist - ohne die Website offen zu halten.

Research
Preise

Zahlen Sie nur für die Anzeigen,
die Sie wirklich ziehen.

Kein Abo, kein Minimum, keine wiederkehrende Rechnung. Ihre ersten 500 Zeilen gehen auf uns - danach zahlen Sie nach Verbrauch, zum selben Pauschalpreis wie bei jedem anderen Scraper hier.

Kostenlose Stufe

500 kostenlose Zeilen - 0 $

Für jedes neue Konto, einmalig. Keine Kreditkarte erforderlich. Limits pro Abfrage, Datei-Upload und jedes Exportformat inbegriffen.

0 $ für immer
Nach Verbrauch

0,002 $ je Zeile, nach der kostenlosen Stufe

Rund 2 $ pro 1.000 Anzeigen. Der Schätzer zeigt vor dem Start die Zeilenzahl und die Credit-Kosten - keine bösen Überraschungen, keine Recheneinheiten zum Umrechnen.

Am beliebtesten
Volumen

Individuell · hohes Volumen

Volumenpreise, dedizierte Worker und ein SLA für laufendes Monitoring oder sehr große historische Abrufe. Nennen Sie uns Ihre Zahlen, wir erstellen ein Angebot.

Sprechen Sie uns an
10 % Rabatt auf Ihren ersten bezahlten Durchlauf.Nutzen Sie den Code LIVESCRAPER10 an der Kasse.
Registrieren
Passt gut zu

Ein Markt,
jede Anzeigenplattform.

Das Rechtliche

Ist es legal,
willhaben-Anzeigen zu scrapen?

Kurze Antwort: Die Anzeigen sind öffentliche Kleinanzeigen - und einplanen sollten Sie, dass manche Zeilen identifizierbare Personen beschreiben.

willhaben-Anzeigen werden veröffentlicht, damit man sie durchsieht. Titel, Preis, Ort, Fotos und Zustand werden jedem gezeigt, der die Suche öffnet, angemeldet oder nicht. Öffentlich sichtbare Kleinanzeigen für Marktforschung zu sammeln, ist seit Langem gängige Praxis, und nichts davon berührt ein Login oder eine Bezahlschranke.

Zwei dieser Spalten verdienen Sorgfalt statt einer Fußnote. Händlerzeilen enthalten einen Firmennamen, eine Straßenadresse und eine Telefonnummer - geschäftliche Kontaktdaten, aber eben Kontaktdaten, sodass eine daraus gebaute Marketingliste wie jede andere unter die DSGVO und österreichisches Recht fällt. Und die Anzeige eines privaten Verkäufers ist auch dann ein personenbezogenes Datum, wenn kein Name daran hängt, denn eine Anzeige plus Postleitzahl plus Foto kann eine Person identifizieren. Aggregierte Marktanalyse ist gewöhnliche Nutzung; das Profiling eines einzelnen Verkäufers ist nicht, wofür dies gedacht ist.

Die Referenzdokumentation zu diesem Scraper vermerkt, dass willhaben Rechenzentrums-IP-Adressen blockiert und dass Live-Ergebnisse einen Residential-Proxy brauchen. Unsere eigenen Durchläufe sind in diesem Punkt uneinheitlich und wir haben die Ursache nicht geklärt, deshalb geben wir es als deren Hinweis wieder und nicht als unseren Befund. Auch willhabens Nutzungsbedingungen schränken automatisierten Zugriff ein, das ist also ebenso eine Vertrags- wie eine Rechtsfrage. Wir betreiben keine Tracker Dritter auf der Datenebene, und Ihre Exporte werden nach 30 Tagen automatisch gelöscht.

livescraper.app · Grundsätze
Nur öffentliche Anzeigendaten
Keine Logins, keine Konten berührt
Händlerzeilen enthalten Name, Adresse, Telefon!
Ihre IP wird nie genutzt - unsere rotieren
Exporte löschen sich automatisch (30 Tage)
Prüfen Sie willhabens eigene Bedingungen, bevor Sie skalieren.
Häufige Fragen

Was Menschen
vor der Anmeldung fragen.

Die Fragen, die wir am häufigsten hören. Noch etwas? Sprechen Sie uns an - die Antworten schreiben Menschen, keine Bots.

Wie scrape ich willhaben-Anzeigen?+
Mit dem Willhaben Scraper:
  1. Melden Sie sich auf der Plattform an.
  2. Öffnen Sie den Willhaben Scraper.
  3. Fügen Sie willhaben.at-Such-, Kategorie- oder Anzeigen-URLs ein, eine pro Zeile - oder laden Sie eine CSV-, XLSX-, TXT- oder Parquet-Datei hoch.
  4. Setzen Sie ein Limit pro Abfrage, oder lassen Sie es auf null, um alles zu nehmen.
  5. Wählen Sie Ihr Ausgabeformat.
  6. Klicken Sie auf Get Data.
Was kommt für jede Anzeige zurück?+
Dreißig Spalten: die Abfrage, die Anzeigen-ID und deren URL, Titel und Beschreibung, Preis und Währung, Ort, Postleitzahl und Bundesland, der Zustand, vier Fahrzeugmerkmale, alle Foto-URLs und - bei Händleranzeigen - der Firmenname, ein Link zur Händlerseite, acht Adressfelder und eine Telefonnummer. Das JSON fügt eine einunddreißigste hinzu, position, die die CSV- und XLSX-Exporte weglassen.
Warum sind die Firmenspalten in so vielen Zeilen leer?+
Weil diese Anzeigen nicht von einem registrierten Händler stammten. Neun der zehn company_-Spalten füllen sich gemeinsam oder gar nicht, und phone füllt sich mit ihnen - eine Zeile trägt entweder den ganzen Händlerblock oder gar keinen. Ein leerer Block bedeutet eine Privatanzeige, keinen fehlgeschlagenen Abruf. Die zehnte Firmenspalte, company_address_state, trug in keinem unserer Durchläufe je einen Wert.
Sind manche Spalten immer leer?+
Zwei waren es, in allem, was wir ausgeführt haben. author_member_since und company_address_state trugen nie einen Wert - bei der zweiten auch nicht bei Händleranzeigen, die sonst eine vollständige Adresse hatten. Die Spalten stehen in der Kopfzeile, Ihre Datei wird sie also haben; bauen Sie kein Feld auf eine der beiden. Verwenden Sie state für das Bundesland der Anzeige.
Wie lese ich die Spalte images?+
Als eine Zeichenkette, nicht als Liste. Alle Foto-URLs einer Anzeige kommen durch Semikolon und Leerzeichen verbunden an, teilen Sie also an "; ", um sie zu erhalten. Wie viele Sie bekommen, hängt von der Anzeige ab. Vor dem 02.07.2026 hieß diese Spalte image und enthielt eine einzige URL.
Haben sich die Spalten kürzlich geändert?+
Ja, am 02.07.2026. Durchläufe vor diesem Tag exportierten fünfzehn CSV-Spalten; Durchläufe danach exportieren die hier beschriebenen dreißig. Zwei Namen wurden ersetzt statt ergänzt: aus url wurde listing_url, und aus image wurde images. Wenn Sie eine Datei aus dem Juni haben, ist deren Kopfzeile eine andere - das ist die Änderung, kein Fehler in einer der beiden Dateien.
Kommen die Werte auf Deutsch zurück?+
Ja, bei den beschreibenden Feldern. condition, fuel, gearbox und state kommen durchweg deutsch zurück - Gebrauchtwagen, Diesel, Automatik, Oberösterreich und so weiter - und die Bundesländer sind die österreichischen. Auf dem Weg nach draußen wird nichts übersetzt.
Was kostet das?+
Die ersten 500 Zeilen sind kostenlos und einmalig, ohne Kreditkarte. Danach sind es 0,002 $ je Zeile - etwa 2 $ pro 1.000 Anzeigen - derselbe Pauschalpreis wie bei jedem anderen Scraper der Plattform. Der Schätzer zeigt die Kosten eines Durchlaufs, bevor er startet.

Ihre ersten 500 Anzeigen,
gehen aufs Haus.

500 einmalige kostenlose Zeilen für jedes neue Konto - ohne Verfallsdatum. Danach 0,002 $ je Zeile, nach Verbrauch - keine hinterlegte Karte, bis Sie es sagen.

Sofort aktiv · keine Karte erforderlich

willhaben.at-Kleinanzeigen im großen Maßstab scrapen

Livescrapers Willhaben Scraper macht aus einer Liste von willhaben.at-URLs Anzeigendaten. Sie übermitteln Such-URLs, Kategorie-URLs oder einzelne Anzeigen-URLs - eine pro Zeile getippt oder als CSV-, XLSX-, TXT- oder Parquet-Datei hochgeladen -, begrenzen bei Bedarf die Zeilen pro Abfrage und laden das Ergebnis als saubere CSV-, Excel- oder JSON-Datei herunter. Eine Zeile pro Anzeige, dreißig Spalten.

Jede Zeile trägt die Anzeige so, wie willhaben sie zeigt: die numerische ID und den Link, Titel und Beschreibung, den Angebotspreis und dessen Währung, Ort, Postleitzahl und Bundesland, den Zustand, die Fahrzeugmerkmale, wo die Kategorie sie hat, und jede Foto-URL. Von registrierten Händlern eingestellte Anzeigen ergänzen einen Firmennamen, einen Link zur eigenen willhaben-Seite des Händlers, acht Adressfelder und eine Telefonnummer. Das JSON trägt ein zusätzliches Feld, position, das willhabens eigene Reihenfolge festhält.

Handelsteams bepreisen eine ganze Kategorie auf einmal statt Anzeige für Anzeige und nutzen die Spalten für Postleitzahl und Bundesland, um zu sehen, wie derselbe Artikel im ganzen Land bepreist wird. Vertriebsteams machen aus einem Kategorielauf eine kontaktierbare Händlerliste. Research-Teams führen eine Suche im Zeitverlauf erneut aus und vergleichen die Dateien, was funktioniert, weil jede Zeile eine stabile Anzeigen-ID und einen Rang trägt.

Zwei Eigenschaften sollten Sie vor dem Start kennen. Jeder Wert kommt als String zurück außer position, parsen Sie also vor dem Sortieren - und images ist eine einzige Zeichenkette mit mehreren URLs, verbunden durch Semikolon und Leerzeichen, kein Array. Diese Seite veröffentlicht bewusst keine Zeilenzahlen: Wie viel ein Durchlauf liefert, hängt von der Suche, dem Limit pro Abfrage und dem Tag ab, deshalb beschreiben die Spaltenhinweise, was jedes Feld enthält, statt eine Zahl zu nennen, die zu Ihrer nicht passt. Starten Sie kostenlos: Ihre ersten 500 Zeilen kosten nichts und brauchen keine Kreditkarte, danach sind es pauschal 0,002 $ je Zeile.