Skip to content

bright-data-de/zillow-scraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zillow Scraper

Promo

Dieses Repository bietet zwei unterschiedliche Methoden für das Scraping von Zillow-Daten:

  1. Einen kostenlosen Scraper im kleinen Maßstab für die grundlegende Datenerfassung
  2. Eine API-Lösung auf Enterprise-Niveau für die Datenextraktion im großen Maßstab

Table of Contents

Free Zillow Data Scraper

Mit dem kostenlosen Scraper können Sie Immobilien-Daten von Zillow-Suchseiten in kleinem Umfang erfassen.

Input Requirements

Parameter Required Description
coords Yes Begrenzungskoordinaten [west, east, south, north]
pages Yes Anzahl der zu scrapenden Seiten

Implementation

Um den Scraper zu verwenden, passen Sie die Koordinaten und die Seitenanzahl im folgenden Code entsprechend Ihrem Standort und Ihren Datenanforderungen an:

# free_zillow_scraper/property_data.py
def get_search_params():
    return (
        -118.668176,  # West longitude
        -118.155289,  # East longitude
        33.703652,    # South latitude
        34.337306,    # North latitude
        5             # Number of pages to scrape
    )

Hinweis: Geografische Koordinaten finden Sie im <script>-Tag der Zillow-Suchseite für jeden Standort. Suchen Sie nach dem folgenden Tag:

<script id="__NEXT_DATA__" type="application/json">

Sample Output

{
    "id": "20595672",
    "price": "$1,599,900",
    "zestimate": 1605500,
    "location": {
        "address": "2215 Wellington Rd, Los Angeles, CA 90016",
        "city": "Los Angeles",
        "state": "CA",
        "zip": "90016",
        "coordinates": {"lat": 34.036064, "lon": -118.33622},
    },
    "details": {
        "beds": 4,
        "baths": 3.0,
        "area_sqft": 1886,
        "lot_acres": 8577.0,
        "property_type": "SINGLE_FAMILY",
    },
    "listing": {
        "status": "House for sale",
        "days_on_zillow": 5,
        "broker": "ehomes",
        "url": "https://www.zillow.com/homedetails/2215-Wellington-Rd-Los-Angeles-CA-90016/20595672_zpid/",
    },
},

Limitations of Free Scraper

Der kostenlose Zillow Scraper eignet sich gut für die Datenextraktion im kleinen Maßstab, hat jedoch die folgenden Einschränkungen:

  • Ratenbegrenzung: Zillow blockiert Anfragen nach einigen Scrapes.
  • IP-Blocking: Häufiges Scraping von derselben IP-Adresse kann zu Sperren führen.
  • Begrenzte Skalierbarkeit: Nicht geeignet für die Datenerfassung in hohem Volumen.
  • CAPTCHA: Zillow kann CAPTCHAs anzeigen, um automatisierte Anfragen zu blockieren.
  • Honeypots: Zillow verwendet Honeypot-Fallen, um Bots zu erkennen und zu blockieren.

Für Scraping im großen Maßstab sollten Sie die unten beschriebene Zillow Scraper API in Betracht ziehen.

Zillow Scraper API

Die Bright Data Zillow Scraper API bietet eine skalierbare, zuverlässige und unkomplizierte Lösung zum Extrahieren großer Mengen an Zillow-Daten, ohne dass Sie Ihre eigene Infrastruktur aufbauen oder warten müssen.

