inberlin-monitor
Monitors inberlinwohnen.de for new apartment listings and sends Telegram notifications. Supports automatic application submission via autopilot mode.
Features
- 🔐 Logs in to your personal Wohnungsfinder for filtered results
- ⏰ Checks every 5 minutes (configurable)
- 📱 Sends Telegram notifications for new listings with clickable links
- 🤖 Autopilot mode: Automatically applies to new listings
- 📊 /plot command: Visualize when listings appear throughout the week
- 🏢 Supports multiple housing companies: HOWOGE, Gewobag, Degewo, Gesobau, Stadt und Land, WBM
- 💾 Persists state to detect only truly new listings
- 📈 Logs listing times for pattern analysis
Setup
1. Create Telegram Bot
- Message @BotFather on Telegram
- Send
/newbot and follow the prompts
- Copy the bot token
2. Get Your Chat ID
- Message your new bot (send anything)
- Visit:
https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
- Find
"chat":{"id":123456789} - that's your chat ID
3. Configure
cp .env.example .env
# Edit .env with your credentials
4. Run
docker compose up -d
5. Check Logs
docker compose logs -f
# or
cat data/monitor.log
Telegram Commands
| Command |
Description |
/autopilot on |
Enable automatic applications |
/autopilot off |
Disable automatic applications |
/status |
Show current status and application stats |
/plot |
Generate weekly listing pattern visualization |
/help |
Show available commands |
Configuration
Required
| Variable |
Description |
TELEGRAM_BOT_TOKEN |
Telegram bot token from BotFather |
TELEGRAM_CHAT_ID |
Your Telegram chat ID |
Optional - Login
| Variable |
Description |
Default |
INBERLIN_EMAIL |
inberlinwohnen.de login email |
- |
INBERLIN_PASSWORD |
inberlinwohnen.de password |
- |
CHECK_INTERVAL |
Seconds between checks |
300 |
Optional - Form Data (for Autopilot)
| Variable |
Description |
Default |
FORM_ANREDE |
Salutation (Herr/Frau) |
Herr |
FORM_VORNAME |
First name |
Aron |
FORM_NACHNAME |
Last name |
Petau |
FORM_EMAIL |
Contact email |
aron@petau.net |
FORM_PHONE |
Phone number |
017695773688 |
FORM_PERSONS |
Number of persons moving in |
1 |
FORM_CHILDREN |
Number of children |
0 |
FORM_INCOME |
Monthly household net income (€) |
1600 |
Without Login
If you don't provide login credentials, the monitor will use the public Wohnungsfinder (shows all listings instead of your personalized filtered results).
Data Files
All data is stored in the ./data directory:
| File |
Description |
listings.json |
Known listings (for duplicate detection) |
state.json |
Monitor state (autopilot on/off) |
applications.json |
Record of submitted applications |
listing_times.csv |
Timing data for pattern analysis |
monitor.log |
Application logs |
weekly_plot.png |
Generated plot from /plot command |
*.png |
Screenshots from application attempts |