ImmobilienScout24 Scraper — Germany Listings, Rents & Prices
Pricing
from $0.99 / 1,000 listings
ImmobilienScout24 Scraper — Germany Listings, Rents & Prices
Scrape ImmobilienScout24.de apartments and houses for rent and sale. Get price, m2, rooms, energy class, GPS, photos, and private vs Makler. Paste a search or expose URL. ImmobilienScout24 API alternative for Python, Node.js, and MCP.
Pricing
from $0.99 / 1,000 listings
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Disclaimer: This is an unofficial integration developed independently. It is not affiliated with, sponsored by, or endorsed by Immobilien Scout GmbH or any of its subsidiaries.
ImmobilienScout24, ImmoScout24, and related names are trademarks of their respective owners. Data is read from publicly accessible ImmobilienScout24 Germany listings. No ImmobilienScout24 account login is required.
This Actor is provided for informational, research, lead-generation, and market monitoring purposes. You are solely responsible for complying with applicable laws (including GDPR), ImmobilienScout24's terms of use, and your organization's policies when processing listing and agent data.
Scrape ImmobilienScout24 (immobilienscout24.de) into clean JSON: apartments and houses for rent (mieten) and sale (kaufen) with price, €/m², rooms, living space, energy class, GPS, photos, private owner vs Makler, and optional full expose details (costs, energy certificate, description, agent company). This ImmobilienScout24 scraper / ImmoScout24 scraper works as a German real-estate API alternative from Python, Node.js, cURL, or Apify MCP / AI assistants — paste any /Suche/ or /expose/ URL.
Best for: Germany rent and sale comps, PropTech pipelines, FSBO / private-seller leads, energy-class screening, and dataset export (JSON / CSV) via Apify.
| Actor | Role |
|---|---|
| ImmobilienScout24 Scraper ◄── you are here | Germany IS24 listings (rent & buy) |
| Idealista Scraper | Spain Idealista listings + agency leads |
| Kleinanzeigen Scraper | German classifieds + monitor alerts |
| mobile.de Scraper | German vehicle listings |
| Leboncoin Scraper | French classifieds |
When to use this Actor
- ImmobilienScout24 scraper for search pages — Copy a filtered browser URL (city, radius, price, rooms, Wohnung/Haus, mieten/kaufen) into Start URLs.
- Wohnung mieten / Haus kaufen datasets — Berlin, München, Hamburg, Köln, or any
/Suche/de/...region; export JSON/CSV for comps and pipelines. - Private-seller (FSBO) lead lists — Enable Private sellers only to keep
isPrivate: truerows and skip Makler inventory. - Full expose details — Keep details on for Kaltmiete / Warmmiete, Nebenkosten, Kaution, energy certificate, description, and agent company.
- Scheduled monitoring — Re-run the same search and emit only new or price-changed listings.
- Coverage past web SERP caps — The mobile JSON API paginates the full result set (not the ~20-page website window). If a query still hits a page ceiling, the Actor splits by price bands.
When not to use this Actor
- Austria / Switzerland portals — This Actor targets immobilienscout24.de (Germany). Austrian and Swiss Scout24 sites use different URL schemes and backends.
- Makler profile crawl (
/anbieter/profil/) — Paste search or expose URLs. Agency portfolio scraping is not in this version. - Hidden contact reveal — Public agent name/company and visible phones are included when the expose JSON already has them. The Actor does not solve contact-unlock walls.
- Authenticated actions — No login, messaging, or saved-search inbox.
Key features
- Mobile JSON API — Reads
api.mobile.immobilienscout24.de(the same backend as the IS24 apps). No headless browser, 128–512 MB RAM. - Search + expose URLs — One Actor handles result lists and single listing IDs.
- Search builder — City name or
/de/...geocode path, rent vs buy, apartment vs house, price / rooms / m² filters when you do not have a URL. - Private vs agency —
isPrivate/advertiserTypeon every row; optional private-only filter. - Price-drop tags —
priceReducedwhen the card or expose shows a Preissenkung. - Monitor mode — Key-value store remembers listing IDs and prices across runs.
- Residential DE proxy — Recommended on Apify Cloud so datacenter IPs are not blocked.
Input
| Field | What it does |
|---|---|
| Start URLs | Search (/Suche/...) or expose (/expose/{id}) links. Filters in the URL are kept. |
| Region | Builder only. Berlin, Munich, Köln, or /de/bayern/muenchen. |
| Rent or buy / Property type | Builder only. Wohnung vs Haus, mieten vs kaufen. |
| Min/max price, rooms, m² | Builder filters in euros / Zimmer / Wohnfläche. |
| Max listings | Cap on dataset rows. |
| Scrape full expose details | Default on. Off = search-card fields only (faster). |
| Private sellers only | Drop Makler listings. |
| Monitor mode | Save new and price-changed rows only. |
| Proxy | Apify Residential, country DE. |
{"startUrls": [{ "url": "https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten" }],"maxItems": 50,"includeDetails": true,"onlyPrivate": false,"monitorMode": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "DE"}}
Radius example (in a Start URL):
{"startUrls": [{"url": "https://www.immobilienscout24.de/Suche/radius/wohnung-mieten?centerofsearchaddress=Berlin;10115;;;;;&geocoordinates=52.532;13.383;5.0"}],"maxItems": 100}
Output
One dataset row per listing. Search-card fields are always present; the rest fill in when details are on.
| Field | Description |
|---|---|
id | Scout-ID |
url | Expose URL |
title | Headline |
realEstateType | apartmentrent, apartmentbuy, houserent, housebuy, … |
price | Warm rent, cold rent, or purchase price (€) |
baseRent / totalRent / serviceCharge | Kaltmiete, Warmmiete, Nebenkosten |
deposit | Kaution (text as shown) |
livingSpaceValue / roomsValue | m² and Zimmer |
energyEfficiencyClass | A+–H |
yearBuilt / condition / heatingType | Building and energy block |
features | Balkon, Aufzug, Einbauküche, Garten, … |
isPrivate / advertiserType | Private owner vs agency |
address / zipCode / city / latitude / longitude | Location |
agentName / agentCompany / agentPhones | Public advertiser fields |
pictures | Image URLs |
priceReduced | Preissenkung flag |
description | Objektbeschreibung |
scrapedAt | ISO timestamp |
{"id": "170073864","url": "https://www.immobilienscout24.de/expose/170073864","title": "Vollmöbliertes Design-Apartment inkl. Einbauküche & Terrasse","realEstateType": "apartmentrent","price": 1070,"baseRent": 1070,"totalRent": 1195,"serviceCharge": 125,"livingSpaceValue": 32.93,"roomsValue": 1,"energyEfficiencyClass": "B","isPrivate": false,"advertiserType": "agency","address": "Biedenkopfer Straße 54 13507 Tegel, Berlin","zipCode": "13507","city": "Berlin","latitude": 52.5798,"longitude": 13.28542,"yearBuilt": 2024,"features": ["Balkon/Terrasse", "Keller", "Personenaufzug", "Einbauküche", "Garten"],"agentCompany": "Comood GmbH","pictures": ["https://pictures.immobilienscout24.de/listings/..."],"scrapedAt": "2026-08-17T11:00:00+00:00"}
Use cases
- Agents — Watch competing inventory by Bezirk; filter to private sellers for new mandates.
- Investors / PropTech — City-level rent and €/m² snapshots, energy class mix, GPS for maps.
- Relocation / HR — Warm rent + deposit + available-from for employee housing shortlists.
- Market research — Schedule daily runs in monitor mode and store only new ads and price cuts.
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/immobilienscout24-scraper').call({startUrls: [{ url: 'https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten' }],maxItems: 50,includeDetails: true,proxyConfiguration: {useApifyProxy: true,apifyProxyGroups: ['RESIDENTIAL'],apifyProxyCountry: 'DE',},});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]?.id, items[0]?.price, items[0]?.livingSpaceValue);
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("crawloop/immobilienscout24-scraper").call(run_input={"startUrls": [{"url": "https://www.immobilienscout24.de/Suche/de/bayern/muenchen/wohnung-kaufen"}],"maxItems": 50,"includeDetails": True,"proxyConfiguration": {"useApifyProxy": True,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "DE",},})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("id"), item.get("price"), item.get("isPrivate"))
cURL
curl -X POST "https://api.apify.com/v2/acts/crawloop~immobilienscout24-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url": "https://www.immobilienscout24.de/Suche/de/hamburg/hamburg/haus-kaufen"}],"maxItems": 20,"includeDetails": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "DE"}}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP.
Connect your Apify account, then call this Actor by its Store ID / name (crawloop/immobilienscout24-scraper).
Example prompts:
- "Run ImmobilienScout24 Scraper for Wohnung mieten in Berlin, max 30, and return id, warm rent, m², rooms, energy class as JSON"
- "Scrape ImmobilienScout24 Munich apartments for sale under €600,000 with full details and summarize private vs Makler share"
- "Pull ImmobilienScout24 Hamburg rentals, then compare the field set with Idealista Scraper for a DACH vs Spain pipeline"
Suite next step
After Germany IS24 comps, add Spain coverage with Idealista Scraper, or monitor German classified spillover on Kleinanzeigen Scraper.
FAQ
Is this an official ImmobilienScout24 API?
No. It is an unofficial ImmobilienScout24 scraper / API alternative that reads the public mobile listing JSON used by the IS24 apps. It is not affiliated with Immobilien Scout GmbH. You can call it from Python, Node.js, cURL, or MCP.
Can I scrape Wohnung mieten in Berlin (or another city)?
Yes. Paste a Berlin /Suche/.../wohnung-mieten URL, or use the builder with region Berlin, rent, and apartment. The same pattern works for München, Hamburg, Köln, and other German cities.
Why residential proxies?
Apify datacenter IPs are often blocked. Residential DE is the supported setup on Cloud.
Can I paste a browser search URL?
Yes. Apply filters on the site, copy the /Suche/ URL, paste into Start URLs. Radius, rooms, price, and property type in the path/query are translated to the mobile API.
Does it stop at 1,000 results like the website?
The website result list is capped; the mobile search endpoint paginates much further (50 listings per page). If a query still hits a page ceiling, the Actor splits the price range automatically.
Do you scrape Austria and Switzerland?
Not in this Actor. Germany (immobilienscout24.de) only.
Are phone numbers included?
Only when the expose JSON already lists them (agentPhones). Private contact-unlock flows are not automated.
Related Actors
| Actor | What it covers |
|---|---|
| Idealista Scraper | Spain sale/rent listings + agency phones |
| Kleinanzeigen Scraper | German classifieds monitor |
| mobile.de Scraper | German used cars |
| Leboncoin Scraper | France classifieds |
| Marktplaats Scraper | Dutch marketplace |