Finding a rental in a competitive European market means refreshing multiple portals, mentally cross-referencing listings you have already seen, and trying to figure out whether that suspiciously cheap apartment is a scam. Fredy, an open-source tool built and maintained by a single developer, automates all three tasks and runs entirely on your own infrastructure.

The project monitors 24 real estate portals across six countries: Germany, Austria, Switzerland, Spain, Italy, and Portugal. It watches ImmoScout24, Immowelt, Kleinanzeigen, WG-Gesucht, willhaben, Flatfox, idealista, Subito, and 16 others. You paste a search URL sorted by date from any supported portal into the web UI, and Fredy picks it up from there. No account or API key is required for the portals themselves. The ImmoScout integration uses a reverse-engineered mobile API.

Cross-platform deduplication

The same apartment often appears on multiple portals with different headlines, photos, and descriptions. Fredy matches listings on living space, room count, and location rather than text, so the same flat advertised across ImmoScout, Immowelt, and Kleinanzeigen reaches you once. The similarity check runs after scraping and before enrichment, giving you a clean feed of genuinely new results.

The pipeline is straightforward. A job defines which providers to scrape and which notification channels to use. The system fetches listings, runs a similarity check, enriches new ones with pricing and travel data, and pushes them to every channel attached to the job. You can run as many jobs as you need, each with different portals and different notification targets.

Scam detection built in

Rental fraud follows recognizable patterns. Fredy reads every listing for the textual and structural signals associated with scams and assigns a warning score when enough of them line up. The system flags suspicious listings, but your own verdict always outranks it. You can overrule the warning on any individual listing and keep or discard it at your discretion.

The detection runs locally. No listing text leaves your instance unless you have configured a notification channel that sends it elsewhere.

Financing and travel time

Fredy answers two questions that portals do not. The first is affordability. You enter your income, living costs, and savings once, and every listing is measured against those numbers for both renting and buying. The calculator covers rent, annuity loans, incidental purchase costs, and remaining debt, applying the 35% rule that housing costs should not exceed 35% of net income.

The second is commute time. Not straight-line distance, but the actual journey from your address by public transport, car, bike, or on foot. Transit timetables and route planning come from Transitous, a community-run MOTIS instance that requires no API key. The map shows the route and live departure boards from nearby stops. Street and environmental data come from OpenStreetMap and Lagecheck, which rates addresses on noise, air quality, green space, and flood risk.

Market benchmarks and document storage

Every listing includes its price per square meter compared against the local median, turning subjective impressions of cheap or expensive into concrete numbers. You can also attach documents directly to a listing. Upload the exposé, floor plans, and photos, and they persist in the database even after the portal takes the ad down. Listings with uploaded documents are never cleaned up automatically.

Self-hosted with a single Docker command

Fredy runs anywhere Docker runs, on both amd64 and arm64. The setup is a single command that maps two volumes, one for configuration and one for the database. The web UI starts on port 9998, and you sign in with the default credentials to configure everything from there. No configuration file is needed on first run. The tool creates one automatically, and all settings live in the database.

For local development, the project requires Node.js 22.22.0 or higher and uses Yarn. A pre-release channel tracks the develop branch for testing upcoming features, while the main image follows master. Fredy is also available in the Unraid community store.

MCP server for LLM integration

Since version 20, Fredy includes a built-in MCP server. You can connect it to Claude, ChatGPT, or a local model through LM Studio and query your listings in natural language. A local LLM can even enrich existing listings by checking them online. For cloud services over OAuth, Fredy advertises discovery metadata, dynamically registers the client, and handles token refresh automatically. Connected apps appear under Settings where you can revoke access at any time.

Notification channels

New listings go out through every channel configured for a job simultaneously. Fredy supports Slack, Telegram, email through SMTP or services like SendGrid, Mailjet, and Resend, ntfy, Discord, Mattermost, Pushover, and Apprise. Channels are configured once under Settings and reused across jobs. An admin can share a channel with all users or restrict it to admins, letting others send through it without exposing credentials. Rotating a token means editing one channel definition, not every job that references it.

The project is Apache-2.0 licensed with a Commons Clause that prohibits selling the software or products whose value derives substantially from it. Self-hosting for personal use is explicitly permitted. Substantial derivative works must credit the original project and its author. The tool is backed by the JetBrains Open Source Support Program and has a live demo for testing before installation.