Tauschwohnung Scraper
Pricing
from $5.00 / 1,000 results
Tauschwohnung Scraper
Scrape apartment swap listings from tauschwohnung.com and wohnungsswap.de. Extract rent, rooms, sqm, location, photos, amenities, and swap preferences. Filter by city, price, size. Export as JSON, CSV, or Excel.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer

Juan Viera Garcia
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 days ago
Last modified
Categories
Share
Germany Apartment Swap Scraper
Scrape apartment swap (Tauschwohnung / Wohnungstausch) listings from Germany's two largest platforms:
- tauschwohnung.com — ~51,000 listings
- wohnungsswap.de — ~22,000 listings
Extract rent, rooms, square meters, location, photos, amenities, swap preferences, and more. Export as JSON, CSV, or Excel.
What data do you get?
Each listing includes:
| Field | Description |
|---|---|
city, district, postalCode | Location details |
rooms, sqm, floor | Property size |
rent | Monthly rent in EUR |
propertyType | Apartment, room (WG), or house |
title, description | Listing text |
photos | Array of image URLs |
amenitiesRaw | Balcony, elevator, kitchen, cellar, garden, etc. |
swapPreferences | What the poster is looking for |
latitude, longitude | Coordinates (wohnungsswap.de) |
createdAt, lastActiveAt | Listing timestamps |
sourceUrl | Direct link to the original listing |
How it works
tauschwohnung.com
- Discovers all listing URLs via the site's XML sitemaps
- Visits each listing page with a headless browser (Playwright)
- Extracts data from the rendered DOM with multiple fallback strategies
wohnungsswap.de
- Fetches structured data from the public Search API (fast, no browser needed)
- Optionally enriches each listing by visiting the page for full descriptions, all photos, and amenities
Input configuration
| Parameter | Default | Description |
|---|---|---|
| Sources | Both | Which websites to scrape |
| Cities | All | Filter by German city names (e.g., Berlin, Hamburg, Munchen) |
| Min/Max Rooms | — | Room count range |
| Min/Max Size | — | Square meters range |
| Min/Max Rent | — | Monthly rent range in EUR |
| Property Types | All | Apartment, Room (WG), House |
| Max Listings Per Source | Unlimited | Limit for testing or cost control |
| Enrich Wohnungsswap | Off | Visit listing pages for full data (slower) |
| Max Concurrency | 5 | Parallel browser pages |
| Request Delay | 1000ms | Delay between requests |
Example input
Scrape 100 Berlin apartments under 800 EUR:
{"sources": ["tauschwohnung", "wohnungsswap"],"cities": ["Berlin"],"maxRent": 800,"propertyTypes": ["apartment"],"maxListingsPerSource": 100}
Scrape all listings from wohnungsswap.de only (API data, fast):
{"sources": ["wohnungsswap"],"maxListingsPerSource": 0}
Output example
{"id": "wohnungsswap_1497645","source": "wohnungsswap","sourceUrl": "https://www.wohnungsswap.de/tauschangebot/1497645","sourceId": "1497645","city": "Berlin","district": null,"postalCode": "10245","latitude": 52.5065,"longitude": 13.4544,"propertyType": "apartment","rooms": 3,"sqm": 75,"floor": 2,"rent": 650,"title": "3-Zimmer in Berlin","description": null,"photos": ["https://..."],"amenitiesRaw": [],"swapType": "permanent","createdAt": "2026-02-20T10:30:00Z","scrapedAt": "2026-02-26T18:00:00Z"}
Cost estimation
| Scenario | Estimated time | Estimated cost |
|---|---|---|
| wohnungsswap.de API only (22k listings) | ~5 min | ~$0.10 |
| wohnungsswap.de with page enrichment | ~2-4 hours | ~$5-10 |
| tauschwohnung.com (51k listings) | ~4-8 hours | ~$10-20 |
| Both sources, full scrape | ~6-12 hours | ~$15-30 |
| Berlin only, both sources | ~15-30 min | ~$1-3 |
Costs depend on proxy usage and Apify plan. Estimates assume residential proxies.
Tips
- Start small: Set
maxListingsPerSourceto 10-50 for your first run to verify the output format - wohnungsswap.de is fastest: The API returns structured data without needing a browser. Use it alone for quick results
- Use city filters: Scraping all 70k+ listings takes hours. Filter by city to get relevant results fast
- Proxies recommended: For large scrapes (1000+ listings), enable Apify proxy to avoid IP blocks
- Schedule runs: Set up a daily/weekly schedule to track new listings automatically
Local development
npm installmkdir -p storage/key_value_stores/defaultecho '{"sources":["wohnungsswap"],"cities":["Berlin"],"maxListingsPerSource":5}' > storage/key_value_stores/default/INPUT.jsonnpm run dev
Results appear in storage/datasets/default/.