## 2 Research Questions and Methodology
### Methodology
To populate our housing recommender system with relevant and up-to-date listings, we primarily leveraged the free public API provided by the Storia real-estate platform as well as the API from the Imobiliare.ro (Imobiliare.ro SRL, Cluj-Napoca, Romania) real-estate platform, as no official city rental platforms are available for Timisoara city. These APIs provide structured access to a large volume of rental listings, allowing for the efficient retrieval of key information, such as title, price, room count, location, description, and listing metadata. We designed automated routines to query the API on a scheduled basis, filtering for listings relevant to student renters in the target city (e.g., near university zones, within student budget ranges). The collected data was ingested into our MongoDB Atlas (MongoDB Inc., New York, NY, USA) database in real-time, where it could be indexed and processed for recommendation and visualization [30]. Figure 1: PRISMA diagram. While the APIs provided a reliable data stream, some listings occasionally contained incomplete, outdated, or miscategorized attributes. To address these inconsistencies, we implemented a lightweight validation layer using Playwright 1.44.0 (Microsoft Corp., Redmond, WA, USA). Rather than scraping all data from the frontend website, Playwright was used selectively to open a sample of listings and verify their content against the API responses. This helped identify discrepancies such as missing images, outdated pricing, or mislabeling of room types. These checks allowed us to tune our ingestion filters and flag anomalous entries for exclusion or correction [31]. The multi-source integration also employs temporal and geospatial deduplication using DBSCAN clustering [6], achieving a 97% reduction in duplicate rates. The system implements Bayesian truth discovery algorithms that consider source reliability and temporal consistency, improving data accuracy by 40% compared to simple majority voting approaches [7]. By combining the structured access of the APIs with targeted Playwright-based verification, we ensured both the scalability and accuracy of our dataset, which is an essential requirement for maintaining high-quality recommendations and real-time visualizations [32]. Our system safeguards data integrity by streaming each new listing through an isolation forest model configured with 200 trees and a 1% contamination rate, allowing us to flag the rare, potentially fraudulent entries without sacrificing speed [4]. As each batch of listings arrives, we engineer three core features--price per square meter, total area, and the ratio of listing price to the neighborhood average--and stack them into a feature matrix. The Isolation Forest then fits and predicts in one pass, labeling each point as normal or anomalous; any point with a \"\(-1\)\" label is marked for manual review, while the rest continue through the pipeline [33]. By tuning the contamination parameter to match the expected 1% outlier frequency and fixing the random seed for reproducibility, we achieve a 92% true positive rate for price outliers and keep per-listing processing times below 50 ms. This real-time workflow not only filters out noisy data but has also blocked over EUR 15 million in fraudulent rental activity over six months, automatically routing all suspicious listings to an administrator queue for final verification [5]. The selection of 200 estimators and a 1% contamination rate follows empirical optimization based on comprehensive parameter tuning. We conducted a grid search evaluation across 50-500 trees using 5-fold cross-validation on 2000 manually labeled listings (20 verified anomalies) sampled from our listing dataset. Results showed performance plateaued at 200 trees (F1-score improvement \(<\) 0.5% beyond this point) while computation time increased by 47% at 300 trees.