WG-Gesucht Scraper — German Flatshares & Rentals
Pricing
from $2.00 / 1,000 result scrapeds
WG-Gesucht Scraper — German Flatshares & Rentals
Scrape WG-Gesucht.de, Germany's biggest flatshare and rental portal. Get offers (WG rooms, apartments, houses) with rent, size, district, availability, and flatmate details — or switch to seeker mode (Gesuche) for unique demand-side data. Optional cost breakdown per listing. No login, no cookies.
Pricing
from $2.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape WG-Gesucht.de, Germany's biggest flatshare and rental portal. WG-Gesucht is where students, young professionals, and relocators find WG rooms (flatshares), studios, apartments, and houses in every German city, plus Austria, Switzerland, and dozens of international cities.
This scraper covers both sides of the market:
- Offers — available rooms and apartments, with rent, size, district, availability window, and full flatmate composition.
- Requests (Gesuche) — ads posted by people searching for a room, with their maximum budget and minimum size. That is demand-side rental market data you will not find in any listing feed.
No login, no cookies, no browser. The actor talks to WG-Gesucht's JSON API directly, so runs are fast and cheap.
What data you get
Every listing includes:
| Field | Description |
|---|---|
id, title, category | Listing ID, title, and category (WG-Zimmer, 1-Zimmer-Wohnung, Wohnung, Haus) |
rent, rentCurrency | Total monthly rent (warm). For requests: the seeker's max budget. EUR or CHF |
size, rooms | Property size in m² and room count |
district, city, postcode, street | Location down to street level (when the lister exposes it) |
availableFrom, availableTo | Move-in date and end date for limited lets (ISO format) |
flatmateComposition | Current flatmates by gender: total, males, females, diverse |
listerName, listerCompany, verifiedLister | Who posted the ad |
onlineSince, url, imageUrl | Posting date, detail page link, main photo |
latitude, longitude | Geo coordinates (when not hidden) |
With fetchDetails enabled (offers only), each listing is enriched from its detail page with the full cost breakdown:
| Field | Description |
|---|---|
baseRent | Kaltmiete — cold rent without utilities |
utilities | Nebenkosten — monthly utility costs |
otherCosts | Sonstige Kosten |
deposit | Kaution — one-time security deposit |
contactName | Contact person name |
How to scrape WG-Gesucht data
- Enter a city — any German, Austrian, or Swiss city name ("Berlin", "München", "Wien", "Zürich"; umlauts or "ue/oe/ae" spellings both work). Cities in other countries (Amsterdam, Barcelona, London, ...) are resolved live from WG-Gesucht's sitemaps.
- Pick the ad type — offers (available rooms) or requests (people searching).
- Optionally narrow by categories (WG room, studio, apartment, house) and max rent.
- Set max results and run. Enable fetchDetails if you need the Kaltmiete/Kaution cost breakdown.
Example input
{"city": "Berlin","adType": "offers","categories": ["WG-Zimmer", "Wohnung"],"maxRent": 900,"maxResults": 200,"proxyConfiguration": { "useApifyProxy": true }}
Example output
{"id": "11025715","adType": "offer","title": "Schöne 2-Raumwohnung mit Balkon zur Untermiete","category": "Wohnung","rent": 1200,"rentCurrency": "EUR","size": 70,"rooms": 2,"district": "Kreuzberg","city": "Berlin","postcode": "10963","street": "Tempelhofer Ufer 15","availableFrom": "2026-08-20","availableTo": "2026-09-25","listerName": "Luisa Appenrodt","verifiedLister": false,"onlineSince": "2026-07-11T21:13:50","url": "https://www.wg-gesucht.de/wohnungen-in-Berlin.11025715.html","imageUrl": "https://img.wg-gesucht.de/media/up/2024/21/c6a4df545cffdd81fb0fd40dd31535a98199b095c8fddaf3ffa0a2865e954fb6_IMG_27B9EFCC24A8_1.sized.jpeg","latitude": 52.498466,"longitude": 13.384254,"scrapedAt": "2026-07-11T19:22:50.498Z"}
The Gesuche dataset (seeker ads)
Set adType to requests and you get the other half of the market: every person currently looking for a room in a city, with their maximum budget (rent), minimum size (size), wanted category, and move-in date. Berlin alone has 1,800+ active seeker ads at any time.
That makes it possible to quantify demand, not just supply: how many people are searching per district, what budgets they have, and how supply/demand ratios shift month over month.
Use cases
- Rental market research — rent levels per district and category across 1,200+ German cities, updated any time you run it.
- Supply and demand analysis — combine offers and Gesuche for the full market picture.
- Relocation tooling — feed availability and price data into apps for students and expats.
- Price monitoring — track Kaltmiete, Nebenkosten, and deposits over time with
fetchDetails. - Academic research — housing market studies need exactly this per-listing granularity.
Coverage and volume
WG-Gesucht lists roughly 5,000 active offers in Berlin, 3,000+ in München, and thousands more across every German university city, plus Wien, Zürich, and international cities from Amsterdam to Barcelona. A whole-city sweep of all four categories is about 50 API requests and finishes in under two minutes.
FAQ
Is scraping WG-Gesucht legal?
The actor only collects publicly visible listing data — the same information any visitor sees. It does not access anything behind a login, and it does not collect gated contact details like phone numbers. Use the data responsibly and respect GDPR when storing personal names.
How fresh is the data?
Live. Every run queries WG-Gesucht's API at that moment, and onlineSince tells you exactly when each ad was posted. Berlin gets hundreds of new ads per day.
What is the difference between rent and baseRent?
rent is the total (warm) monthly rent shown in listings. baseRent is the Kaltmiete (cold rent), which together with utilities (Nebenkosten) and otherCosts adds up to the total. The breakdown only exists on detail pages, so it requires fetchDetails.
What does fetchDetails cost?
One extra request per listing, politely paced (~2 requests/second). 200 listings add about 2 minutes; a whole city (5,000 offers) takes about 45 minutes. The run is migration-safe — if the platform moves it mid-run, it resumes where it left off without duplicates.
Can I scrape multiple cities in one run?
One city per run keeps runs fast and predictable. To cover several cities, start one run per city (they run in parallel) or schedule them.
Related scrapers
More European real-estate scrapers from the same developer:
- Immoweb Scraper — Belgium's #1 property portal
- Zimmo Scraper — Belgian real estate listings
- Pararius Scraper — Dutch rental listings
- Bien'ici Scraper — French property listings
Support
Found an issue or need an extra field? Open an issue on the actor's page and it will be looked at quickly.