Redfin scrapen: Ein Leitfaden zur Extraktion von Immobiliendaten
Scrapen Sie Redfin nach Immobilienangeboten. \n\nMarkttrends: MLS-Daten extrahieren. \n\nInvestment: Deals finden. \n\nImmobiliendaten in großem Stil.
Anti-Bot-Schutz erkannt
- Akamai Bot Manager
- Fortschrittliche Bot-Erkennung mittels Geräte-Fingerprinting, Verhaltensanalyse und maschinellem Lernen. Eines der ausgereiftesten Anti-Bot-Systeme.
- Cloudflare
- Enterprise-WAF und Bot-Management. Nutzt JavaScript-Challenges, CAPTCHAs und Verhaltensanalyse. Erfordert Browser-Automatisierung mit Stealth-Einstellungen.
- Google reCAPTCHA
- Googles CAPTCHA-System. v2 erfordert Benutzerinteraktion, v3 läuft unsichtbar mit Risikobewertung. Kann mit CAPTCHA-Diensten gelöst werden.
- Rate Limiting
- Begrenzt Anfragen pro IP/Sitzung über Zeit. Kann mit rotierenden Proxys, Anfrageverzögerungen und verteiltem Scraping umgangen werden.
- IP-Blockierung
- Blockiert bekannte Rechenzentrums-IPs und markierte Adressen. Erfordert Residential- oder Mobile-Proxys zur effektiven Umgehung.
Über Redfin
Entdecken Sie, was Redfin bietet und welche wertvollen Daten extrahiert werden können.
**Ein moderner Immobilien-Riese**
Redfin ist ein technologiegestütztes Immobilienmaklerunternehmen, das 2004 gegründet wurde und eine umfassende Plattform für den Kauf, Verkauf und die Vermietung von Häusern in den USA und Kanada bietet. Im Gegensatz zu vielen Aggregatoren ist Redfin ein lizenzierter Makler, was ihm direkten Zugang zu Multiple Listing Service (MLS) Feeds gewährt. Diese Integration stellt sicher, dass die Plattform hochpräzise Echtzeitdaten zu Hauspreisen, architektonischen Details und der Markthistorie liefert.
**Datenreichtum für Investoren**
Die Website dient Immobilienexperten und Datenwissenschaftlern als primäre Quelle aufgrund ihrer granularen Informationen, einschließlich hochauflösender Bilder, historischer Preisänderungen und des proprietären Redfin Estimate-Bewertungstools. Das Scrapen von Redfin ermöglicht eine großflächige Datenerfassung, die für die Überwachung schnelllebiger Immobilienmärkte und die Identifizierung von Investitionsmöglichkeiten unerlässlich ist.
**Branchenführende Transparenz**
Redfin wird häufig für seine benutzerfreundliche Oberfläche und die detaillierten öffentlichen Angaben zu Schulbewertungen in der Nachbarschaft und Walkability-Scores gelobt. Durch die Extraktion dieser Daten können Nutzer umfassende Datensätze für die Stadtplanung, Wirtschaftsforschung und wettbewerbsorientierte Immobilienanalysen erstellen.

