Listing Search
/api/wg-gesucht/search
Search shared rooms and rentals by category, city, rent type, district, radius, price, size, and rooms
Scrappa is an independent WG-Gesucht API for rental listings across Germany. Search WG-Zimmer, 1-Zimmer-Wohnungen, Wohnungen, and Häuser for rent, fetch full listing detail including the district id, resolve city names to city ids, and list a city's districts to scope searches. Every response is structured JSON with a single upstream lookup per request. Scrappa is not affiliated with or endorsed by WG-Gesucht.
Try it now
Use the first endpoint in this API family with a Scrappa API key. Every account includes 500 free monthly credits, so you can validate the response shape before buying credits.
curl -X GET "https://scrappa.co/api/wg-gesucht/search?categories=2&city_id=8&rent_types=2&limit=2" \
-H "Accept: application/json" \
-H "X-API-KEY: YOUR_API_KEY"
{
"success": true,
"data": {
"offers": [
{
"offer_id": 13841674,
"offer_title": "Helle 2-Zimmer-Wohnung in Prenzlauer Berg",
"category": 2,
"category_label": "Wohnung",
"city_id": 8,
"total_costs": 850,
"number_of_rooms": 2,
"property_size": 52,
"district_custom": "Prenzlauer Berg",
"postcode": "10405",
"available_from_date": "2026-11-01T00:00:00+00:00",
"thumb": "https://img.wg-gesucht.de/media/up/abc123.jpg"
}
],
"total_items": 185,
"page": 1,
"number_of_pages": 7,
"counts_by_category": { "0": 404, "1": 404, "2": 185, "3": 36 },
"images_base_url": "https://img.wg-gesucht.de/"
},
"meta": { "duration_ms": 412, "endpoint_family": "search" }
}
Structured data for real applications. Here are some ideas.
Track WG-Zimmer availability in a university city by category, rent type, and price range. Berlin returns thousands of shared rooms, so a single city id gives you a large, fast-moving pool to watch.
Resolve a city to its district list, then pass the district ids back as ot to scope a search. The district filter is exact and additive server-side, so you get precisely the districts you asked for without post-filtering in your own code.
Hydrate the offer ids you care about into full listings with price, size, rooms, availability dates, district id, and image URLs, then feed them into a portal, CRM, or alert pipeline.
Combine category counts_by_category with price and size filters to see how a rent bracket splits across shared rooms, studio apartments, flats, and houses in the same city.
WG-Gesucht scraper API
The WG-Gesucht API is built for housing platforms, property portals, and market analysts who need German rental stock as structured JSON. Search the four for-rent verticals, hydrate the offers you choose, and resolve cities and districts on the way in. Every successful response uses the same envelope with success, data, and meta, and a search always performs exactly one upstream lookup — full detail is a separate, separately billed call you make explicitly.
Search all four rental verticals: 0 WG-Zimmer, 1 1-Zimmer-Wohnung, 2 Wohnung, and 3 Haus, all for rent.
Require categories, city_id, and rent_types together — the platform rejects the request when any one is missing.
Filter by district with ot, by radius with radDis, and by price, size, rooms, availability date, and amenities.
Get total_items, number_of_pages, and counts_by_category on every search so you can prove a filter actually narrowed the set.
Hydrate up to 20 offer ids at once to get the district id and full listing fields.
Resolve city names and district lists so your own location logic never has to guess at ids.
Test the WG-Gesucht API with 500 free monthly Scrappa credits before scaling production traffic.
Call locations with a city name such as Berlin to get the city_id that search requires. The lookup is a substring match, so it returns every city whose name contains your term. Pass the city_id straight into the next call.
Call districts with the city_id to get the district list — Berlin returns 102. Pass the ids you want as ot on the search call. The filter is applied server-side and is additive, so ot=114,173 returns the union of both districts. The offers_count on a district is not reliable, so use it only to decide whether a district is worth querying.
A search returns one summary card per listing and never fetches full detail, so a broad query stays a single upstream lookup. Take the offer ids from the cards you want and send them to the listings endpoint for the full record, including the district id that cards do not carry. Ids that no longer exist are dropped silently, so compare total_items against the number of ids you sent.
Everything you need in one API.
/api/wg-gesucht/search
Search shared rooms and rentals by category, city, rent type, district, radius, price, size, and rooms
/api/wg-gesucht/listings
Get full detail for up to 20 offers, including the district id
/api/wg-gesucht/locations
Resolve a city name or city id to the city id search requires
/api/wg-gesucht/districts
List a city's districts to scope searches by district id
Add full-service German property search, listing details, and price insights alongside WG-Gesucht shared-room and rental data.
Cover German classifieds listings alongside WG-Gesucht rental data in one German real estate stack.
Extend European rental and sale coverage to Spain, Italy, Portugal, and France with property search, media, and engagement stats.
See how Scrappa compares to the official API.
| Feature | Scrappa | Generic scraping APIs |
|---|---|---|
| Dedicated WG-Gesucht endpoints | ||
| Output format | Structured JSON | Raw HTML |
| German filter parameter handling | Built in | You write the parser |
| District filtering | Server-side, exact | You post-filter |
| City and district resolution | ||
| Parser maintenance | Handled by Scrappa | Your team |
| Price per 1k requests | From $0.20 | Varies by plan and credit multiplier |
| Free tier | 500 credits/month | Varies by provider |
The WG-Gesucht API is Scrappa's REST API for WG-Gesucht, the German platform for shared rooms and rental listings. It returns rental listing search results, full listing detail, city lookups, and district lists as structured JSON.
No. Scrappa is an independent service and is not affiliated with or endorsed by WG-Gesucht. You only need a Scrappa API key to use the four endpoints on this page.
The platform rejects a search when any one of the three is missing, so requiring all three turns an upstream error into an immediate, free validation response. categories 0 is WG-Zimmer, 1 is 1-Zimmer-Wohnung, 2 is Wohnung, and 3 is Haus. rent_types 0 is all, 1 fixed term, 2 unlimited term, and 3 short term or nightly.
A search always costs exactly one upstream lookup, so it returns a summary card per listing rather than hydrating every result. A card carries id, title, price, rooms, size, district text, postcode, availability, and a thumbnail. Call the listings endpoint with the ids you want for the full record, which also adds the district id that cards do not carry. That keeps every billable request to a single lookup.
Call the districts endpoint with a city_id to get the district ids — Berlin returns 102 — then pass them back as comma-separated ot values on the search call. The filter is exact and additive, so passing several districts returns their union. This is more reliable than matching the free-text district name on a card, which is not a consistent value.
WG-Gesucht does not publish ratings, reviews, or price history for listings, so the API does not return them. Listings carry a public contact name and verification flags but no phone numbers. Images are returned as URLs on the img.wg-gesucht.de host and the bytes are not proxied through Scrappa.
Yes. Every Scrappa account includes 500 free credits per month, so you can test all four WG-Gesucht endpoints before buying credit packs or moving to a subscription.
Each request uses one Scrappa credit, and paid usage starts at $0.20 per 1,000 requests. Failed requests are not billed.