Key Features

  • Skalierbar & zuverlässig: Optimiert für Datenerfassung in hohem Volumen und in Echtzeit.
  • Anti-Blocking: Integrierte Proxy-Rotation und CAPTCHA-Lösung.
  • Rechtskonformität: Vollständig GDPR- und CCPA-konform.
  • Globale Abdeckung: Greifen Sie auf Daten aus jeder Region und in jeder Sprache zu.
  • Echtzeitdaten: Aktuelle Daten mit minimaler Latenz.
  • Erweitertes Filtern: Passen Sie die Datenextraktion mit präzisen Filtern an.
  • Pay-as-You-Go: Sie zahlen nur für erfolgreiche Antworten.
  • Kostenlose Testversion: Enthält 20 kostenlose API-Aufrufe für den Einstieg.
  • Dedizierter Support: Technische Unterstützung rund um die Uhr.
  • No-Code-Option: Scrapen Sie Zillow-Daten per API oder über No-Code-Scraper.

Quick Start Guide

  • Registrieren: Erstellen Sie ein Bright Data-Konto.
  • API-Token abrufen: Holen Sie sich Ihren API key im Dashboard.
  • Endpunkt auswählen: Wählen Sie aus den unten verfügbaren API-Endpunkten.

1. Zillow Property Details by URL

Erfassen Sie Immobilien-Details, indem Sie die Immobilien-URL angeben.

zillow-properties-listing-information

Input Parameters

Parameter Required Description
url Yes Zillow-Immobilien-URL

Example Request

Python Code:

properties = [
    {"url": "https://www.zillow.com/homedetails/73-Beverly-Park-Ln-Beverly-Hills-CA-90210/20533547_zpid/"},
    {"url": "https://www.zillow.com/homedetails/1945-N-Edgemont-St-Los-Angeles-CA-90027/20809871_zpid/"}
]

👉 Vollständiges Python-Skript: zillow_properties.py

cURL Command:

curl -H "Authorization: Bearer YOUR_API_TOKEN" \
     -H "Content-Type: application/json" \
     -d '[
           {
             "url": "https://www.zillow.com/homedetails/2506-Gordon-Cir-South-Bend-IN-46635/77050198_zpid/?t=for_sale"
           }
         ]' \
     "https://api.brightdata.com/datasets/v3/trigger?dataset_id=gd_lfqkr8wm13ixtbd8f5&include_errors=true"

Response Schema

{
    "property_overview": {
        "address": "73 Beverly Park Ln, Beverly Hills, CA 90210",
        "price": "$89,900,000",
        "status": "FOR_SALE",
        "living_area": "28,500 sq ft",
        "lot_size": "2.68 acres",
        "bedrooms": 9,
        "bathrooms": 22,
    },
    "key_features": {
        "highlights": [
            "85-foot infinity lap pool",
            "Two kitchens (including commercial-grade)",
            "5,000 sq ft primary suite",
            "Screening room",
            "Gated community with guard",
        ],
        "views": ["City", "Ocean", "Mountain", "Canyon"],
    },
    "financial": {
        "last_sold": "2021-04-08 for $28,500,000",
        "property_tax_rate": "1.18%",
        "monthly_hoa": "$6,216",
    },
}

👉 Dies ist eine teilweise Antwort. Siehe die vollständige JSON-Antwort für vollständige Immobilien-Details.

2. Zillow Properties Listing by Filters

Suchen Sie Immobilien anhand von Standort und weiteren Kriterien.

zillow-properties-listing-by-input

💡 Hinweis: Einige Immobilien können mehrere Einheiten haben, was zu mehreren Datensätzen führen kann. Um Ergebnisse zu begrenzen, verwenden Sie Limit per input.

Input Parameters

Parameter Required Description
location Yes Kann eine Postleitzahl, Stadt oder ein Bundesstaat sein.
listingCategory Yes Optionen: Sold, House for rent, House for sale.
HomeType Yes Immobilientyp von Zillow (z. B. Houses, Apartments, Townhomes).

Example Request

Python Code:

filters = [
    {"location": "92027", "listingCategory": "Sold", "HomeType": "Houses"},
    {"location": "New York", "listingCategory": "House for rent", "HomeType": "Condos"},
    {"location": "Colorado", "listingCategory": "", "HomeType": ""},
]

👉 Vollständiges Python-Skript: zillow_discovered_properties.py