Warum Redfin Scrapen?
Entdecken Sie den Geschäftswert und die Anwendungsfälle für die Datenextraktion von Redfin.
Zugriff auf präzise MLS-Daten
Redfin ist ein direktes Maklerunternehmen, was bedeutet, dass seine Daten direkt aus lokalen MLS-Feeds stammen. Dies liefert genauere und aktuellere Immobilieninformationen als typische Aggregatoren.
Investment-Leads identifizieren
Die Extraktion von Preisnachlässen, „Hot Homes“-Tags und neuen Inseraten in Echtzeit ermöglicht es Investoren, Chancen zu erkennen und zu nutzen, bevor die breite Öffentlichkeit davon erfährt.
Marktvergleichswerte analysieren
Das Scrapen historischer Verkaufsdaten ermöglicht es Data Scientists, robuste Bewertungsmodelle und automatisierte Bewertungsmodelle (AVMs) auf Basis tatsächlicher Transaktionspreise zu erstellen.
Metriken zur Nachbarschaftsqualität
Sammeln Sie Walk Scores, Transit Scores und Schulbewertungen über Tausende von Inseraten hinweg, um die Attraktivität einer Nachbarschaft für langfristige Stadtplanungsstudien zu quantifizieren.
Miet-ROI berechnen
Durch die Kombination von Listenpreisen mit geschätzten monatlichen Zahlungen und der Steuerhistorie können Analysten potenzielle Cap-Rates und Cash-on-Cash-Renditen präzise berechnen.
Marktinventar verfolgen
Die Überwachung aktiver Inserate im Vergleich zu ausstehenden Verkäufen (Pending Sales) in bestimmten ZIP-Codes hilft festzustellen, ob sich ein Mikromarkt zugunsten von Käufern oder Verkäufern verschiebt.
Scraping-Herausforderungen
Technische Herausforderungen beim Scrapen von Redfin.
Akamai Bot-Management
Redfin setzt einen fortschrittlichen Akamai-Schutz ein, der automatisierten Traffic durch komplexe Verhaltensanalysen und TLS-Fingerprinting identifiziert und blockiert.
JavaScript-lastige Inhalte
Entscheidende Datenpunkte wie das Redfin Estimate und historische Steuertabellen werden dynamisch über React geladen, was einen Browser erfordert, der JavaScript vollständig ausführen kann.
Aggressives Rate Limiting
Zu viele Anfragen von einer einzigen IP-Adresse führen schnell zu „429 Too Many Requests“-Fehlern oder einer dauerhaften reCAPTCHA-Sperre.
Regionale Selector-Variationen
Da die Daten aus Hunderten von verschiedenen MLS-Quellen stammen, kann die HTML-Struktur der Listendetails je nach Standort der Immobilie leicht variieren.
Datenverschleierung
Kontaktinformationen und spezifische Agentendetails sind manchmal hinter interaktiven Elementen verborgen oder erfordern spezifische Cookie-Header, um sichtbar zu sein.
Scrape Redfin mit KI
Kein Code erforderlich. Extrahiere Daten in Minuten mit KI-gestützter Automatisierung.
So funktioniert's
Beschreibe, was du brauchst
Sag der KI, welche Daten du von Redfin extrahieren möchtest. Tippe es einfach in natürlicher Sprache ein — kein Code oder Selektoren nötig.
KI extrahiert die Daten
Unsere künstliche Intelligenz navigiert Redfin, verarbeitet dynamische Inhalte und extrahiert genau das, was du angefordert hast.
Erhalte deine Daten
Erhalte saubere, strukturierte Daten, bereit zum Export als CSV, JSON oder zum direkten Senden an deine Apps und Workflows.
Warum KI zum Scraping nutzen
KI macht es einfach, Redfin zu scrapen, ohne Code zu schreiben. Unsere KI-gestützte Plattform nutzt künstliche Intelligenz, um zu verstehen, welche Daten du möchtest — beschreibe es einfach in natürlicher Sprache und die KI extrahiert sie automatisch.
How to scrape with AI:
- Beschreibe, was du brauchst: Sag der KI, welche Daten du von Redfin extrahieren möchtest. Tippe es einfach in natürlicher Sprache ein — kein Code oder Selektoren nötig.
- KI extrahiert die Daten: Unsere künstliche Intelligenz navigiert Redfin, verarbeitet dynamische Inhalte und extrahiert genau das, was du angefordert hast.
- Erhalte deine Daten: Erhalte saubere, strukturierte Daten, bereit zum Export als CSV, JSON oder zum direkten Senden an deine Apps und Workflows.
Why use AI for scraping:
- Nahtlose Akamai-Umgehung: Automatio verwendet eine fortschrittliche Browsersimulation, die menschliche Interaktionsmuster nachahmt. So können Sie erstklassige Anti-Bot-Schilde ohne manuelle Konfiguration umgehen.
- Visuelle Datenauswahl: Sie können komplexe Immobilienattribute und historische Tabellen über eine einfache Point-and-Click-Oberfläche auswählen, wodurch komplizierte XPaths oder CSS selectors überflüssig werden.
- Automatische Proxy-Rotation: Die Plattform rotiert automatisch hochreputative Residential Proxies, um sicherzustellen, dass Ihre Scraping-Aufgaben unentdeckt bleiben und hohe Erfolgsquoten erzielen.
- Ausführung dynamischer Inhalte: Automatio übernimmt das vollständige Rendering der JavaScript-basierten Elemente von Redfin und stellt sicher, dass dynamische Preise und Scores jedes Mal genau erfasst werden.
- Direkte Integration und Export: Synchronisieren Sie Ihre gescrapten Immobilien-Leads sofort mit Google Sheets, CSV oder Webhooks für ein unmittelbares Follow-up oder eine automatisierte Analyse in Ihrem CRM.
No-Code Web Scraper für Redfin
Point-and-Click-Alternativen zum KI-gestützten Scraping
Verschiedene No-Code-Tools wie Browse.ai, Octoparse, Axiom und ParseHub können Ihnen beim Scrapen von Redfin helfen. Diese Tools verwenden visuelle Oberflächen zur Elementauswahl, haben aber Kompromisse im Vergleich zu KI-gestützten Lösungen.
Typischer Workflow mit No-Code-Tools
Häufige Herausforderungen
Lernkurve
Das Verständnis von Selektoren und Extraktionslogik braucht Zeit
Selektoren brechen
Website-Änderungen können den gesamten Workflow zerstören
Probleme mit dynamischen Inhalten
JavaScript-lastige Seiten erfordern komplexe Workarounds
CAPTCHA-Einschränkungen
Die meisten Tools erfordern manuelle Eingriffe bei CAPTCHAs
IP-Sperrung
Aggressives Scraping kann zur Sperrung Ihrer IP führen
No-Code Web Scraper für Redfin
Verschiedene No-Code-Tools wie Browse.ai, Octoparse, Axiom und ParseHub können Ihnen beim Scrapen von Redfin helfen. Diese Tools verwenden visuelle Oberflächen zur Elementauswahl, haben aber Kompromisse im Vergleich zu KI-gestützten Lösungen.
Typischer Workflow mit No-Code-Tools
- Browser-Erweiterung installieren oder auf der Plattform registrieren
- Zur Zielwebseite navigieren und das Tool öffnen
- Per Point-and-Click die zu extrahierenden Datenelemente auswählen
- CSS-Selektoren für jedes Datenfeld konfigurieren
- Paginierungsregeln zum Scrapen mehrerer Seiten einrichten
- CAPTCHAs lösen (erfordert oft manuelle Eingabe)
- Zeitplanung für automatische Ausführungen konfigurieren
- Daten als CSV, JSON exportieren oder per API verbinden
Häufige Herausforderungen
- Lernkurve: Das Verständnis von Selektoren und Extraktionslogik braucht Zeit
- Selektoren brechen: Website-Änderungen können den gesamten Workflow zerstören
- Probleme mit dynamischen Inhalten: JavaScript-lastige Seiten erfordern komplexe Workarounds
- CAPTCHA-Einschränkungen: Die meisten Tools erfordern manuelle Eingriffe bei CAPTCHAs
- IP-Sperrung: Aggressives Scraping kann zur Sperrung Ihrer IP führen
Code-Beispiele
import requests
from bs4 import BeautifulSoup
# Redfin nutzt aggressiven Anti-Bot-Schutz; benutzerdefinierte Header sind obligatorisch
url = 'https://www.redfin.com/houses-near-me'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
'Accept-Language': 'de-DE,de;q=0.9'
}
try:
response = requests.get(url, headers=headers)
response.raise_for_status()
soup = BeautifulSoup(response.text, 'html.parser')
# Basis-Parsing der Listing-Cards
listings = soup.select('.HomeCardContainer')
for house in listings:
price = house.select_one('.homecardV2Price').get_text() if house.select_one('.homecardV2Price') else 'N/A'
address = house.select_one('.homeAddressV2').get_text() if house.select_one('.homeAddressV2') else 'N/A'
print(f'Preis: {price}, Adresse: {address}')
except Exception as e:
print(f'Ein Fehler ist aufgetreten: {e}')Wann verwenden
Am besten für statische HTML-Seiten, bei denen Inhalte serverseitig geladen werden. Der schnellste und einfachste Ansatz, wenn kein JavaScript-Rendering erforderlich ist.
Vorteile
- ●Schnellste Ausführung (kein Browser-Overhead)
- ●Geringster Ressourcenverbrauch
- ●Einfach zu parallelisieren mit asyncio
- ●Ideal für APIs und statische Seiten
Einschränkungen
- ●Kann kein JavaScript ausführen
- ●Scheitert bei SPAs und dynamischen Inhalten
- ●Kann bei komplexen Anti-Bot-Systemen Probleme haben
Wie man Redfin mit Code scrapt
Python + Requests
import requests
from bs4 import BeautifulSoup
# Redfin nutzt aggressiven Anti-Bot-Schutz; benutzerdefinierte Header sind obligatorisch
url = 'https://www.redfin.com/houses-near-me'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
'Accept-Language': 'de-DE,de;q=0.9'
}
try:
response = requests.get(url, headers=headers)
response.raise_for_status()
soup = BeautifulSoup(response.text, 'html.parser')
# Basis-Parsing der Listing-Cards
listings = soup.select('.HomeCardContainer')
for house in listings:
price = house.select_one('.homecardV2Price').get_text() if house.select_one('.homecardV2Price') else 'N/A'
address = house.select_one('.homeAddressV2').get_text() if house.select_one('.homeAddressV2') else 'N/A'
print(f'Preis: {price}, Adresse: {address}')
except Exception as e:
print(f'Ein Fehler ist aufgetreten: {e}')Python + Playwright
from playwright.sync_api import sync_playwright
def scrape_redfin():
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
context = browser.new_context(user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36')
page = context.new_page()
# Navigation zur Suchergebnisseite
page.goto('https://www.redfin.com/city/30756/GA/Atlanta')
# Warten auf das dynamische Laden der Listings
page.wait_for_selector('.HomeCardContainer')
# Daten extrahieren
homes = page.query_selector_all('.HomeCardContainer')
for home in homes:
price = home.query_selector('.homecardV2Price').inner_text()
address = home.query_selector('.homeAddressV2').inner_text()
print({'address': address, 'price': price})
browser.close()
scrape_redfin()Python + Scrapy
import scrapy
class RedfinSpider(scrapy.Spider):
name = 'redfin'
start_urls = ['https://www.redfin.com/city/30756/GA/Atlanta']
def parse(self, response):
for home in response.css('.HomeCardContainer'):
yield {
'price': home.css('.homecardV2Price::text').get(),
'address': home.css('.homeAddressV2::text').get(),
'details': home.css('.stats::text').getall(),
}
# Umgang mit Pagination
next_page = response.css('a.next::attr(href)').get()
if next_page:
yield response.follow(next_page, self.parse)Node.js + Puppeteer
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36');
await page.goto('https://www.redfin.com/city/30756/GA/Atlanta', { waitUntil: 'networkidle2' });
const properties = await page.evaluate(() => {
const results = [];
document.querySelectorAll('.HomeCardContainer').forEach(card => {
results.push({
price: card.querySelector('.homecardV2Price')?.innerText,
address: card.querySelector('.homeAddressV2')?.innerText
});
});
return results;
});
console.log(properties);
await browser.close();
})();Was Sie mit Redfin-Daten machen können
Entdecken Sie praktische Anwendungen und Erkenntnisse aus Redfin-Daten.
Immobilien-Investitionsanalyse
Investoren nutzen Redfin-Daten, um unterbewertete Immobilien zu identifizieren und potenzielle Renditen zu berechnen.
So implementieren Sie es:
- 1Scrapen Sie aktuelle Angebotspreise in Zielgebieten.
- 2Vergleichen Sie diese mit historischen Verkaufsdaten für dasselbe Gebiet.
- 3Identifizieren Sie Immobilien mit einem Preis pro Quadratfuß unter dem Marktdurchschnitt.
- 4Automatisieren Sie Benachrichtigungen für neue Listings, die bestimmte ROI-Kriterien erfüllen.
Verwenden Sie Automatio, um Daten von Redfin zu extrahieren und diese Anwendungen ohne Code zu erstellen.
Was Sie mit Redfin-Daten machen können
- Immobilien-Investitionsanalyse
Investoren nutzen Redfin-Daten, um unterbewertete Immobilien zu identifizieren und potenzielle Renditen zu berechnen.
- Scrapen Sie aktuelle Angebotspreise in Zielgebieten.
- Vergleichen Sie diese mit historischen Verkaufsdaten für dasselbe Gebiet.
- Identifizieren Sie Immobilien mit einem Preis pro Quadratfuß unter dem Marktdurchschnitt.
- Automatisieren Sie Benachrichtigungen für neue Listings, die bestimmte ROI-Kriterien erfüllen.
- Wettbewerbsanalyse für Makler
Immobilienunternehmen überwachen das Listing-Volumen und die Leistung der Makler ihrer Konkurrenten.
- Extrahieren Sie Informationen über Makler und Agenturen aus aktiven Listings.
- Analysieren Sie die Vermarktungsdauer spezifischer Firmen im Vergleich zur eigenen.
- Verfolgen Sie Marktanteile durch Zählung des Listing-Volumens pro Postleitzahl.
- Optimieren Sie Marketingstrategien basierend auf den Aktivitäten der Wettbewerber.
- Wirtschaftsforschung zum Wohnungsmarkt
Ökonomen verfolgen den Zustand des Wohnungsmarktes durch Angebots-, Nachfrage- und Preistrends.
- Aggregieren Sie monatliche Daten über neue Listings im Vergleich zu verkauften Immobilien.
- Berechnen Sie das Verhältnis von Verkaufs- zu Listenpreis für bestimmte Städte.
- Überwachen Sie Bestandsniveaus im Zeitverlauf, um Marktverschiebungen vorherzusagen.
- Nutzen Sie die Daten für die akademische Forschung oder Finanzprognosen.
- Automatisierte Immobilienbewertung
Erstellen Sie sofortige Immobilienbewertungen für Fintech- oder Hypothekenanwendungen unter Nutzung lokaler Echtzeit-Vergleichsdaten.
- Extrahieren Sie verkaufte Objekte der letzten 6 Monate in einem bestimmten Radius.
- Erfassen Sie Merkmale wie Schlafzimmer, Bäder und Grundstücksgröße.
- Berechnen Sie den durchschnittlichen Verkaufspreis ähnlicher Immobilien.
- Passen Sie die Werte basierend auf dem Redfin Estimate und der Marktgeschwindigkeit an.
- Immobilienmarkt-Heatmaps
Visualisieren Sie Immobilienwerte und Bestandsniveaus über Regionen hinweg, um Wachstumszonen zu identifizieren.
- Identifizieren Sie Ziel-Metropolregionen.
- Scrapen Sie Angebotspreise, Quadratmeterzahl und Nachbarschaftsnamen.
- Normalisieren Sie die Daten durch Berechnung des Preises pro Quadratfuß.
- Nutzen Sie Mapping-Software, um die Wertedichte auf der Karte zu visualisieren.
Optimieren Sie Ihren Workflow mit KI-Automatisierung
Automatio kombiniert die Kraft von KI-Agenten, Web-Automatisierung und intelligenten Integrationen, um Ihnen zu helfen, mehr in weniger Zeit zu erreichen.
Profi-Tipps für das Scrapen von Redfin
Expertentipps für die erfolgreiche Datenextraktion von Redfin.
ld+json-Blöcke untersuchen
Der Quellcode der Seite enthält oft strukturierte JSON-LD-Daten, die wesentlich einfacher zu parsen sind und seltener zu Fehlern führen als standardmäßige HTML-Selector.
Residential Proxies nutzen
Redfin blockiert die meisten IP-Bereiche von Rechenzentren. Die Verwendung von Residential Proxies ist entscheidend, um authentischen Nutzer-Traffic von Privatanschlüssen zu imitieren und eine Entdeckung zu vermeiden.
URLs auf ZIP-Ebene anvisieren
Um Limitierungen bei den Suchergebnissen zu umgehen, sollten Sie jeweils nur eine Postleitzahl (ZIP-Code) auf einmal scrapen. So stellen Sie sicher, dass Sie jede verfügbare Immobilie in einer bestimmten Region erfassen.
Menschlichen Jitter einführen
Legen Sie randomisierte Wartezeiten zwischen 5 und 15 Sekunden fest, um einen menschlichen Benutzer beim Durchsuchen der Angebote zu simulieren. Dies hilft, verhaltensbasierte Bot-Erkennung zu vermeiden.
Interne XHR-Aufrufe überwachen
Viele hochwertige Metriken, wie z. B. Schuldaten, werden über interne API-Aufrufe abgerufen. Diese können im Network-Tab erfasst werden, um eine sauberere Datenextraktion zu ermöglichen.
Außerhalb der Stoßzeiten scrapen
Wenn Sie Ihre Scraper in der Zielregion nachts laufen lassen, kann dies zu einer geringeren latency und einer geringeren Wahrscheinlichkeit führen, dass aggressives Rate Limiting ausgelöst wird.
Erfahrungsberichte
Was Unsere Nutzer Sagen
Schliessen Sie sich Tausenden zufriedener Nutzer an, die ihren Workflow transformiert haben
Jonathan Kogan
Co-Founder/CEO, rpatools.io
Automatio is one of the most used for RPA Tools both internally and externally. It saves us countless hours of work and we realized this could do the same for other startups and so we choose Automatio for most of our automation needs.
Mohammed Ibrahim
CEO, qannas.pro
I have used many tools over the past 5 years, Automatio is the Jack of All trades.. !! it could be your scraping bot in the morning and then it becomes your VA by the noon and in the evening it does your automations.. its amazing!
Ben Bressington
CTO, AiChatSolutions
Automatio is fantastic and simple to use to extract data from any website. This allowed me to replace a developer and do tasks myself as they only take a few minutes to setup and forget about it. Automatio is a game changer!
Sarah Chen
Head of Growth, ScaleUp Labs
We've tried dozens of automation tools, but Automatio stands out for its flexibility and ease of use. Our team productivity increased by 40% within the first month of adoption.
David Park
Founder, DataDriven.io
The AI-powered features in Automatio are incredible. It understands context and adapts to changes in websites automatically. No more broken scrapers!
Emily Rodriguez
Marketing Director, GrowthMetrics
Automatio transformed our lead generation process. What used to take our team days now happens automatically in minutes. The ROI is incredible.
Jonathan Kogan
Co-Founder/CEO, rpatools.io
Automatio is one of the most used for RPA Tools both internally and externally. It saves us countless hours of work and we realized this could do the same for other startups and so we choose Automatio for most of our automation needs.
Mohammed Ibrahim
CEO, qannas.pro
I have used many tools over the past 5 years, Automatio is the Jack of All trades.. !! it could be your scraping bot in the morning and then it becomes your VA by the noon and in the evening it does your automations.. its amazing!
Ben Bressington
CTO, AiChatSolutions
Automatio is fantastic and simple to use to extract data from any website. This allowed me to replace a developer and do tasks myself as they only take a few minutes to setup and forget about it. Automatio is a game changer!
Sarah Chen
Head of Growth, ScaleUp Labs
We've tried dozens of automation tools, but Automatio stands out for its flexibility and ease of use. Our team productivity increased by 40% within the first month of adoption.
David Park
Founder, DataDriven.io
The AI-powered features in Automatio are incredible. It understands context and adapts to changes in websites automatically. No more broken scrapers!
Emily Rodriguez
Marketing Director, GrowthMetrics
Automatio transformed our lead generation process. What used to take our team days now happens automatically in minutes. The ROI is incredible.
Verwandte Web Scraping

How to Scrape Century 21 Property Listings

How to Scrape Geolocaux | Geolocaux Web Scraper Guide

How to Scrape HotPads: A Complete Guide to Extracting Rental Data

How to Scrape Sacramento Delta Property Management

How to Scrape Progress Residential Website

How to Scrape LivePiazza: Philadelphia Real Estate Scraper

How to Scrape Homes.com: Real Estate Data Extraction Guide

How to Scrape Century 21: A Technical Real Estate Guide
Häufig gestellte Fragen zu Redfin
Finden Sie Antworten auf häufige Fragen zu Redfin