WG-Gesucht Scraper — German Flatshares & Rentals avatar

WG-Gesucht Scraper — German Flatshares & Rentals

Pricing

from $2.00 / 1,000 result scrapeds

Go to Apify Store
WG-Gesucht Scraper — German Flatshares & Rentals

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

Studio Amba

Maintained by Community

Actor 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:

FieldDescription
id, title, categoryListing ID, title, and category (WG-Zimmer, 1-Zimmer-Wohnung, Wohnung, Haus)
rent, rentCurrencyTotal monthly rent (warm). For requests: the seeker's max budget. EUR or CHF
size, roomsProperty size in m² and room count
district, city, postcode, streetLocation down to street level (when the lister exposes it)
availableFrom, availableToMove-in date and end date for limited lets (ISO format)
flatmateCompositionCurrent flatmates by gender: total, males, females, diverse
listerName, listerCompany, verifiedListerWho posted the ad
onlineSince, url, imageUrlPosting date, detail page link, main photo
latitude, longitudeGeo coordinates (when not hidden)

With fetchDetails enabled (offers only), each listing is enriched from its detail page with the full cost breakdown:

FieldDescription
baseRentKaltmiete — cold rent without utilities
utilitiesNebenkosten — monthly utility costs
otherCostsSonstige Kosten
depositKaution — one-time security deposit
contactNameContact person name

How to scrape WG-Gesucht data

  1. 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.
  2. Pick the ad type — offers (available rooms) or requests (people searching).
  3. Optionally narrow by categories (WG room, studio, apartment, house) and max rent.
  4. 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

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.

More European real-estate scrapers from the same developer:

Support

Found an issue or need an extra field? Open an issue on the actor's page and it will be looked at quickly.