WG-Gesucht APIwg-gesucht.de ↗
Search shared rooms and apartments on WG-Gesucht.de via API. Returns rent, size, district, availability, and contact details for Berlin listings.
What is the WG-Gesucht API?
The WG-Gesucht.de API exposes a single search_listings endpoint that returns up to hundreds of Berlin housing listings in one call, with 8 structured fields per listing including rent, room size, district, availability date, and contact name. It covers WG shared rooms, single-room apartments, and larger apartments, and filters out women-only listings by default so results are immediately actionable for general searches.
curl -X GET 'https://api.parse.bot/scraper/9c7e8891-2311-48ef-84cc-c3e4af8db46b/search_listings?limit=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace wg-gesucht-de-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: WG-Gesucht housing search — bounded, re-runnable."""
from parse_apis.wg_gesucht.de_housing_listings_api import WGGesucht, Listing, ListingNotFound
client = WGGesucht()
# Search for available listings in Berlin, capped at 5 results.
for listing in client.listings.search(limit=5):
print(listing.title, listing.district, listing.rent_per_month)
# Drill-down: take the first listing and inspect its fields.
first = client.listings.search(limit=1).first()
if first:
print(first.url, first.size_sqm, first.availability_date, first.is_unlimited)
# Typed error handling: catch ListingNotFound if criteria yield nothing.
try:
result = client.listings.search(limit=3).first()
if result:
print(result.title, result.rent_per_month)
except ListingNotFound as exc:
print(f"No listings found: {exc}")
print("exercised: listings.search / attribute access / ListingNotFound error handling")
Search for shared rooms and apartments on WG-Gesucht.de in Berlin. Returns listings with rent, room size, district, availability date, and contact information. Results span WG rooms, 1-room apartments, and larger apartments. Listings are filtered to exclude women-only offers and those available before October 2025. Paginated internally across multiple categories.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of listings to return. |
{
"type": "object",
"fields": {
"total": "integer total number of listings returned",
"listings": "array of listing objects with title, url, rent_per_month, size_sqm, district, availability_date, contact_name, is_women_only, and is_unlimited fields"
},
"sample": {
"data": {
"total": 5,
"listings": [
{
"url": "https://www.wg-gesucht.de/wg-zimmer-in-Berlin-Charlottenburg.10049661.html",
"title": "URBANELITE.COM // Keine Kaution! // All inklusive möblierte Charlottenburg Zimmer",
"district": "Charlottenburg",
"size_sqm": 20,
"contact_name": "Contact via site",
"is_unlimited": false,
"is_women_only": false,
"rent_per_month": 999,
"availability_date": "01.07.2026"
}
]
},
"status": "success"
}
}About the WG-Gesucht API
What the API Returns
The search_listings endpoint queries Berlin housing listings from WG-Gesucht.de and returns an array of listing objects under the listings key, alongside a total count. Each listing object includes title, url, rent_per_month, size_sqm, district, availability_date, contact_name, and is_women_only. The url field links directly to the full listing page for deeper detail not included in the summary response.
Filtering and Scope
The single available input parameter is limit (integer, optional), which caps the number of results returned in a single call. Listings span three property types: WG shared rooms, 1-room apartments, and larger multi-room apartments. Women-only listings are excluded from results by default, so the is_women_only field in each returned object will be false for all results under standard query behavior.
Coverage and Freshness
Coverage is scoped to Berlin. The district field identifies which Berlin neighborhood each listing belongs to, making it straightforward to filter results client-side by area. The availability_date field reflects when the room or apartment becomes available, which is useful for time-sensitive apartment searches or monitoring pipelines.
The WG-Gesucht API is a managed, monitored endpoint for wg-gesucht.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when wg-gesucht.de changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official wg-gesucht.de API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Berlin apartment search tool filtered by district and maximum rent_per_month
- Monitor availability_date fields to alert users when listings open within a target move-in window
- Aggregate rent_per_month and size_sqm data to track average Berlin rental prices by district over time
- Populate a relocation dashboard showing WG rooms and apartments available in specific Berlin neighborhoods
- Feed a Telegram or Slack bot that posts new listings matching a budget threshold as they appear
- Compile contact_name and url data to build a shortlist of listings for direct outreach
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.