Tony Wang4 Min. LesezeitZillow scrapen 2026 (API & Python)
Drei Wege, Zillow 2026 zu scrapen — DIY-Python, No-Code-Tools oder eine strukturierte API für Property-Suche und Listing-Details, samt Rechtsgrundlagen.
Am schnellsten scrapst du Zillow 2026, indem du eine strukturierte Zillow-API aufrufst, die normalisiertes JSON zurückgibt — Suchergebnisse, Listing-Details, Preis, Zimmer, Bäder und Adresse — statt Zillows JavaScript-lastige Seiten zu parsen und gegen den Anti-Bot-Schutz anzukämpfen. Du kannst zwar einen eigenen Scraper bauen, aber Zillow blockiert Automatisierung aktiv. Dieser Guide zeigt dir alle drei Ansätze: was jeder zurückgibt, wo jeder scheitert und die rechtlichen Grundlagen.
Ist es legal, Zillow zu scrapen?
Das Scrapen öffentlicher Zillow-Listing-Daten (Preis, Adresse, Zimmer/Bäder, Status) ist in der Regel risikoärmeres Public-Web-Scraping — in den USA entschied hiQ v. LinkedIn, dass der Zugriff auf öffentliche Daten kein Verstoß gegen den CFAA ist, und Fakten wie Preise sind nicht urheberrechtlich schützbar. Zillows Nutzungsbedingungen verbieten jedoch automatisierten Zugriff, und Listing-Fotos sowie Beschreibungen können urheberrechtlich geschützt sein — veröffentliche sie also nicht erneut. Nutze öffentliche, faktische Daten, halte Rate-Limits ein und lies dir Zillows Bedingungen durch. Siehe is web scraping legal. Keine Rechtsberatung.
Option 1: DIY mit Python (und warum es scheitert)
Zillow rendert mit viel JavaScript und wehrt sich aggressiv, also greifst du zu einem Headless-Browser:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
page = p.chromium.launch().new_page()
page.goto("https://www.zillow.com/austin-tx/")
# then parse the embedded __NEXT_DATA__ JSON, page by map region, and clear the press-and-hold CAPTCHA...
Es funktioniert in der Demo und scheitert dann — Zillow gilt als eines der härtesten Ziele im Web:
- PerimeterX (HUMAN) Bot-Erkennung — Verhaltensanalyse (Maus, Tastatureingaben), Browser-Fingerprinting, HTTP/2- und Header-Reihenfolge-Prüfungen sowie ein Press-and-Hold-CAPTCHA; du brauchst Residential-Proxys und Fingerprint-Spoofing.
- Niedrige sichere Rate — Praktiker limitieren sich auf etwa 20–50 Property-Detail-Seiten pro Tag und IP, im großen Maßstab heißt das also viele rotierende Residential-IPs.
- Wechselndes eingebettetes JSON — Zillows Client-Daten (ein Blob im
__NEXT_DATA__-Stil) ändern ihre Form und brechen Parser. - Verschleiß der Bypasses — Open-Source-PerimeterX-Bypasses halten meist nur ein paar Monate, bevor sie gepatcht werden.
Option 2: No-Code-Tools
Visuelle Extraktoren exportieren CSV/JSON und eignen sich für einmalige Abfragen, sind aber weniger praktisch für In-Product-Pipelines mit vorhersehbaren Feldern.
Option 3: Eine strukturierte Zillow-API
Für wiederkehrende Workflows liefert eine Zillow scraping API normalisiertes JSON, ohne dass ein Browser laufen muss. Suche nach Standort:
curl "https://api.crawlora.net/api/v1/zillow/search?location=Austin,%20TX" \
-H "x-api-key: $CRAWLORA_API_KEY"
Ruf ein einzelnes Listing per ZPID in Python ab:
import requests
prop = requests.get(
"https://api.crawlora.net/api/v1/zillow/property/12345678",
headers={"x-api-key": "YOUR_API_KEY"},
).json()["data"]
print(prop.get("address"), prop.get("price"), prop.get("bedrooms"))
Eine Antwort ist normalisiertes JSON, das du direkt speichern kannst (die Felder sind exemplarisch — prüfe die docs):
{
"code": 200,
"msg": "OK",
"data": [
{
"zpid": "12345678",
"address": "123 Example St, Austin, TX",
"price": 625000,
"bedrooms": 3,
"bathrooms": 2,
"living_area": 1850,
"status": "FOR_SALE"
}
]
}
Löse einen Standort zuerst per Autocomplete auf, dann suche — oder ruf ein einzelnes Listing per ZPID ab:
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/zillow"
place = requests.get(f"{base}/autocomplete", headers=h, params={"query": "Austin, TX"}).json()["data"]
results = requests.get(f"{base}/search", headers=h, params={"location": "Austin, TX"}).json()["data"]
Autocomplete gibt eine region_id und Kartengrenzen (west/east/south/north) zurück; diese an die Suche zu übergeben ist die stabilste Request-Form, sodass du Zillows URL-Slugs nicht erraten musst.
Was du einsammeln kannst
Sofern das öffentliche Listing sie freigibt: ZPID, Adresse, Preis, Zimmer, Bäder, Wohnfläche, Grundstücksgröße, Immobilientyp, Status, Makler, Beschreibung, Medien und Schätzwerte — plus den Such- oder ZPID-Kontext, den du angefragt hast.
Grenzen und typische Herausforderungen
- Keine offene öffentliche API. Zillows offizieller API-Zugang ist auf Partner beschränkt (Bridge-/MLS-Programme), also bedeutet das Einsammeln beliebiger öffentlicher Listings Scraping.
- PerimeterX, Very-Hard-Einstufung. Zillow betreibt PerimeterX (HUMAN) mit Verhaltensanalyse und Fingerprinting; DIY braucht Residential-Proxys, Fingerprint-Spoofing und niedrige Raten pro IP, und Open-Source-Bypasses verschleißen innerhalb von Monaten — eine strukturierte API fängt all das hinter einem Key ab.
- Listing-Medien sind urheberrechtlich geschützt. Preis, Adresse, Zimmer/Bäder und Status sind Fakten, die du einsammeln darfst; Listing-Fotos und Makler-Beschreibungen tragen Urheberrecht — veröffentliche sie nicht erneut.
- Der Status ändert sich schnell und Schätzwerte sind Modelle. For-Sale/Sold/Pending wechselt rasch, scrape also nach Zeitplan neu, und behandle Zestimate-artige Werte als Zillows Modell-Ausgabe, nicht als gesicherte Wahrheit.
Wo das zum Einsatz kommt
- Property Market Intelligence — verfolge Listings, Preise und Bestand nach Markt. Siehe den Use Case property market intelligence.
- Vergleichs- & Bewertungsrecherche — zieh vergleichbare Listings für eine Region.
- Lead- und Gebiets-Mapping — kombiniere mit lokalen Daten für Immobilien-Workflows.
Sources
Loslegen
Probier es zuerst kostenlos aus: jage eine beliebige öffentliche URL durch den Free Web Scraper oder prüfe mit dem Anti-Bot Checker, ob eine Seite Bots blockiert — ohne Anmeldung.
Teste den Such-Endpoint im Playground, sieh dir das Schema in den API docs an und wirf einen Blick auf die pricing. Siehe auch how to choose a web scraping API und is web scraping legal.
Häufig gestellte Fragen
Kann ich Zillow scrapen, ohne blockiert zu werden?
Zillow ist eines der härtesten Ziele im Web — es betreibt PerimeterX (HUMAN) mit Verhaltensanalyse, Browser-Fingerprinting und einem Press-and-Hold-CAPTCHA, sodass DIY Residential-Proxys, Fingerprint-Spoofing und niedrige Raten pro IP braucht (Praktiker limitieren sich auf etwa 20–50 Detailseiten/Tag/IP). Eine strukturierte API erledigt Proxys und Browser-Ausführung hinter dem Endpoint.
Hat Zillow eine offizielle API?
Keine offene. Zillows API-Zugang ist auf Partner beschränkt (Bridge-/MLS-Programme), also bedeutet das Einsammeln beliebiger öffentlicher Listings Scraping. Crawloras Zillow-Endpoints geben öffentliche Such- und Property-Daten als normalisiertes JSON über einen einzigen API-Key zurück.
Welche Zillow-Daten bekomme ich?
Öffentliche Listing-Felder: ZPID, Adresse, Preis, Zimmer/Bäder, Wohnfläche, Grundstücksgröße, Immobilientyp, Status, Makler, Beschreibung, Medien und Schätzwerte, sofern verfügbar. Fakten wie Preis und Adresse tragen das geringste Risiko; Fotos und Beschreibungen können urheberrechtlich geschützt sein.
Wie suche ich nach einem Standort?
Löse ihn über den Autocomplete-Endpoint auf (query, mit status for_sale/for_rent/sold), übergib dann die zurückgegebene region_id oder die Kartengrenzen an /zillow/search — die stabilste Form — oder ruf ein einzelnes Listing per /zillow/property/{zpid} ab.
Darf ich Listing-Fotos und Beschreibungen speichern?
Die können urheberrechtlich geschützt sein — geh vorsichtig damit um und veröffentliche sie nicht erneut. Faktische Felder wie Preis und Adresse tragen das geringste Risiko.