Immobilienscout24 (.de|.ch|.at) Only$1.75💰 Search-Detail-Agent avatar

Immobilienscout24 (.de|.ch|.at) Only$1.75💰 Search-Detail-Agent

Pricing

from $1.75 / 1,000 results

Go to Apify Store
Immobilienscout24 (.de|.ch|.at) Only$1.75💰 Search-Detail-Agent

Immobilienscout24 (.de|.ch|.at) Only$1.75💰 Search-Detail-Agent

💰$1.75 per 1,000. Extract comprehensive German real estate data: property details (rent, size, rooms, location), high-res images, agent info with verification status, pricing insights, amenities (balcony, kitchen, cellar), contact forms, market analytics, and 40+ targeting parameters for research.

Pricing

from $1.75 / 1,000 results

Rating

5.0

(9)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

14

Bookmarked

356

Total users

88

Monthly active users

1.2 hours

Issues response

7 hours ago

Last modified

Share

ImmobilienScout24 Scraper — DACH Real Estate (DE · CH · AT) · Search + Detail + Agent

The #1-rated ImmobilienScout24 scraper on Apify (★ 5.0). Scrape the full DACH residential real estate market from immobilienscout24.de (Germany), immoscout24.ch (Switzerland), and immobilienscout24.at (Austria) in one actor. Search results, full expose detail pages, and Makler (agent) profiles with all their listings — at $1.75 per 1,000 results. Pure HTTP, no browser.

How it works

How ImmoScout24 Scraper works

✨ Why use this scraper?

ImmobilienScout24 is the largest property portal in the DACH region — over 600,000 active listings, every major German, Swiss, and Austrian city, all three rental and sale tiers. Most ImmoScout scrapers on Apify only handle one country, one URL type, and skip the most valuable surface (agent profiles). This one does all three.

  • 🇩🇪 🇨🇭 🇦🇹 All DACH in one actor. Mix .de + .ch + .at URLs in the same startUrls list. Berlin, München, Hamburg, Wien, Salzburg, Zürich, Genf — same actor, same shape, same price.
  • 🎯 Three URL kinds, three handlers. Search results (/Suche/...), expose detail (/expose/{id}), and Makler profile (/anbieter/profil/{slug}) — most competitors don't crack the agent profile flow.
  • 🤝 Makler API + mobile expose JSON merge. Agent-profile rows merge clientFields (from the public agency API) with the full mobile-app expose JSON, giving you 40+ targeted fields per listing the agent has.
  • 📋 Mobile-app endpoint. Uses ImmoScout24's mobile-app JSON endpoint (the one used by their native iOS/Android apps), not DOM-scraped HTML — faster, less fragile, more accurate.
  • 🔁 Monitoring mode. Set monitoringMode: true to emit only listings new since the last run — perfect for daily change-detection feeds.
  • 🛡 Akamai-cleared. Pure HTTP via Apify Residential. No headless browser. Same backend handles Cloudflare-fronted detail pages and the API endpoints transparently.
  • ⭐️ Customer-rated #1. Top of the Apify Store ranking for ImmoScout24 scrapers by user count, with a perfect 5.0★ rating across 9 reviews.

🎯 Use cases

TeamWhat they build
Real estate market analystsDaily inventory snapshots for DE / CH / AT — track void rates, price-per-m², new-listings velocity by city and sub-market
Property tech (proptech) platformsPower your listings UI with a structured DACH feed without negotiating direct API access with Scout24
Compensation & rent benchmarkingCity-level rent-per-m² benchmarks for HR / corporate relocation teams
Agency competitive intelligenceScrape competing Makler (agent) portfolios — how many listings, in what sub-markets, at what price points
Investor / fund sourcingBuild deal-flow pipelines filtered by yield, total return, m², year built, EPC class
Geospatial analyticsEvery detail row carries coordinates.lat + coordinates.lng (Scout24's verified geocoding)

📥 Supported inputs

URL patternRegionHandlerBehaviour
immobilienscout24.de/Suche/de/{state}/{city}/{type}-{mode}🇩🇪 DESearchPaginates all result pages, then fans out to each expose. Filters in URL are honoured.
immobilienscout24.de/expose/{id}🇩🇪 DEDetailSingle expose row, full mobile JSON shape
immobilienscout24.de/anbieter/profil/{slug}🇩🇪 DEAgentLoads residential BUY then RENT listings via agency API, merges clientFields + full mobile expose JSON. Tip: if the profile HTML is blocked, add ?realtorEncryptedId=... (opaque ID from /anbieter/contact/{slug}/{id}).
immobilienscout24.at/regional/{state}/{city}/{type}-{mode}🇦🇹 ATSearchAustrian search results
immobilienscout24.at/expose/{id}🇦🇹 ATDetailAustrian expose
immoscout24.ch/de/{type}/{mode}/region-{city}🇨🇭 CHSearchSwiss search results
immoscout24.ch/de/d/{type}-{mode}/{id}🇨🇭 CHDetailSwiss expose

Easiest workflow: apply filters in the browser, copy the URL out of the address bar, paste into startUrls. The actor classifies each URL automatically.

🔄 How it works (step by step)

  1. Classify each startUrl — country (DE/CH/AT) × kind (Search / Detail / Agent).
  2. Search URLs: walk all result pages (no 500-row cap — ImmoScout's API gives the full inventory), collect every expose ID.
  3. Detail URLs: hit the mobile-app expose JSON endpoint directly — no HTML scraping, no JS.
  4. Agent URLs: call the agency API twice (BUY + RENT), merge clientFields, then enrich each listing with the mobile expose JSON. If the public profile HTML is rate-limited, support ?realtorEncryptedId=... (a 32-char opaque ID from the contact endpoint) as a fallback.
  5. (Monitoring mode) dedupe against previously-scraped IDs and emit only fresh listings since the last run.
  6. Push to dataset — one row per listing or agent profile. JSON during the run, CSV at end.

⚙️ Input parameters

ParameterTypeDefaultDescription
startUrlsarray of {url}(required)DE / CH / AT URLs (search, expose, or agent). Mix freely.
monitoringModebooleanfalseEmit only listings new since the last run. Costs $0.50/1k for change-detection checks (per-item, separate event).
maxConcurrencyinteger10Parallel HTTP request limit. Sweet spot 5–10 via Apify Residential.
minConcurrencyinteger1Minimum parallel workers.
maxRequestRetriesinteger100Per-URL retry budget on Akamai 403s + proxy CONNECT failures.
proxyobjectApify ResidentialApify proxy config. Note: default pool works cleanly for all three DACH locales.

Example input — DACH mixed (search across all three)

{
"startUrls": [
{ "url": "https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten?pricetype=rentpermonth" },
{ "url": "https://www.immobilienscout24.at/regional/wien/wien/wohnung-mieten" },
{ "url": "https://www.immoscout24.ch/de/wohnung/mieten/region-zuerich" }
],
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Example input — Makler (agent) profile

{
"startUrls": [
{ "url": "https://www.immobilienscout24.de/anbieter/profil/engel-voelkers-berlin-mitte-50-2543" }
]
}

Example input — incremental monitoring

{
"startUrls": [
{ "url": "https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-kaufen" }
],
"monitoringMode": true
}

📊 Output overview

Three row shapes, classified by the input URL:

  • Search-result row — one row per expose ID discovered on a search page. Has the listing's title, price, size, location, agent reference. Lightweight; ~100 fields.
  • Expose detail row — full mobile-app shape. ~150 fields including marketing description, all photos, energy data, agent contact, location coordinates, courtage, neighbourhood metadata.
  • Makler (agent) row — agent's profile + their full listings portfolio merged. ~200 fields per listing × N listings, plus the agent's metadata (realtorName, clientFields, contact details).

All three are pushed to the same dataset. Filter by kind field (or by URL pattern) to split them downstream.

📦 Output sample — Expose detail row (mobile JSON shape)

{
"kind": "expose",
"id": "138123456",
"exposeUrl": "https://www.immobilienscout24.de/expose/138123456",
"country": "DE",
"title": "Lichtdurchflutete 3-Zimmer Altbauwohnung mit Balkon · Berlin Prenzlauer Berg",
"type": "apartment-rent", // apartment-rent / apartment-buy / house-rent / house-buy / land / commercial
"address": {
"fullAddress": "Schönhauser Allee 123, 10437 Berlin",
"street": "Schönhauser Allee 123",
"postcode": "10437",
"city": "Berlin",
"district": "Prenzlauer Berg",
"region": "Berlin",
"country": "Germany"
},
"coordinates": { "lat": 52.5485, "lng": 13.4126 },
// ── Price ──
"price": { "amount": 1850, "currency": "EUR", "period": "month", "raw": "1.850 € warm" },
"priceDetails": { "kalt": 1450, "warm": 1850, "nebenkosten": 280, "heizkosten": 120, "deposit": "3 Monatskaltmieten" },
"courtage": { "amount": 0, "isCourtageFree": true, "note": "provisionsfrei" },
// ── Size + rooms ──
"livingSpace": 78.5, // m²
"rooms": 3.0,
"bedrooms": 2,
"bathrooms": 1,
"floor": "3 / 5",
"lotSize": null, // null for apartments
// ── Building ──
"yearBuilt": 1908,
"yearRefurbished": 2019,
"buildingType": "Altbau",
"condition": "Modernisiert",
"objectCondition": "mint_condition",
"interiorQuality": "luxury",
"lastRefurbishment": "2019",
// ── Energy (EU EPC) ──
"energy": {
"energyCertificateAvailable": true,
"energyCertificateType": "Verbrauchsausweis",
"energyConsumption": 87.5,
"energyClass": "C",
"primaryEnergyCarrier": "gas",
"thermalCharacteristic": "energieausweis_neu"
},
// ── Amenities (boolean flags + descriptive) ──
"amenities": {
"balcony": true, "terrace": false, "garden": false,
"kitchen": true, "guestToilet": true, "cellar": true,
"elevator": true, "wheelchairAccess": false,
"parking": "Tiefgaragen-Stellplatz",
"heating": "Zentralheizung",
"flooring": ["Parkett", "Fliesen"]
},
// ── Description + media ──
"description": "Charmante Altbauwohnung in bester Prenzlberg-Lage…", // full HTML
"objectDescription": "Im 3. OG eines saniertes Gründerzeithaus…",
"locationDescription": "Schönhauser Allee — Lebendigste Strasse Berlins…",
"equipmentDescription": "Parkett · Einbauküche · Echtholzdielen…",
"photos": [
{ "url": "https://pictures.immobilienscout24.de/.../1.jpg", "caption": "Wohnzimmer" },
{ "url": "https://pictures.immobilienscout24.de/.../2.jpg", "caption": "Küche" }
],
"photosCount": 18,
"floorPlan": "https://pictures.immobilienscout24.de/.../grundriss.pdf",
"video": null,
"virtualTour": "https://my.matterport.com/show/?m=abc",
// ── Agent / Makler ──
"agent": {
"realtorId": "12345",
"realtorEncryptedId": "abc123def456...",
"name": "Engel & Völkers Berlin Mitte",
"profileUrl": "https://www.immobilienscout24.de/anbieter/profil/engel-voelkers-berlin-mitte-50-2543",
"phone": "+49 30 1234567",
"email": "kontakt@engelvoelkers.de",
"logoUrl": "https://logos.immobilienscout24.de/12345.png",
"isVerified": true,
"memberSince": "2014-03-15"
},
// ── Listing metadata ──
"datePosted": "2026-05-12T08:30:00Z",
"dateUpdated": "2026-05-15T14:22:00Z",
"listingState": "active",
"viewCount": 412,
"favouriteCount": 28,
"premiumListing": false,
"isNew": true,
"isProjectShowcase": false,
// ── Tracking + ads ──
"adTargetingParameters": { /* … */ },
"tracking": { /* … */ },
"scrapedAt": "2026-05-17T10:00:00.000Z"
}

📦 Output sample — Makler (agent) profile row

{
"kind": "agent",
"realtorId": "50-2543",
"realtorName": "Engel & Völkers Berlin Mitte",
"realtorProfileUrl": "https://www.immobilienscout24.de/anbieter/profil/engel-voelkers-berlin-mitte-50-2543",
"header": {
"logoUrl": "https://logos.immobilienscout24.de/50-2543.png",
"bannerUrl": "https://...",
"isVerified": true,
"memberSince": "2014-03-15",
"totalListings": 47
},
"contact": {
"name": "Maximilian Schäfer",
"title": "Senior Real Estate Consultant",
"phone": "+49 30 1234567",
"email": "max@engelvoelkers.de",
"address": "Friedrichstraße 123, 10117 Berlin"
},
"clientFields": {
"shortDescription": "Premium real estate consultancy specialising in luxury apartments...",
"longDescription": "Engel & Völkers is the world's leading service provider in the brokerage...",
"officeAreas": ["Berlin Mitte", "Prenzlauer Berg", "Charlottenburg"],
"specializations": ["Luxury apartments", "Pre-1900 buildings", "Investment properties"]
},
"basicInfo": { /* … */ },
"sections": {
"buyListings": [ /* array of full expose-shape rows for properties this agent has for SALE */ ],
"rentListings": [ /* array of full expose-shape rows for properties this agent has for RENT */ ]
},
"adTargetingParameters": { /* … */ },
"tracking": { /* … */ },
"sourceProfileUrl": "https://www.immobilienscout24.de/anbieter/profil/engel-voelkers-berlin-mitte-50-2543",
"scrapedAt": "2026-05-17T10:00:00.000Z"
}

🗂 Key output fields (expose detail)

GroupFields
Identityid, kind, exposeUrl, country (DE / CH / AT), type
Address + geoaddress.{fullAddress,street,postcode,city,district,region,country}, coordinates.{lat,lng}
Priceprice.{amount,currency,period,raw}, priceDetails.{kalt,warm,nebenkosten,heizkosten,deposit}, courtage.{amount,isCourtageFree,note}
SizelivingSpace, rooms, bedrooms, bathrooms, floor, lotSize
BuildingyearBuilt, yearRefurbished, buildingType, condition, objectCondition, interiorQuality
Energyenergy.{energyCertificateAvailable,energyCertificateType,energyConsumption,energyClass,primaryEnergyCarrier}
Amenitiesamenities.{balcony,terrace,garden,kitchen,guestToilet,cellar,elevator,wheelchairAccess,parking,heating,flooring}
Content + mediadescription (HTML), objectDescription, locationDescription, equipmentDescription, photos[], floorPlan, video, virtualTour
Agentagent.{realtorId,realtorEncryptedId,name,profileUrl,phone,email,logoUrl,isVerified,memberSince}
TimingdatePosted, dateUpdated, scrapedAt (ISO 8601)
EngagementviewCount, favouriteCount, listingState, premiumListing, isNew, isProjectShowcase
Targeting / adsadTargetingParameters.*, tracking.* (raw Scout24 telemetry, useful for matching against ad campaigns)

💰 Pricing

$1.75 per 1,000 results. Pay only for rows in the dataset.

EventCharged whenRate
apify-default-dataset-item (Result)A row is written to the dataset$1.75 / 1,000
apify-actor-start (Infrequent)Each run starts$0.005 / run
additional-data (Monitoring)Each item change-detection check in monitoringMode: true$0.50 / 1,000

Cost examples:

  • 500 Berlin rental apartments → ~$0.88
  • 5,000 listings across DE + CH + AT → ~$8.75
  • Daily monitoring of 2,000 listings → ~$1.00 / day = ~$30 / month

What makes this richer than the competition

CapabilityOther ImmoScout scrapersThis actor
DACH coverageUsually .de only.de + .ch + .at in one actor
Agent (Makler) profilesNot offeredFull profile + all their BUY and RENT listings via agency API
Mobile-app endpointDOM-scraping HTML (fragile)ImmoScout's own mobile-app JSON (stable, faster, richer)
Energy fields (EPC)Often missingenergyClass, energyConsumption, energyCertificateType, primaryEnergyCarrier — full EU EPC compliance
Monitoring modeNot offeredIncremental new-only runs at $0.50/1k change checks
Customer rating5.0 ★ (some) / 0 (most)5.0 ★ across 9 reviews — #1 in category by users (87 u30d)
realtorEncryptedId fallbackn/aWorks around HTML rate-limiting on agent profiles
Pricing$0.90–$3.00 / 1,000$1.75 / 1,000

❓ FAQ

Why does this actor cover DE + CH + AT in one listing? ImmoScout24 is a single Scout24 SE-owned property portal that operates across all three DACH markets with consistent UI and a unified mobile API. Same backend, same fields, same actor. Pasted URLs are classified by hostname; the rest is identical.

What's a "Makler profile" and why scrape it? A Makler is a German real-estate agent. Each agent has a public profile page on ImmoScout24 listing all their current BUY + RENT properties. Scraping the agent gives you a complete portfolio snapshot in one row — useful for competitive intelligence, agency rankings, deal-flow sourcing.

What's realtorEncryptedId? A 32-char opaque ID Scout24 sometimes requires to access agent listings via the public API. You'll find it on the agent's /anbieter/contact/{slug}/{id} page. Pass it as a query param to the profile URL if the actor reports "agent profile HTML is rate-limited".

Can it bypass the Cloudflare challenge on expose detail pages? The expose endpoint is API-fronted (no JS challenge). Apify Residential default pool returns clean 200 OK. No browser needed.

Does monitoring mode cost extra? monitoringMode: true adds $0.50/1,000 change-detection checks (the additional-data event). For a daily monitor of 2,000 listings: ~$0.001/check × 2,000 × 30 days = ~$60/month all-in. Without monitoring: full re-scrape every run at the standard $1.75/1k.

Can I get historical Scout24 data (closed deals, transaction prices)? No. ImmoScout24 doesn't publish closed-deal data publicly — this actor only sees the currently-active inventory. For transaction history, you'd need a separate data partner (Empirica, ImmoScout24 Insights paid product).

What's the realistic throughput? Default maxConcurrency: 10. ~10–20 listings/sec sustained on Apify Residential. So 1,000 listings in 1–2 min; 10,000 in 10–15 min.

💬 Support

🛠 Additional services

  • Custom output shape, additional fields, or a private build: muhamed.didovic@gmail.com
  • Need other DACH property platforms (Immowelt, Immonet, Immobilien.de, Wohnungsbörse, Comparis, Homegate, willhaben.at)? Drop an email — most are already in the portfolio.
  • For API access (no Apify fee, just a usage fee for the API): muhamed.didovic@gmail.com

🔎 Explore more scrapers

If this ImmoScout24 scraper was useful, see other real-estate scrapers at memo23's Apify profile — Immowelt (DE), Immonet (DE), Immobiliare (IT), Immoweb (BE), LoopNet US + UK, Rightmove UK, and more.


⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by ImmobilienScout24 GmbH, Scout24 SE, or any of their subsidiaries or related entities. All ImmobilienScout24-, ImmoScout24-, and Scout24-related trademarks, service marks, trade names, and logos are the property of their respective owners and are used here solely for descriptive purposes — to identify the public property listings from which this scraper extracts data.

This Actor accesses only publicly available property-listing and agent-profile pages on immobilienscout24.de, immobilienscout24.at, and immoscout24.ch. You are solely responsible for ensuring that your use of the data complies with each site's Terms of Service, applicable copyright law, the EU Database Directive, GDPR, the German Telemediengesetz, the Swiss Federal Act on Data Protection (revFADP), the Austrian Datenschutzgesetz, and any other regulations that may apply to your jurisdiction or use case. Do not use this Actor to bulk-republish copyrighted content, to harass landlords / tenants / agents, to circumvent any rate-limiting or technical protection measure intentionally imposed by the source sites, or to enable unsolicited outreach in violation of GDPR / e-Privacy consent rules.

The author provides this Actor "as is", without warranty of any kind, and disclaims any liability for damages arising from its use.


SEO Keywords

immobilienscout24 scraper, immoscout24 scraper, immobilienscout24.de scraper, immobilienscout24.at scraper, immoscout24.ch scraper, immobilienscout24 api, immoscout api, germany real estate scraper, switzerland real estate scraper, austria real estate scraper, dach real estate api, berlin wohnung scraper, münchen wohnung scraper, hamburg wohnung scraper, wien immobilien scraper, zürich wohnung scraper, makler scraper, immobilien makler api, scout24 agent scraper, eu epc data, energy class scraper, immobilien monitoring, deutsche immobilien daten, mietpreis benchmarks, kaufpreis-pro-quadratmeter scraper, apify immoscout actor