WG-Gesucht API

WG-Gesucht Scraper API for German Shared Rooms and Rental Listings

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.

500 free credits
No card needed
From $0.20 / 1k
Pay as you go
Structured JSON
Ready for apps
API key access
Test in minutes
4
Endpoints
4
Listing types
$0.20
Per 1k requests

Try it now

Make one request. Inspect structured JSON.

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.

Request preview
Request
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"
JSON response
{
  "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" }
}

What you can build

Structured data for real applications. Here are some ideas.

Shared Room and Student Housing Monitoring

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.

District-Level Rental Coverage

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.

Listing Detail Pipelines

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.

Rental Market Coverage in One Pass

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

WG-Gesucht API for German shared rooms, flats, and houses for rent

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.

Choose the right WG-Gesucht API endpoint

Resolve the city before searching

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.

Narrow to districts instead of filtering in your own code

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.

Search, then hydrate only what you keep

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.

Available endpoints

Everything you need in one API.

GET

Listing Search

/api/wg-gesucht/search

Search shared rooms and rentals by category, city, rent type, district, radius, price, size, and rooms

Scrappa vs Generic scraping APIs

See how Scrappa compares to the official API.

Dedicated WG-Gesucht endpoints
Scrappa:
Generic scraping APIs:
Output format
Scrappa: Structured JSON
Generic scraping APIs: Raw HTML
German filter parameter handling
Scrappa: Built in
Generic scraping APIs: You write the parser
District filtering
Scrappa: Server-side, exact
Generic scraping APIs: You post-filter
City and district resolution
Scrappa:
Generic scraping APIs:
Parser maintenance
Scrappa: Handled by Scrappa
Generic scraping APIs: Your team
Price per 1k requests
Scrappa: From $0.20
Generic scraping APIs: Varies by plan and credit multiplier
Free tier
Scrappa: 500 credits/month
Generic scraping APIs: Varies by provider

Key features

Search across WG-Zimmer, 1-Zimmer-Wohnungen, Wohnungen, and Häuser, all for rent
City and district resolution endpoints so location ids never have to be guessed
Exact server-side district filtering with additive ot values
Radius search with the full address and coordinate triple enforced together
Price, size, rooms, availability date, and amenity filters using the platform's own parameter names
total_items, number_of_pages, and counts_by_category on every search to verify a filter narrowed the result set
One upstream lookup per billable request, with search and detail kept deliberately separate
Simple API key auth with 500 free credits per month

Frequently asked questions

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.

Start using the WG-Gesucht API

Sign up and get 500 free credits. No credit card required.