WG-Gesucht Scraper — Germany Flatshare & Rental Data
Pricing
from $2.00 / 1,000 overview listings
WG-Gesucht Scraper — Germany Flatshare & Rental Data
WG-Gesucht scraper & real estate data API for wg-gesucht.de. German flatshare rooms (WG-Zimmer), 1-room flats, apartments & houses: rent, deposit, size, WG details, district, GPS, photos — clean JSON/CSV. Fast overview or full detail. No-code, no API key needed.
Pricing
from $2.00 / 1,000 overview listings
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
WG-Gesucht Scraper — German Flatshare & Rental Data API 🏠
🎉 Turn wg-gesucht.de into a clean dataset — every flatshare room, flat & house, with rent, WG details & GPS
For renters, relocators, students, agents and proptech teams who need German rental data without copy-pasting
📋 Overview
Need wg-gesucht.de data without scrolling endless pages? — this scraper turns Germany's biggest flatshare & rental portal into a clean, structured dataset you can filter, map, and feed into any tool.
Why renters, researchers and agencies choose us:
- ✅ The most complete WG-Gesucht data: rent, deposit, total rent, room size, WG size, district, exact address, GPS coordinates, features and photos — not just a title and a price.
- ⚡ Two speeds, one actor: a cheap overview mode for sizing a whole city, and a rich detail mode for the listings you care about.
- 🎯 Every German city: search Berlin, München, Hamburg, Köln, Frankfurt by name — or paste any wg-gesucht.de search URL with your filters baked in.
- 💰 Pay only per listing: transparent pay-per-result pricing, no monthly subscription, no API key.
- 💎 Map-ready & finance-ready: real GPS lat/lng plus computed rent-per-m² and a live EUR→USD conversion on every row.
- ✨ No code required: run it from the Apify Console, schedule it, or call it from your own app.
✨ Features
- 🏘️ All categories: WG-Zimmer (flatshare rooms), 1-room flats, apartments, and houses.
- 📋 Overview mode: fast card-level scrape — id, title, rent, WG size, area, district, available-from, thumbnail.
- 🔎 Detail mode: full listing pages — deposit, total rent, GPS, floor, features, full description, exact address.
- 📍 By city: just type a German city name and pick a category.
- 🔗 By search URL: paste a wg-gesucht.de search link and keep every filter (rent band, size, short/long term, photos-only, virtual tour, sort).
- 🆔 By listing URL/ID: pull specific listings directly.
- 🌐 GPS coordinates: real latitude/longitude for mapping and proximity analysis.
- 📊 Computed KPIs: rent-per-m² and a live EUR→USD price on every listing.
- 📦 Clean exports: JSON, CSV, or Excel straight from the Apify dataset.
🎬 Quick Start
Pick a scrape mode, give it a city (or a search URL), set how many listings you want — and run. Results land in a clean dataset you can export or call via API.
curl -X POST https://api.apify.com/v2/acts/sian.agency~wg-gesucht-property-scraper/runs?token=YOUR_TOKEN \-H 'Content-Type: application/json' \-d '{"scrapeMode":"overview","searchMode":"byCity","cities":["Berlin"],"category":"wg-zimmer","maxResults":50}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose your mode
Pick overview (fast, cheap, whole-city) or detail (rich, full listing pages).
Step 2: Tell it where to look
Type one or more German cities + a category, paste a search URL, or drop specific listing URLs/IDs.
Step 3: Run & export
Hit Start and watch listings stream in. Export to JSON, CSV, or Excel — or call the dataset API.
That's it! In a couple of minutes, you'll have:
- A clean, deduplicated dataset of live wg-gesucht.de listings
- Rent, size, WG details, district, GPS and photos per listing
- Map-ready and spreadsheet-ready data
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| scrapeMode | string | No | overview (card list) or detail (full pages) |
| searchMode | string | No | byCity, bySearchUrl, or byListingUrl |
| cities | array | No | German city names (byCity) — e.g. Berlin, München |
| category | string | No | wg-zimmer, 1-zimmer-wohnungen, wohnungen, haeuser |
| searchUrls | array | No | wg-gesucht.de search URLs (bySearchUrl) |
| listingUrls | array | No | Listing detail URLs or numeric IDs (byListingUrl, detail mode) |
| maxResults | integer | No | Max listings per run (FREE: 25, PAID: unlimited) |
Example — overview by city:
{"scrapeMode": "overview","searchMode": "byCity","cities": ["Berlin", "München"],"category": "wg-zimmer","maxResults": 100}
Example — detail by search URL:
{"scrapeMode": "detail","searchMode": "bySearchUrl","searchUrls": ["https://www.wg-gesucht.de/wg-zimmer-in-Berlin.8.0.1.0.html?rMax=600"],"maxResults": 40}
📤 Output
Results are saved to the Apify dataset with 30+ fields including:
| Field | Type | Description |
|---|---|---|
| id | string | wg-gesucht listing id |
| url | string | Canonical listing URL |
| propertyTitle | string | Listing headline |
| property_type | string | WG-Zimmer / 1-Zimmer-Wohnung / Wohnung / Haus |
| price | number | Base rent (Miete), EUR |
| total_rent | number | Total rent (Gesamtmiete), EUR |
| deposit | number | Deposit (Kaution), EUR |
| price_per_sqm_eur | number | Computed rent per m² |
| price_usd | number | Rent in USD at the run's live FX rate |
| area_sqm | number | Room or flat size, m² |
| rooms | number | WG size (3er WG → 3) or room count |
| address | string | Street / zip / city / district |
| city | string | City name |
| district | string | Stadtteil |
| zip | string | Postal code |
| latitude / longitude | number | GPS coordinates (detail mode) |
| available_from | string | Frei ab — move-in date |
| features | array | möbliert, WLAN, Badewanne, … |
| images | array | Photo URL(s) |
Example row:
{"id": "13616431","url": "https://www.wg-gesucht.de/wg-zimmer-in-Berlin-Schoeneberg.13616431.html","propertyTitle": "Wg Zimmer Schöneberg","property_type": "WG-Zimmer","price": 600,"total_rent": 600,"deposit": 1000,"price_per_sqm_eur": 35,"area_sqm": 17,"rooms": 3,"address": "Grazer Damm 124 12157 Berlin Schöneberg","city": "Berlin","district": "Schöneberg","zip": "12157","latitude": 52.469388,"longitude": 13.346557,"available_from": "16.06.2026","features": ["möbliert", "Badewanne", "WLAN"],"images": ["https://img.wg-gesucht.de/media/up/..."]}
💼 Use Cases & Examples
1. Relocation & student housing search
Anyone moving to a new German city who needs to compare rooms fast.
Input: city + wg-zimmer category. Output: every live room with rent, size and district. Use: sort by rent-per-m², shortlist, and contact.
2. Rental market research
Analysts tracking rent levels across German cities. Input: multiple cities, overview mode. Output: a clean rent/size/district dataset. Use: benchmark median rents and €/m² per Stadtteil.
3. Lead generation for agents & property managers
Agents sourcing private landlords and new listings. Input: city + detail mode. Output: full listings with contact context and features. Use: build outreach lists of fresh inventory.
4. Proptech & data feeds
Product teams that need a structured WG-Gesucht feed. Input: scheduled runs via API. Output: JSON straight into your pipeline. Use: power a map, an alert, or a comparison tool.
5. Investment & yield sourcing
Investors screening rental yields by area.
Input: wohnungen / haeuser categories. Output: rent, size, GPS, €/m². Use: spot under-priced areas and estimate yields.
6. WG / flatshare availability monitoring
Communities and HR/relocation teams watching for openings. Input: a saved search URL, scheduled daily. Output: new listings each run. Use: alert members the moment a room appears.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/wg-gesucht-property-scraper').call({scrapeMode: 'overview',searchMode: 'byCity',cities: ['Berlin'],category: 'wg-zimmer',maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/wg-gesucht-property-scraper').call(run_input={'scrapeMode': 'overview','searchMode': 'byCity','cities': ['Berlin'],'category': 'wg-zimmer','maxResults': 50,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~wg-gesucht-property-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"scrapeMode":"detail","searchMode":"byListingUrl","listingUrls":["13616431"]}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule (daily) or webhook
- HTTP Request: Call the actor API
- Process: Handle the JSON dataset
- Action: Save to a sheet, alert on Telegram/Slack, or sync to your DB
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 listings per run — full feature access, same quality
- No credit card required
- Perfect for testing and small searches
PAID Tier (Production Ready)
- Unlimited listings per run
- Faster, no delays
- Pay-per-result: only charged for listings actually extracted
💰 Pay-per-result pricing — a cheap, high-volume overview event plus a richer detail event. You pick the depth, you control the cost.
❓ Frequently Asked Questions
Q: How many listings can I scrape? A: FREE tier: 25 per run. PAID tier: unlimited.
Q: Which cities are supported? A: Every city on wg-gesucht.de. Use byCity for Berlin, München, Hamburg, Köln and Frankfurt by name, or paste any wg-gesucht.de search URL (bySearchUrl) for any other city with your filters.
Q: Why don't WG rooms show bedrooms, bathrooms or an energy class? A: WG-Zimmer are single shared rooms — wg-gesucht doesn't publish bedroom/bathroom counts or an Energieausweis for them. That's expected, not a gap. Flats and houses carry richer fields.
Q: A listing ID returns nothing — why? A: wg-gesucht listings churn fast; old IDs are deleted ("Angebot nicht vorhanden"). Always discover fresh IDs via byCity / bySearchUrl.
Q: What output formats are available? A: JSON, CSV, and Excel — export directly from the Apify dataset.
Q: Do I need an API key or a wg-gesucht account? A: No. Just run the actor.
🐛 Troubleshooting
No results returned
- Check the city spelling, or switch to bySearchUrl and paste a working wg-gesucht.de search link.
- Make sure the category matches what you expect (e.g.
wg-zimmerfor rooms).
Fewer detail rows than overview
- Some listings get deleted between discovery and the detail fetch; those are skipped. Re-run for the freshest set.
Missing GPS / address
- GPS and the exact street appear in detail mode. Some private offers withhold the street; district + zip are still returned.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
WG-Gesucht and wg-gesucht.de are trademarks of their respective owners. This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by WG-Gesucht.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check the SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools