One dashboard for every search
Search interval, last and next run, how many listings came in over the last seven days, and which portal they came from.
Fredy keeps searching ImmoScout24, Immowelt, Kleinanzeigen and 14 more portals for new apartments, houses and flats in Germany, and delivers every hit to Slack, Telegram, Discord, email or ntfy, so you can focus on the more important things in life.
It is a small server you run yourself. It searches, it stores, it works things out, and then it gets out of your way.
Search interval, last and next run, how many listings came in over the last seven days, and which portal they came from.
ImmoScout24 through its mobile API, plus Kleinanzeigen, Immowelt, WG‑Gesucht, Sparkasse, OhneMakler and eleven more. You paste the search URL, Fredy takes it from there.
A listing posted on three portals reaches you a single time. Everything already seen is stored, so nothing arrives twice.
Set a channel up once under Settings, reuse it across jobs. Rotating a token means editing one channel, not every search that used it.
A built‑in MCP server exposes your jobs and listings to Claude, ChatGPT or a local model, including the affordability maths.
Everything Fredy finds is kept, searchable and filterable, with a watchlist for the ones worth a second look and a note when a price moves.
Tell Fredy your household once, income, living costs, anything you are already paying off, and every listing is measured against it. For renting and for buying, each with its own tab.
The ceiling Fredy measures against: housing costs plus existing debt, as a share of net income. Every listing gets a verdict chip against that rule.
Roughly the Kaufnebenkosten on a 400.000 € house in NRW. Grunderwerbsteuer, Notar, Grundbuch and Maklerprovision, all of it financed or paid from your own pocket.
Portals quote the Kaltmiete, a household pays warm. Set the Nebenkosten surcharge once and Fredy reports the highest cold rent you can take on, what that comes to warm, and what is left over each month.
Someone who only ever rents is never asked a question about Grunderwerbsteuer.
An estimate, not financial advice. Grunderwerbsteuer rates ship as editable defaults, and Bundesländer change them. Get a binding offer from your bank.
Two flats the same kilometre from your office can be eight minutes and fifty minutes away from it. Fredy measures the journey from your own front door instead.
Pick a mode and a ceiling, public transport within 30 minutes say, and the list filters or the map hides the pins that fail it. Car, bike and walking too.
Rail, S‑Bahn, U‑Bahn and tram on the map, every stop with its own departure board, and the three nearest stops on every listing.
Fredy always says whether a number is estimated or exact, and a mode it could not route is left out rather than shown as zero.
Timetables and journey planning come from Transitous, a community‑run MOTIS instance. Map data from OpenStreetMap contributors. No API key needed.
A job combines the portals you want searched with the channels you want told. Add as many of each as you like.
Channels are global and shareable. An admin can share one with other users so they can send through it, without ever showing them the credentials.
No configuration file to write. Fredy creates one on first run, and everything else is set in the web UI.
docker run -d --name fredy \
-v fredy_conf:/conf \
-v fredy_db:/db \
-p 9998:9998 \
ghcr.io/orangecoding/fredy:master
Follow along with docker logs fredy -f.
yarn
yarn run build:frontend
yarn run start:backend
Builds the web UI and serves it together with the API on port 9998.
Fredy is in the Unraid Community Applications store. Search for Fredy, install, and open the web UI from the docker tab.
Same defaults as the Docker image: port 9998, login admin / admin.
On a VPS, portal anti‑bot systems tend to block datacenter IPs on reputation alone. Set a German residential proxy under Administration › Execution and the browser‑based portals go through it.
Instances that opted into analytics report which portals and channels they use, nothing else. Here is what they add up to right now.