cURL Command:

curl -H "Authorization: Bearer YOUR_API_TOKEN" \
     -H "Content-Type: application/json" \
     -d '[{"location": "New York", "listingCategory": "House for rent", "HomeType": "Houses"},
          {"location": "02118", "listingCategory": "House for sale", "HomeType": "Condos"},
          {"location": "Colorado", "listingCategory": "", "HomeType": ""}]' \
     "https://api.brightdata.com/datasets/v3/trigger?dataset_id=gd_lfqkr8wm13ixtbd8f5&include_errors=true&type=discover_new&discover_by=input_filters"

Response Schema

{
    "address": {
        "streetAddress": "569 Hayward Pl",
        "city": "Escondido",
        "state": "CA",
        "zipcode": "92027",
    },
    "homeStatus": "SOLD",
    "bedrooms": 4,
    "bathrooms": 2,
    "livingArea": 1446,
    "livingAreaUnits": "Square Feet",
    "lotSize": 5933,
    "lotAreaUnits": "Square Feet",
    "homeType": "SINGLE_FAMILY",
    "yearBuilt": 1987,
    "lastSoldPrice": 689000,
    "dateSoldString": "2022-08-11",
    "zestimate": 818100,
    "rentZestimate": 3752,
    "schools": [
        {
            "name": "Glen View Elementary School",
            "distance": 0.6,
            "rating": 5,
            "grades": "K-5",
        },
        {
            "name": "Hidden Valley Middle School",
            "distance": 1.2,
            "rating": 5,
            "grades": "6-8",
        },
        {
            "name": "Orange Glen High School",
            "distance": 1.4,
            "rating": 5,
            "grades": "9-12",
        },
    ],
    "url": "https://www.zillow.com/homedetails/569-Hayward-Pl-Escondido-CA-92027/16696746_zpid/",
}

👉 Dies ist eine teilweise Antwort. Siehe die vollständige JSON-Antwort für vollständige Immobilien-Details.

3. Zillow Properties Listing by URL

Suchen Sie Immobilien direkt über Zillow-Suchseiten-URLs.

zillow-properties-listing-by-url

💡 Hinweis: Einige Immobilien können mehrere Einheiten haben, was zu mehreren Datensätzen führen kann. Um Ergebnisse zu begrenzen, verwenden Sie Limit per input.

Input Parameters:

Parameter Required Description
url Yes Direkte Zillow-Such-URL mit vollständigen Suchparametern

Example Request

Python Code:

urls = [
    {"url": "https://www.zillow.com/south-bend-in/?searchQueryState=%7B%22pagination%22%3A..."},
    {"url": "https://www.zillow.com/new-york-ny/rentals/?searchQueryState=%7B%22isMapVisible%22%3A..."},
    {"url": "https://www.zillow.com/sands-point-ny/rentals/?searchQueryState=%7B%22isMapVisible%22%3A..."},
]

👉 Vollständiges Python-Skript: zillow_discovered_properties_by_url.py

cURL Command:

curl -H "Authorization: Bearer YOUR_API_TOKEN" \
     -H "Content-Type: application/json" \
     -d '[{"url": "https://www.zillow.com/south-bend-in/?searchQueryState=%7B%22pagination%22%3A..."}]' \
     "https://api.brightdata.com/datasets/v3/trigger?dataset_id=gd_lfqkr8wm13ixtbd8f5&include_errors=true&type=discover_new&discover_by=url"

Response Schema:

