ImmobilienScout24 Scraper — Germany Listings, Rents & Prices avatar

ImmobilienScout24 Scraper — Germany Listings, Rents & Prices

Pricing

from $0.99 / 1,000 listings

Go to Apify Store
ImmobilienScout24 Scraper — Germany Listings, Rents & Prices

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

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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.

ActorRole
ImmobilienScout24 Scraper ◄── you are hereGermany IS24 listings (rent & buy)
Idealista ScraperSpain Idealista listings + agency leads
Kleinanzeigen ScraperGerman classifieds + monitor alerts
mobile.de ScraperGerman vehicle listings
Leboncoin ScraperFrench 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: true rows 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 agencyisPrivate / advertiserType on every row; optional private-only filter.
  • Price-drop tagspriceReduced when 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

FieldWhat it does
Start URLsSearch (/Suche/...) or expose (/expose/{id}) links. Filters in the URL are kept.
RegionBuilder only. Berlin, Munich, Köln, or /de/bayern/muenchen.
Rent or buy / Property typeBuilder only. Wohnung vs Haus, mieten vs kaufen.
Min/max price, rooms, m²Builder filters in euros / Zimmer / Wohnfläche.
Max listingsCap on dataset rows.
Scrape full expose detailsDefault on. Off = search-card fields only (faster).
Private sellers onlyDrop Makler listings.
Monitor modeSave new and price-changed rows only.
ProxyApify 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.

FieldDescription
idScout-ID
urlExpose URL
titleHeadline
realEstateTypeapartmentrent, apartmentbuy, houserent, housebuy, …
priceWarm rent, cold rent, or purchase price (€)
baseRent / totalRent / serviceChargeKaltmiete, Warmmiete, Nebenkosten
depositKaution (text as shown)
livingSpaceValue / roomsValuem² and Zimmer
energyEfficiencyClassA+–H
yearBuilt / condition / heatingTypeBuilding and energy block
featuresBalkon, Aufzug, Einbauküche, Garten, …
isPrivate / advertiserTypePrivate owner vs agency
address / zipCode / city / latitude / longitudeLocation
agentName / agentCompany / agentPhonesPublic advertiser fields
picturesImage URLs
priceReducedPreissenkung flag
descriptionObjektbeschreibung
scrapedAtISO 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 ApifyClient
client = 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.

ActorWhat it covers
Idealista ScraperSpain sale/rent listings + agency phones
Kleinanzeigen ScraperGerman classifieds monitor
mobile.de ScraperGerman used cars
Leboncoin ScraperFrance classifieds
Marktplaats ScraperDutch marketplace