ImmobilienScout24 Scraper - Germany Real Estate avatar

ImmobilienScout24 Scraper - Germany Real Estate

Pricing

from $1.65 / 1,000 listing scrapeds

Go to Apify Store
ImmobilienScout24 Scraper - Germany Real Estate

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

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

6 days ago

Last modified

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 ActorCopying listings by hand
Any search URL, buy or rent, every property typeYesYes, one listing at a time
Price, size, rooms, address, coordinates as columnsYesYou retype them
Full cost breakdown: cold rent, service charge, heating, deposit, commissionYesYou open every listing
Features, year built, condition, heating, energy classYesYou open every listing
Full description texts and every photoYesCopy-paste per listing
Agency, contact person, phone and agent ratingYesYou open every listing
Your website filters (price, size, rooms, features, newest first ...) carried throughYesYes
Duplicates across overlapping searches removedYesNo
Runs on a schedule, exports to Sheets, CSV, JSON or an APIYesNo

What you get

FieldTypeMeaning
id / urlstringImmoScout24 listing id and its immobilienscout24.de/expose/<id> link
titlestringListing headline
propertyType / marketingTypestringApartmentBuy, ApartmentRent, HouseBuy, HouseRent, FlatShareRoom ... and PURCHASE or RENT
price / currency / priceIntervalTypenumber / stringPurchase price, or cold rent on rentals (empty when the listing says "Preis auf Anfrage"); EUR; ONE_TIME_CHARGE or MONTH
pricePerSqmnumberPrice divided by living space, computed for you
totalRent / baseRent / serviceCharge / heatingCosts / depositnumber / stringThe rent breakdown on rentals
buyerCommission / commissionFreestring / booleanCommission the buyer pays, and whether the listing is commission-free for buyers
livingSpaceSqm / plotAreaSqm / usableAreaSqm / rooms / bedrooms / bathroomsnumberSizes and room counts
street / houseNumber / postcode / city / quarter / fullAddressstringAddress, 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 / longitudenumberCoordinates for precisely addressed listings
floor / numberOfFloors / apartmentTypestring / numbere.g. "4 von 4", "Dachgeschoss", "Doppelhaushälfte"
availableFromstringMove-in date as listed, e.g. "01.07.2026", "sofort"
constructionYear / lastRefurbishment / condition / interiorQualitynumber / stringYear built, last modernisation, condition, finish quality
heatingType / energySource / energyConsumption / energyEfficiencyClass / energyCertificateType / hasEnergyCertificatestring / booleanHeating and energy-certificate data
builtInKitchen / balcony / garden / lift / cellar / barrierFree / guestToiletbooleanFeature flags (a real false stays false)
parkingSpaces / parkingTypenumber / stringGarage or parking places and their kind; on a garage listing, the kind of space (e.g. "Tiefgarage", "Außenstellplatz")
petsAllowedstringWhether pets are allowed, as the listing states it ("Ja", "Nein", "nach Vereinbarung")
description / equipmentDescription / locationDescription / otherDescriptionstringThe listing's full texts
images / imagearray / stringEvery photo in large size (floor plans excluded) and the main photo
hasFloorplan / floorplanUrl / energyCertificateUrl / hasVideo / hasVirtualTourboolean / stringMedia and documents: the floor plan (image or PDF), the energy certificate PDF, video and virtual-tour flags
agentCompany / contactName / contactPhone / agentRating / agentProfileUrlstring / numberThe advertising agency, its contact person and phone, rating and profile
privateOfferbooleanPrivate advertiser vs professional
tagsarrayBadges such as "Online-Besichtigung möglich"
listingTier / isNewListing / isOnlyOnIs24string / booleanImmoScout24 placement tier, new-listing and exclusive flags
isNewBuildProject / projectName / groupedCount / houseBuilderOfferboolean / string / number / stringNew-build flag, the new-build project's name, units in the same project, and the builder name on grouped house-building offers
publishedText / publishedDatestringHow long the listing has been online, as ImmoScout24 shows it ("vor 2 Tagen"), and the date for listings online for days
objectNumberstringThe advertiser's own reference
attributesobjectEvery attribute the listing shows, label to value, verbatim
detailsIncludedbooleanWhether the full listing record was read for this row
type, sourceUrl, scrapedAtstringRecord 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

  1. Run a search on immobilienscout24.de: choose buy or rent, the property type and the city or district, and set any filters you like.
  2. Copy the URL from your browser's address bar.
  3. Paste it into immobilienscout24.de search URLs (one per line, as many as you want) and set Max pages per URL.
  4. 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

SearchExampleWorks
Apartments for sale / for rentimmobilienscout24.de/Suche/de/berlin/berlin/wohnung-kaufen · .../wohnung-mietenYes
Houses for sale / for rent.../haus-kaufen · .../haus-mietenYes
A district.../Suche/de/berlin/berlin/friedrichshain-friedrichshain/wohnung-kaufenYes
New-build searches and feature searches.../neubauwohnung-kaufen · .../wohnung-mit-balkon-mietenYes
Shared-flat rooms, plots, garages.../wg-zimmer · .../grundstueck-kaufen · .../garage-mietenYes
Radius searches (pin + distance).../Suche/radius/wohnung-kaufen?...&geocoordinates=...Yes
Any of the above with filters and sort orderprice, size, rooms, features, newest first, price up or down ...Yes
A single listing pageimmobilienscout24.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, contactName and contactPhone are filled for professional advertisers only (the agency's business contact); for a private listing they are empty and privateOffer is true. 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; publishedDate turns it into a date when it is counted in hours or days. Exact publication and modification timestamps are not available, so publishedAt and modifiedAt stay empty, as does projectUrl (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 petsAllowed column 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:

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, with no account and 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:

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, attributes and 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.