No description
- Gewobag has Wohnungshelden iframe embedded on listing page - Navigate directly to iframe URL - Fill form fields: firstName, lastName, email, phone-number - Submit button: 'Anfrage versenden' |
||
|---|---|---|
| .github | ||
| .env.example | ||
| .gitignore | ||
| .python-version | ||
| bot_logo.png | ||
| BOTFATHER_COMMANDS.txt | ||
| docker-compose.yml | ||
| Dockerfile | ||
| monitor.py | ||
| README.md | ||
| requirements.txt | ||
inberlin-monitor
A Python bot that monitors Berlin's public housing portal (inberlinwohnen.de) and WG rooms (wgcompany.de). Sends Telegram notifications when new listings appear and can automatically apply to some listings.
What it does
- Monitors inberlinwohnen.de for new apartment listings from 6 housing companies (HOWOGE, Gewobag, Degewo, Gesobau, Stadt und Land, WBM)
- Monitors wgcompany.de for WG room listings with configurable filters
- Sends Telegram notifications with listing details
- Logs listing times to CSV for pattern analysis
- Auto-apply feature for supported housing companies
Auto-Apply Support
The auto-apply feature is experimental and only works for some housing companies:
| Company | Status | Notes |
|---|---|---|
| HOWOGE | Working | Tested and functional |
| Degewo | Experimental | Uses Wohnungshelden portal |
| Stadt und Land | Experimental | Uses Wohnungshelden portal |
| Gewobag | Not working | Needs implementation |
| Gesobau | Not working | Needs implementation |
| WBM | Not working | Needs implementation |
| WGcompany | Not supported | Monitoring only, no auto-apply |
Setup
Docker (recommended)
cp .env.example .env
# Edit .env with your credentials
docker compose up -d
Local development
pip install -r requirements.txt
playwright install chromium
export TELEGRAM_BOT_TOKEN=your_token
export TELEGRAM_CHAT_ID=your_chat_id
# ... other env vars
python monitor.py
Configuration
Required environment variables
TELEGRAM_BOT_TOKEN- Bot token from @BotFatherTELEGRAM_CHAT_ID- Your Telegram chat ID
InBerlin login (required for auto-apply)
INBERLIN_EMAIL- Your inberlinwohnen.de emailINBERLIN_PASSWORD- Your inberlinwohnen.de password
Form data (for auto-apply)
FORM_ANREDE- Salutation (Herr/Frau)FORM_VORNAME- First nameFORM_NACHNAME- Last nameFORM_EMAIL- Email addressFORM_PHONE- Phone numberFORM_STRASSE- Street nameFORM_HAUSNUMMER- House numberFORM_PLZ- Postal codeFORM_ORT- CityFORM_PERSONS- Number of persons in householdFORM_CHILDREN- Number of childrenFORM_INCOME- Monthly net income
WGcompany filters
WGCOMPANY_ENABLED- Enable WGcompany monitoring (true/false)WGCOMPANY_MIN_SIZE- Minimum room size in sqmWGCOMPANY_MAX_SIZE- Maximum room size in sqmWGCOMPANY_MIN_PRICE- Minimum price in EURWGCOMPANY_MAX_PRICE- Maximum price in EURWGCOMPANY_BEZIRK- District filter (optional)
Telegram Commands
/status- Show current status and recent listings/autopilot- Toggle auto-apply on/off/listings- Show current listings/help- Show available commands
Data files
All data is stored in the data/ directory:
listings.json- Previously seen inberlinwohnen listingswgcompany_listings.json- Previously seen WGcompany listingsapplications.json- Application historylisting_times.csv- Time series data for listingsstate.json- Runtime state (autopilot toggle)monitor.log- Application logs
Debugging
When applications fail, the bot saves:
- Screenshots to
data/*.png - Page HTML to
data/debug_page.html
Check these files to understand why an application failed.
License
MIT