Tony Wang6 Min. LesezeitRedfin scrapen in 2026 (API & Python)
Redfin-Listings, Schätzwerte und Markttrends 2026 scrapen: DIY-Python, No-Code-Tools oder eine API, plus ehrlicher Blick auf die Bot-Abwehr.
Redfin gehört zu den schwierigeren Immobilienseiten, die sich direkt scrapen lassen — die Seite veröffentlicht keine öffentliche Per-Listing-API, und ihre Nutzungsbedingungen verbieten automatisiertes Crawling ausdrücklich. Der schnellste Weg, wenn du strukturierte Daten brauchst, ist eine Scraping-API, die normalisiertes JSON für Suchergebnisse, Property-Details und Redfins Home-Value-Schätzung zurückgibt. Dieser Guide behandelt DIY-Python (und warum es hier besonders fragil ist), No-Code-Tools und eine strukturierte Redfin-API — plus eine ehrliche Einschätzung der Zuverlässigkeit, denn das ist die eigentliche Frage bei dieser Plattform.
Warum Redfin-Daten scrapen?
- Home-Value-/AVM-Recherche — die Redfin Estimate zusammen mit Preiszeitreihen auf Property- und Regionsebene, nützlich als eines von mehreren Signalen für automatisierte Wertermittlung.
- Markttrend-Analyse — Median-Verkaufspreis, Verweildauer am Markt und Verkaufs-zu-Listing-Verhältnis nach Region, über die Zeit verfolgt.
- Investoren- und Comping-Tools — vergleichbare Häuser zu einem gegebenen Listing abrufen, um Deal-Screening oder Bewertungs-Workflows zu unterstützen.
- KI- und Datenpipelines — normalisierte Listing- und Schätzwertfelder in ein Modell oder Dashboard einspeisen, statt Zahlen manuell von Listing-Seiten abzuschreiben.
Ist es legal, Redfin zu scrapen?
Option 1: DIY in Python (und warum es scheitert)
Redfin rendert mit viel JavaScript und legt echte Bot-Abwehrmaßnahmen über seine No-Scraping-Bedingungen, sodass ein simples requests.get() fast sofort eine Blockseite oder eine stark reduzierte Antwort erhält:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
page = p.chromium.launch().new_page()
page.goto("https://www.redfin.com/city/30772/CA/San-Francisco")
# then find and parse the embedded state JSON, page through map regions,
# and hope the response isn't a challenge page...
Es funktioniert in der Demo und scheitert dann — und zwar auf eine Weise, die bei Redfin besonders lästig ist:
- Bot-Erkennung vor den Seiten, die du brauchst. Suchergebnis- und Property-Seiten sitzen hinter Challenge-/Fingerprinting-Prüfungen; ein naiver Scraper bekommt eine Blockseite statt Daten.
- Keine stabile öffentliche API als Ausweichmöglichkeit. Anders als bei Seiten mit einer Partner-API, für die man sich bewerben kann, ist Redfins einzige offizielle Datenquelle das aggregierte Data Center — es gibt kein
GET /listings/{id}, das du stattdessen aufrufen dürftest. - Das eingebettete JSON verändert sich. Property- und Suchseiten führen einen Client-State-JSON-Blob, dessen Form sich ohne Ankündigung ändert, sodass Parser stillschweigend brechen.
- Zuverlässigkeit ist selbst nach der Blockade nicht garantiert. Während der Recherche für diesen Guide lief ein Live-Testaufruf gegen einen Redfin-Scraping-Endpoint schlicht in ein Timeout — eine Erinnerung daran, dass "wir sind an den Abwehrmaßnahmen vorbeigekommen" und "das funktioniert jedes Mal" bei einer so aggressiv geschützten Seite zwei verschiedene Aussagen sind.
Option 2: No-Code-/fertige Tools
Visuelle Point-and-Click-Extraktoren können eine Handvoll Redfin-Listing-Seiten für einen einmaligen Abzug ziehen und als CSV/JSON exportieren, stoßen aber auf dieselben Bot-Abwehrmaßnahmen wie DIY, neigen bei einer so geschützten Seite zur Brüchigkeit und eignen sich nicht gut für eine Pipeline, die planbare Felder nach Zeitplan braucht.
Option 3: Eine strukturierte Redfin-API
Für wiederkehrende Workflows liefert eine Redfin scraping API normalisiertes JSON, ohne dass ein Browser laufen muss — baue aber, wie oben beschrieben, für Retries statt anzunehmen, dass jeder Aufruf gelingt. Suche nach Listings per Standort:
curl -s "https://api.crawlora.net/api/v1/redfin/search?location=San%20Francisco,%20CA" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"location": "San Francisco, CA",
"page": 1,
"region_id": 17151,
"region_type": 6,
"results": [
{
"property_id": "1715020",
"address": "123 Main St #4",
"city": "San Francisco",
"state": "CA",
"zip": "94110",
"url": "https://www.redfin.com/CA/San-Francisco/123-Main-St-94110/home/1715020",
"property_type": "Condo/Co-op",
"status": "Active",
"price": 1250000,
"beds": 2,
"baths": 2,
"sqft": 1100,
"lot_size": 2500,
"year_built": 1998,
"days_on_market": 7,
"price_per_sqft": 1136,
"hoa_monthly": 450,
"mls_number": "424001234",
"latitude": 37.7596,
"longitude": -122.4269
}
]
}
}
Ruf eine einzelne Property per ID in Python ab, dann ihre Home-Value-Schätzung und vergleichbare Häuser:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/redfin"
prop = requests.get(f"{base}/property", headers=h, params={"property_id": "1715020"}).json()["data"]
print(prop.get("address"), prop.get("city"), prop.get("state"))
estimate = requests.get(f"{base}/estimate", headers=h, params={"property_id": "1715020"}).json()["data"]
print(estimate.get("estimate_text"), "vs listing price", estimate.get("listing_price"))
similar = requests.get(f"{base}/similar", headers=h, params={"property_id": "1715020"}).json()["data"]
print(len(similar.get("results", [])), "comparable homes")
Der Estimate-Endpoint liefert die Redfin Estimate zusammen mit Preiszeitreihen für Property, Stadt, Landkreis und ZIP-Code (die Felder sind exemplarisch — prüfe die docs):
{
"code": 200,
"msg": "OK",
"data": {
"property_id": "1715020",
"estimate": 1850000,
"estimate_text": "$1.85M",
"listing_price": 2500000,
"address": "1242 Sacramento St #1",
"beds": 2,
"baths": 2,
"sqft": 1609,
"year_built": 1900,
"property_time_series": [1800000, 1820000, 1850000],
"city_time_series": [1500000, 1510000, 1520000],
"county_time_series": [1400000, 1410000, 1420000],
"postal_code_time_series": [1523302, 1529750, 1537670]
}
}
Für den Markt-Kontext liefert region-trends Median-Preise und Bestand für eine Region-ID (aufgelöst über einen vorherigen Suchaufruf):
curl -s "https://api.crawlora.net/api/v1/redfin/region-trends?region_id=17151®ion_type=6" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"region_id": 17151,
"region_type": 6,
"median_list_price": "$1.29M",
"median_sale_price": "$1.76M",
"median_sale_per_list": "115.5%",
"avg_days_on_market": "31",
"num_homes_sold": "568",
"num_homes_on_market": "978",
"yoy_sale_price": "+14.0%"
}
}
Was du einsammeln kannst
Sofern die öffentlichen Listing- und Marktseiten sie freigeben: Adresse, Stadt/Bundesstaat/ZIP, Preis, Zimmer, Bäder, Wohnfläche, Grundstücksgröße, Baujahr, Verweildauer am Markt, Preis pro Quadratfuß, HOA, MLS-Nummer und Koordinaten aus der Suche; Beschreibung und Fakten aus dem Property-Detail; die Redfin Estimate und Preiszeitreihen aus estimate; vergleichbare Häuser aus similar; sowie Median-Preis, Bestand, Verweildauer am Markt und Verkaufs-zu-Listing-Verhältnis aus region trends.
Grenzen
- Keine offizielle Per-Listing-API. Die einzige sanktionierte Redfin-Datenquelle ist das aggregierte Data Center (Metro-/ZIP-CSVs); alles auf Property-Ebene ist per Definition inoffiziell.
- Nutzungsbedingungen verbieten automatisiertes Crawling ausdrücklich. Das ist nicht nur eine technische Abwehrmaßnahme — Abschnitt 2.3.5 verbietet Scraping grundsätzlich ohne vorherige schriftliche Genehmigung.
- Die Zuverlässigkeit schwankt, und zwar deutlich. Redfins Abwehrmaßnahmen bedeuten, dass jeder einzelne Aufruf — DIY oder über eine strukturierte API — in ein Timeout laufen oder blockiert werden kann; baue keine Pipeline, die 100 % Erfolg voraussetzt, und füge Retry/Backoff hinzu.
- Listing-Medien sind urheberrechtlich geschützt. Fotos und von Maklern verfasste Beschreibungen tragen ein eigenes Urheberrecht, getrennt von den zugrunde liegenden Fakten — veröffentliche sie nicht erneut.
- Die Redfin Estimate ist ein Modell, keine gesicherte Wahrheit. Behandle sie als eines von mehreren Signalen, genau wie jedes andere automatisierte Bewertungsmodell.
- Status und Preise ändern sich schnell. Active/Pending/Sold wechselt rasch, ein Snapshot veraltet also schnell — sammle nach Zeitplan neu, wenn du den aktuellen Zustand brauchst.
Wo das zum Einsatz kommt
- Home-Value- und Comping-Recherche — kombiniere die Estimate- und Similar-Homes-Endpoints, um eine Bewertung auf Plausibilität zu prüfen.
- Markttrend-Tracking — rufe Region Trends nach Zeitplan ab, um Median-Preis, Bestand und Verweildauer am Markt einer Metro-Region zu beobachten.
- Investoren- und Bewertungs-Tools — speise normalisierte Listing- und Schätzwertfelder in Deal-Screening- oder Bewertungs-Workflows ein.
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. Für eine Deep-Dive-Betrachtung von Redfins größtem Konkurrenten siehe how to scrape Zillow; um Zillow, Redfin, Realtor.com und Trulia gemeinsam abzudecken, siehe how to scrape real estate listings; und für die rechtlichen Grundlagen, die für jede Seite gelten, is web scraping legal.
Häufig gestellte Fragen
Hat Redfin eine öffentliche API für Listings?
Nein. Redfins einzige offizielle, entwicklerorientierte Datenquelle ist das Data Center, das aggregierte, herunterladbare Markttrend-CSVs nach Metro oder ZIP-Code anbietet (Median-Verkaufspreis, Bestand, Verweildauer am Markt). Es gibt keine Self-Service-API für Daten auf Property-Ebene wie den Preis, die Zimmerzahl oder die Redfin Estimate eines bestimmten Listings.
Ist es legal, Redfin zu scrapen?
Öffentliche Listing-Fakten (Preis, Adresse, Zimmer/Bäder, Status) sind in der Regel risikoärmer zu sammeln, und hiQ v. LinkedIn entschied, dass der Zugriff auf öffentliche Daten kein Verstoß gegen den CFAA ist. Aber Redfins Nutzungsbedingungen gehen weiter als bei den meisten Seiten: Abschnitt 2.3.5 verbietet automatisiertes Crawling oder Abfragen des Dienstes ausdrücklich ohne vorherige schriftliche Genehmigung. Lies dir Redfins Bedingungen selbst durch; dies ist keine Rechtsberatung.
Wie zuverlässig ist das Scrapen von Redfin, selbst mit einer strukturierten API?
Variabel, und du solltest entsprechend planen, statt etwas anderes anzunehmen. Redfin gehört zu den aggressiver bot-geschützten Immobilienseiten, und ein Live-Testaufruf gegen einen Redfin-Scraping-Endpoint lief während der Recherche für diesen Guide schlicht in ein Timeout. Baue jede Pipeline gegen Redfin — DIY oder über eine API — mit Retries und Backoff, nicht mit der Annahme von 100 % Erfolg.
Was ist die Redfin Estimate und kann ich sie per API abrufen?
Die Redfin Estimate ist Redfins automatisiertes Home-Value-Modell, ähnlich in seinem Zweck wie Zillows Zestimate. Sie wird über keine offizielle Redfin-API bereitgestellt, aber eine strukturierte Drittanbieter-API kann sie zusammen mit Preiszeitreihen auf Property-, Stadt-, Landkreis- und ZIP-Ebene für den Kontext zurückgeben. Behandle sie als Modell-Output, nicht als gesicherte Wahrheit.
Welche Redfin-Daten darf ich legal sammeln und weiterverwenden?
Öffentliche faktische Felder — Preis, Adresse, Zimmer/Bäder, Wohnfläche, Verweildauer am Markt und Ähnliches — bergen ein geringeres Urheberrechtsrisiko als Listing-Fotos oder von Maklern verfasste Beschreibungen, die urheberrechtlich geschützt sein können und nicht erneut veröffentlicht werden sollten. Fakten sind nicht urheberrechtlich schützbar, aber Redfins Nutzungsbedingungen schränken automatisiertes Sammeln unabhängig davon separat ein.
Wie schwierig ist das Scrapen von Redfin im Vergleich zu Zillow?
Beide sind schwierig. Zillow gilt typischerweise als eines der schwierigsten Immobilienziele wegen PerimeterX-artiger Verhaltensabwehr. Redfin ergänzt zusätzlich zu seinen eigenen Bot-Abwehrmaßnahmen ein explizites vertragliches Verbot automatisierten Crawlings in den Nutzungsbedingungen, und Tests während der Recherche für diesen Guide zeigten, dass ein Live-Aufruf gegen einen Redfin-Endpoint schlicht in ein Timeout laufen kann — geh also nicht davon aus, dass Redfin nennenswert einfacher ist.
Welche Felder liefert eine strukturierte Redfin-API typischerweise?
Die Suche liefert pro Listing Adresse, Preis, Zimmer, Bäder, Wohnfläche, Grundstücksgröße, Baujahr, Verweildauer am Markt, HOA und MLS-Nummer. Das Property-Detail ergänzt Beschreibung und Fakten. Estimate liefert die Redfin Estimate und Preiszeitreihen. Similar liefert vergleichbare Häuser. Region Trends liefert Median-Verkaufs-/Listing-Preis, Bestand und Verkaufs-zu-Listing-Verhältnis für einen Markt.