{
    "zpid": 77029580,
    "address": {
        "streetAddress": "1937 Churchill Dr",
        "city": "South Bend",
        "state": "IN",
        "zipcode": "46617",
    },
    "price": 435000,
    "bedrooms": 4,
    "bathrooms": 4,
    "livingArea": 3197,
    "lotAreaValue": 0.46,
    "lotAreaUnits": "Acres",
    "yearBuilt": 1968,
    "homeStatus": "FOR_SALE",
    "zestimate": 420400,
    "lastSoldPrice": 134000,
    "dateSold": "2013-05-20",
    "schools": [
        {"name": "McKinley Elementary School", "rating": 4},
        {"name": "Edison Intermediate Center", "rating": 2},
        {"name": "Rise Up Academy At Eggleston", "rating": 1},
    ],
    "mortgageRates": {"thirtyYearFixedRate": 6.536},
    "listingProvidedBy": {"name": "Eric M Bomkamp", "phoneNumber": "574-360-2569"},
    "url": "https://www.zillow.com/homedetails/1937-Churchill-Dr-South-Bend-IN-46617/77029580_zpid/",
}

👉 Dies ist eine teilweise Antwort. Siehe die vollständige JSON-Antwort für vollständige Immobilien-Details.

4. Zillow Price History

Erfassen Sie die Preis-Historie einer Immobilie.

zillow-price-history

Input Parameters

Parameter Required Description
url Yes Zillow-Immobilien-URL.

Example Request

Python Code:

urls = [
    {"url": "https://www.zillow.com/homedetails/8305-Blue-Heron-Way-Raleigh-NC-27615/6468808_zpid/"},
    {"url": "https://www.zillow.com/homedetails/930-3rd-St-SE-Hickory-NC-28602/71557289_zpid/"},
]

👉 Vollständiges Python-Skript: zillow_price_history.py

cURL Command:

curl -H "Authorization: Bearer YOUR_API_TOKEN" \
     -H "Content-Type: application/json" \
     -d '[{"url": "https://www.zillow.com/homedetails/8305-Blue-Heron-Way-Raleigh-NC-27615/6468808_zpid/"},
          {"url": "https://www.zillow.com/homedetails/930-3rd-St-SE-Hickory-NC-28602/71557289_zpid/"}]' \
     "https://api.brightdata.com/datasets/v3/trigger?dataset_id=gd_lxu1cz9r88uiqsosl&include_errors=true"

Response Schema:

{
    "url": "https://www.zillow.com/homedetails/8305-Blue-Heron-Way-Raleigh-NC-27615/6468808_zpid/",
    "zpid": "6468808",
    "date": "2020-11-13T00:00:00.000Z",
    "event": "Sold",
    "price": 440000,
    "price_per_squarefoot": 127,
    "source": "Doorify MLS",
    "timestamp": "2025-02-09T16:56:42.074Z",
}

👉 Dies ist eine teilweise Antwort. Siehe die vollständige JSON-Antwort für vollständige Immobilien-Details.

No-Code Scraper Option

Der Bright Data No-Code Scraper bietet eine benutzerfreundliche Möglichkeit, Zillow-Daten ohne Programmierung zu erfassen.

  • Konfigurieren Sie Scraper in wenigen Minuten.
  • Automatisieren Sie den gesamten Datenerfassungsprozess.
  • Laden Sie die Ergebnisse direkt in mehreren Formaten herunter.

Für detaillierte Anweisungen besuchen Sie unseren Getting Started guide.

Additional Options

Optimieren Sie Ihre Datenerfassung mit diesen Parametern:

Parameter Type Description Example
limit integer Maximale Ergebnisse pro Input limit=10
include_errors boolean Fehlerberichte zur Fehlerbehebung abrufen include_errors=true
notify url Webhook-Benachrichtigungs-URL, um nach Abschluss benachrichtigt zu werden notify=https://notify-me.com/
format enum Ausgabeformat (z. B. JSON, NDJSON, JSONL, CSV) format=json

💡 Pro Tip: Sie können Daten an einen external storage oder einen webhook liefern.

Support & Resources

About

Ein Zillow Scraper, der ein kostenloses Tool für die Datenerfassung in kleinem Umfang sowie eine API auf Enterprise-Niveau für die zuverlässige Extraktion von Immobiliendaten in großem Umfang bietet.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages