ImmobilienScout24 Scraper - Germany Real Estate
Pricing
from $1.65 / 1,000 listing scrapeds
ImmobilienScout24 Scraper - Germany Real Estate
Scrape Germany property listings from immobilienscout24.de search URLs: price, rooms, size, address, cost breakdown, features, energy data, full description, every photo and the agency contact. Buy or rent: apartments, houses, plots and more. Independent tool, not affiliated with ImmobilienScout24.
Pricing
from $1.65 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
ImmobilienScout24 Scraper - Germany Real Estate Listings
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Immobilien Scout GmbH or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "ImmobilienScout24" is referenced only to describe the publicly available website this Actor collects data from.
Scrape property listings from immobilienscout24.de, Germany's largest real-estate portal, straight into JSON, CSV or Excel. Paste any ImmoScout24 search URL - buy or rent, apartments, houses, plots, garages, shared-flat rooms or short-term rentals, in any city, district or radius, with your filters - and get one rich row per listing: price, price per m2, rooms, living space, address and coordinates, the full cost breakdown (cold rent, service charge, heating, deposit, buyer commission), features (balcony, lift, cellar, built-in kitchen ...), year built, condition, heating and energy data, floor, bedrooms and bathrooms, the full description, every photo, floor plan and energy certificate links, and the agency with its contact person and phone.
Why this ImmoScout24 scraper?
| This Actor | Copying listings by hand | |
|---|---|---|
| Any search URL, buy or rent, every property type | Yes | Yes, one listing at a time |
| Price, size, rooms, address, coordinates as columns | Yes | You retype them |
| Full cost breakdown: cold rent, service charge, heating, deposit, commission | Yes | You open every listing |
| Features, year built, condition, heating, energy class | Yes | You open every listing |
| Full description texts and every photo | Yes | Copy-paste per listing |
| Agency, contact person, phone and agent rating | Yes | You open every listing |
| Your website filters (price, size, rooms, features, newest first ...) carried through | Yes | Yes |
| Duplicates across overlapping searches removed | Yes | No |
| Runs on a schedule, exports to Sheets, CSV, JSON or an API | Yes | No |
What you get
| Field | Type | Meaning |
|---|---|---|
id / url | string | ImmoScout24 listing id and its immobilienscout24.de/expose/<id> link |
title | string | Listing headline |
propertyType / marketingType | string | ApartmentBuy, ApartmentRent, HouseBuy, HouseRent, FlatShareRoom ... and PURCHASE or RENT |
price / currency / priceIntervalType | number / string | Purchase price, or cold rent on rentals (empty when the listing says "Preis auf Anfrage"); EUR; ONE_TIME_CHARGE or MONTH |
pricePerSqm | number | Price divided by living space, computed for you |
totalRent / baseRent / serviceCharge / heatingCosts / deposit | number / string | The rent breakdown on rentals |
buyerCommission / commissionFree | string / boolean | Commission the buyer pays, and whether the listing is commission-free for buyers |
livingSpaceSqm / plotAreaSqm / usableAreaSqm / rooms / bedrooms / bathrooms | number | Sizes and room counts |
street / houseNumber / postcode / city / quarter / fullAddress | string | Address, down to the house number when the advertiser publishes it; city is the town as ImmoScout24 files it (so every Frankfurt listing says "Frankfurt am Main"), fullAddress the address line exactly as the listing writes it |
latitude / longitude | number | Coordinates for precisely addressed listings |
floor / numberOfFloors / apartmentType | string / number | e.g. "4 von 4", "Dachgeschoss", "Doppelhaushälfte" |
availableFrom | string | Move-in date as listed, e.g. "01.07.2026", "sofort" |
constructionYear / lastRefurbishment / condition / interiorQuality | number / string | Year built, last modernisation, condition, finish quality |
heatingType / energySource / energyConsumption / energyEfficiencyClass / energyCertificateType / hasEnergyCertificate | string / boolean | Heating and energy-certificate data |
builtInKitchen / balcony / garden / lift / cellar / barrierFree / guestToilet | boolean | Feature flags (a real false stays false) |
parkingSpaces / parkingType | number / string | Garage or parking places and their kind; on a garage listing, the kind of space (e.g. "Tiefgarage", "Außenstellplatz") |
petsAllowed | string | Whether pets are allowed, as the listing states it ("Ja", "Nein", "nach Vereinbarung") |
description / equipmentDescription / locationDescription / otherDescription | string | The listing's full texts |
images / image | array / string | Every photo in large size (floor plans excluded) and the main photo |
hasFloorplan / floorplanUrl / energyCertificateUrl / hasVideo / hasVirtualTour | boolean / string | Media and documents: the floor plan (image or PDF), the energy certificate PDF, video and virtual-tour flags |
agentCompany / contactName / contactPhone / agentRating / agentProfileUrl | string / number | The advertising agency, its contact person and phone, rating and profile |
privateOffer | boolean | Private advertiser vs professional |
tags | array | Badges such as "Online-Besichtigung möglich" |
listingTier / isNewListing / isOnlyOnIs24 | string / boolean | ImmoScout24 placement tier, new-listing and exclusive flags |
isNewBuildProject / projectName / groupedCount / houseBuilderOffer | boolean / string / number / string | New-build flag, the new-build project's name, units in the same project, and the builder name on grouped house-building offers |
publishedText / publishedDate | string | How long the listing has been online, as ImmoScout24 shows it ("vor 2 Tagen"), and the date for listings online for days |
objectNumber | string | The advertiser's own reference |
attributes | object | Every attribute the listing shows, label to value, verbatim |
detailsIncluded | boolean | Whether the full listing record was read for this row |
type, sourceUrl, scrapedAt | string | Record type (listing), the search URL the row came from, fetch time |
Listings are in German, as published on immobilienscout24.de.
Use cases
- Comparables and valuations - every apartment in a district with price per m2, condition and year built.
- Rental market analysis - cold rent, service charge and total rent side by side, by quarter.
- Rental yield - scrape the same area once for sale and once for rent and compare price per m2.
- Investment screening - filter on energy class, refurbishment year, floor, lift and commission.
- Agency and lead intelligence - who lists what, where and at what price level, with agency contacts and ratings.
- Energy-renovation targeting - find F/G/H stock and its heating type for retrofit and financing offers.
- Mapping and territory analysis - coordinates on every precisely addressed listing.
- Feeding AI agents and data pipelines - clean JSON with stable field names.
How to use
- Run a search on immobilienscout24.de: choose buy or rent, the property type and the city or district, and set any filters you like.
- Copy the URL from your browser's address bar.
- Paste it into immobilienscout24.de search URLs (one per line, as many as you want) and set Max pages per URL.
- Run the Actor and download the results as JSON, CSV, Excel or HTML, or pull them over the API.
Input
{"startUrls": ["https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-kaufen"],"maxPagesPerUrl": 5,"maxItems": 1000,"includeDetails": true}
- immobilienscout24.de search URLs - the Actor scrapes the search you give it, filters included.
- Import URLs from a file - paste a whole list, or link a public
.txt/.csv, a Google Sheet/Drive link, or an Apify key-value-store record. Blank lines and#comments are ignored. - Max pages per URL - 20 listings per page (default 10 pages). The run stops at the end of the search.
- Max listings - overall cap across all URLs.
- Include full listing details - on by default. Turn it off for a faster run with search-page data only (price, size, rooms, address, energy class, one photo). The price per listing is the same either way.
- Output fields - trim every record to exactly the columns you need.
Leave everything empty and the run returns a one-page sample search so you can see the output first.
Which ImmoScout24 URLs work
| Search | Example | Works |
|---|---|---|
| Apartments for sale / for rent | immobilienscout24.de/Suche/de/berlin/berlin/wohnung-kaufen · .../wohnung-mieten | Yes |
| Houses for sale / for rent | .../haus-kaufen · .../haus-mieten | Yes |
| A district | .../Suche/de/berlin/berlin/friedrichshain-friedrichshain/wohnung-kaufen | Yes |
| New-build searches and feature searches | .../neubauwohnung-kaufen · .../wohnung-mit-balkon-mieten | Yes |
| Shared-flat rooms, plots, garages | .../wg-zimmer · .../grundstueck-kaufen · .../garage-mieten | Yes |
| Radius searches (pin + distance) | .../Suche/radius/wohnung-kaufen?...&geocoordinates=... | Yes |
| Any of the above with filters and sort order | price, size, rooms, features, newest first, price up or down ... | Yes |
| A single listing page | immobilienscout24.de/expose/<id> | No - skipped, $0 |
Output
One real row (texts shortened, 2 of its photos shown):
{"type": "listing","id": "155544454","url": "https://www.immobilienscout24.de/expose/155544454","title": "Klimatisierte 3-Zimmer-Wohnung mit Panoramablick über die Dächer des Kiezes","propertyType": "ApartmentBuy","marketingType": "PURCHASE","price": 635555,"currency": "EUR","priceIntervalType": "ONE_TIME_CHARGE","pricePerSqm": 7900,"livingSpaceSqm": 80.45,"rooms": 3,"street": "Baumschulenstraße","houseNumber": "27/29","postcode": "12437","city": "Berlin","quarter": "Baumschulenweg (Treptow)","fullAddress": "Baumschulenstraße 27/29, 12437 Berlin, Baumschulenweg (Treptow)","latitude": 52.46454,"longitude": 13.48634,"energyEfficiencyClass": "A+","hasEnergyCertificate": true,"builtInKitchen": false,"balcony": true,"lift": false,"cellar": false,"commissionFree": false,"privateOffer": false,"agentCompany": "ESCON GmbH","contactName": "Herr Daniel Maaßen","contactPhone": "+49 30 809331631","tags": ["Online-Besichtigung möglich"],"images": ["https://pictures.immobilienscout24.de/listings/bfc3d0aa-aedb-4d38-b97b-6e9c44b0d595-1867119298.jpg/ORIG/resize/1500x1000/format/webp/quality/80", "https://pictures.immobilienscout24.de/listings/b07a9c27-d7e6-4a47-bdba-a77617250e18-1867119370.jpg/ORIG/resize/1500x1000/format/webp/quality/80"],"hasFloorplan": true,"hasVideo": true,"listingTier": "XL","isNewBuildProject": true,"groupedCount": 6,"publishedText": "vor 2 Jahren","description": "Das Projekt Baumschulenstraße besteht aus einem Vorder- und einem Gartenhaus...","equipmentDescription": "- 33,5 m² Wohn- und Essbereich\n- Klimaanlage\n- Neuer Aufzug ...","apartmentType": "Dachgeschoss","floor": "4 von 4","bedrooms": 2,"bathrooms": 2,"availableFrom": "01.07.2026","condition": "Erstbezug nach Sanierung","interiorQuality": "Gehoben","lastRefurbishment": 2025,"energyCertificateType": "Bedarfsausweis","buyerCommission": "3,57%","objectNumber": "WE_22","agentRating": 4.4,"floorplanUrl": "https://d2qfnj9mv71tll.cloudfront.net/d6aeb1a9-c4af-421a-af9d-6a4a9e8e5459-1862019455.pdf","energyCertificateUrl": "https://d2qfnj9mv71tll.cloudfront.net/0c20a9a9-1886-4f4b-bd01-7e25ba1a979e-1862464338.pdf","detailsIncluded": true,"sourceUrl": "https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-kaufen","scrapedAt": "2026-10-03T22:31:33.965Z"}
The Listings view shows title, price, living space, rooms, city, price per m2 and link as a table; every field is always in the full dataset behind it.
Good to know
- Private sellers' contact details are never collected.
agentCompany,contactNameandcontactPhoneare filled for professional advertisers only (the agency's business contact); for a private listing they are empty andprivateOfferistrue. You are responsible for using contact data lawfully. - The exact street address and coordinates appear only when the advertiser publishes them. Many listings show only postcode, city and quarter, and the Actor never guesses the rest.
- Online since: ImmoScout24 shows how long a listing has been online ("vor 2 Tagen", "vor 3 Monaten"), which
is in
publishedText;publishedDateturns it into a date when it is counted in hours or days. Exact publication and modification timestamps are not available, sopublishedAtandmodifiedAtstay empty, as doesprojectUrl(ImmoScout24's app data names a new-build project but gives no web link for it). - Some fields only exist for some listings. The rent breakdown applies to rentals, the commission to purchases,
plot area to houses and plots, the energy data to listings with an energy certificate, floor, lift and balcony to
apartments, and the project name to new-build units. Shared-flat rooms carry the fewest details (often no main
description). Anything a listing does not state is
null. - Filters: your search URL's filters are carried through. A few website-only filters (for example "pets allowed")
are not supported by ImmoScout24's app search; the Actor drops such a filter, runs the rest of the search and
names the dropped filter in the run's status message. For pets, the
petsAllowedcolumn carries each listing's own answer, so you can filter the results yourself. - Full details take a little longer. Each listing's full record is read separately; turn off Include full listing details for the fastest runs. If a run reaches its time limit, listings whose full record was not read yet are left out and not billed.
- House-building offers: house searches can include grouped offers from house builders; each offer is its own
row, with the builder in
houseBuilderOffer.
How much does it cost to scrape ImmobilienScout24?
This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:
- Listing scraped - One immobilienscout24.de property listing: price, living space, rooms, address, energy class, agent, contact and images.
The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.
Automate & schedule
Run this Actor on autopilot and pull results into your own stack:
- Apify API - start runs, fetch datasets and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python - official SDKs.
- Schedules - run it hourly, daily or weekly and keep your dataset current.
- Webhooks - trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/immobilienscout24-scraper').call({"startUrls": ["https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-kaufen"],"maxPagesPerUrl": 1});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} records`);
Integrate with any app
Connect the dataset to thousands of apps - no code required:
- Make - multi-step automation scenarios.
- Zapier - push new records straight into your CRM or spreadsheet.
- Slack - get notified when a scheduled run finds something new.
- Google Drive / Sheets - auto-export every run to a spreadsheet.
- Airbyte - pipe results into your data warehouse.
- GitHub - trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. You can call this Actor from Claude, ChatGPT or any agent framework through the Apify MCP server - describe the data you need and let the assistant run this Actor for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
Related Actors in the same category:
- Real Estate Scraper for Redfin - Listings, Sold Comps & Leads
- BizBuySell Scraper - Businesses For Sale & Broker Leads
- VivaReal & ZAP Imóveis Scraper - Brazil Real Estate
- PropertyGuru Scraper - Singapore Property & Agent Leads
- Airbnb Scraper & Market Monitor
Tips
- Newest listings first: sort your search by newest on immobilienscout24.de before copying the URL, and schedule a daily run with Max pages per URL at 1 or 2.
- Big cities: paste one search per district for more depth than one city-wide search.
- Lean exports: use Output fields;
images,attributesand the description texts are the largest fields.
FAQ
How is this Actor billed? Pay-per-event: you pay only for the results it delivers, with no monthly rental and no start fee. The per-event price is shown on the Pricing tab.
Can I schedule it and get results automatically? Yes - create a Schedule and add a webhook or an integration (Google Sheets, Slack, Make, Zapier) to push each run's dataset wherever you need it.
Which export formats are available? Every run's dataset can be downloaded as JSON, CSV, Excel (XLSX), XML, HTML or RSS from the Apify Console or the API.
Can I run it from code or an AI agent? Yes - through the Apify API and client libraries, or from Claude, ChatGPT and other assistants via the Apify MCP server.
Is it legal to scrape ImmobilienScout24? This Actor collects publicly available data only. You are responsible for using the output in compliance with applicable laws (including data-protection law where personal data is involved) and the source's terms. See the Disclaimer below.
Is this an official ImmobilienScout24 tool? No. It is an independent, third-party Actor with no affiliation to, endorsement by or sponsorship from Immobilien Scout GmbH. See the Disclaimer below.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Immobilien Scout GmbH or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
"ImmobilienScout24" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official ImmobilienScout24 product, is not authorised or certified by Immobilien Scout GmbH, and does not distribute ImmobilienScout24 software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.
Need help?
Open an issue on the Actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this Actor is actively maintained.