ImmobilienScout24 Scraper - ImmoScout24 German Real Estate avatar

ImmobilienScout24 Scraper - ImmoScout24 German Real Estate

Pricing

from $0.85 / 1,000 listings

Go to Apify Store
ImmobilienScout24 Scraper - ImmoScout24 German Real Estate

ImmobilienScout24 Scraper - ImmoScout24 German Real Estate

[Limited Launch Offer $1/1K] ImmoScout24 scraper: rent and buy listings by city, district or URL with price, size, rooms, coordinates and full details. No result limit. No login.

Pricing

from $0.85 / 1,000 listings

Rating

0.0

(0)

Developer

Scrape With Me

Scrape With Me

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

ImmoScout24 Scraper — German real estate listings from ImmobilienScout24, no result limit

Scrape ImmobilienScout24 by city, district or state, or paste a search URL. You get one row per listing: price, living space, rooms, address with postal code, city and coordinates, publication age, energy class, images and the link. Switch on Full details and every row also carries the description, equipment, location text, costs, building and energy data, all image links and the provider (company, phones, address). It covers apartments and houses for rent and for sale, flat-share rooms, garages, investment properties and commercial space. No login, no API key, no browser, and no result limit: a whole city or state comes back in one run.

Why this ImmoScout24 scraper

  • Everything, not the first 1,000. The scraper reads ImmobilienScout24's own JSON interface page by page (50 listings per request). All 4,400 Berlin rentals take about 2 minutes; a whole state with 20,000 listings is one run.
  • Place names are enough. Type Berlin, Hamburg Altona or Bayern; the region is looked up the way the app does it. Search URLs from your browser work too.
  • All listing types. Apartments and houses to rent or buy, flat-share rooms, garages, investment properties, commercial.
  • Price, size and rooms as numbers, plus latitude and longitude for maps and distance calculations.
  • Optional full details. Description, equipment, location text, total rent, additional costs, deposit, construction year, heating, energy data, floor, availability, all images and the provider's contact. Charged only for the listings you save.
  • Privacy built in. For private sellers the name and phone are never saved, only company listings carry contact data.
  • Cheap and fast. Under 1 KB of traffic per listing, direct requests (no proxy bill); the scraper switches to a residential proxy by itself only if ImmobilienScout24 starts refusing requests.

Use cases: German property market data

  • Investors and analysts: asking rents and prices per square metre by city, district or postcode.
  • Agents and brokers: competitor listings, provider names and stock in a region.
  • Proptech and apps: a fresh listing feed for a map, an alert or a valuation model.
  • Researchers and journalists: rent levels, new-build share, furnished flats and energy classes across states.
  • Relocation and corporate housing: all flats under a budget near an office, exported to Excel every morning.

Input example

{
"regions": ["Berlin", "Hamburg"],
"listingTypes": ["apartment_rent"],
"priceTo": 1500,
"roomsFrom": 2,
"maxResultsPerSearch": 500,
"includeDetails": false
}

Search URLs work too: {"searchUrls": ["https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten?price=-1200"]}.

FieldWhat it does
regionsCities, districts or states by name (München, Hamburg Altona, Bayern) or a geo path (/de/bayern/muenchen)
listingTypesapartment_rent, apartment_buy, house_rent, house_buy, flatshare_room, garage_rent, garage_buy, investment, industry, trade_site
searchUrlsImmoScout24 city, district or state search pages (radius and map searches are not supported)
priceFrom / priceToRent (total rent) or purchase price in EUR
roomsFrom / roomsTo, livingSpaceFrom / livingSpaceToRooms and square metres
extraParametersMore ImmoScout24 filters as key-value pairs, e.g. {"constructionyear": "2015-"}
maxResultsPerSearchListings per region and listing type (0 = all)
maxItemsCap for the whole run
includeDetailsOpen every saved listing for description, costs, energy data, images and provider
proxyConfigurationDefault: none. A residential proxy is used automatically if the site refuses requests

Output example

{
"listingId": "170926900",
"url": "https://www.immobilienscout24.de/expose/170926900",
"title": "Großes & möbliertes all-inclusive City-Apartment zentral in Eimsbüttel",
"realEstateType": "apartmentrent",
"price": 1104,
"currency": "EUR",
"livingSpaceM2": 52.24,
"rooms": 2,
"address": "Oberstraße 14a-c, 20144 Hamburg, Harvestehude",
"postalCode": "20144",
"city": "Hamburg",
"latitude": 53.57673,
"longitude": 9.97903,
"published": "vor einem Monat",
"isPrivate": false,
"images": ["https://pictures.immobilienscout24.de/listings/…/ORIG/resize/800x600>/format/webp/quality/80"],
"hasDetails": true,
"additionalCosts": 396.12,
"totalRent": 1500,
"pricePerM2": 21.13,
"constructionYear": 1955,
"floor": "10 von 14",
"heatingType": "Fußbodenheizung",
"condition": "Gepflegt",
"availableFrom": "01.11.2026",
"bedrooms": 1,
"bathrooms": 1,
"energyCertificate": "liegt zur Besichtigung vor",
"description": "…",
"equipment": "…",
"locationDescription": "…",
"attributes": { "Wohnungstyp": "Etagenwohnung", "Einbauküche": true, "Baujahr": "1955" },
"detailImageCount": 15,
"contact": { "company": "Placed GmbH", "name": "DIE ZIMMEREI", "profileUrl": "https://www.immobilienscout24.de/anbieter/…" },
"scrapedAt": "2026-10-15T16:45:43Z"
}

Rows without Full details stop after images/realtorLogoUrl. The OUTPUT record lists, per search, how many results ImmobilienScout24 reports, how many were saved and how many pages were read; INPUT_STATUS says whether each region or URL was found, empty or could not be checked.

Run it on a schedule and connect it to your tools

Schedule: in Apify Console open Schedules → Create, pick this actor and your input, and run it every morning to watch new listings and rents in your region. Each run returns the full, current result set as a new dataset.

Integrations (Actor → Integrations tab, no code):

  • Google Sheets — append every run's listings to a sheet.
  • Make, Zapier, n8n — start the actor from a scenario/zap/workflow and use the listings in the next steps.
  • Webhook — get a POST to your endpoint when a run succeeds, then download the dataset.
  • Slack / email — notify your team when a scheduled run finishes.

AI agents (MCP) — Claude, ChatGPT, Cursor, VS Code or any MCP client can run it as a tool: add the Apify MCP server https://mcp.apify.com?actors=kalilfagundes.w/immoscout24-scraper (sign in with your Apify account) and ask for the data in plain language. The agent fills the input from the input schema and reads the dataset back.

API — call it from your code (pip install apify-client / npm i apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("kalilfagundes.w/immoscout24-scraper").call(run_input={
"regions": ["Berlin"],
"listingTypes": ["apartment_rent"],
"priceTo": 1500,
"maxResultsPerSearch": 500,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["price"], item["livingSpaceM2"], item["city"], item["url"])
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('kalilfagundes.w/immoscout24-scraper').call({
regions: ['Berlin'],
listingTypes: ['apartment_rent'],
priceTo: 1500,
maxResultsPerSearch: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Pricing

Pay per result, platform usage included:

EventPrice
Listing saved$1.00 per 1,000 listings
Full details of a listing (only with includeDetails)+$1.50 per 1,000 listings
Run start$0.002

Example: all 4,400 Berlin rentals ≈ $4.40; with full details ≈ $11. Apify subscribers get tier discounts automatically. Set maxItems to cap the cost of a run.

FAQ and limits

  • Does it need an ImmobilienScout24 login or API key? No.
  • Is there a limit of results per search? No. The website stops early, this interface pages through every result.
  • Which URLs work? City, district and state searches such as …/Suche/de/berlin/berlin/wohnung-mieten. Radius and map searches are not supported: use a region name instead.
  • Postcodes? Not as a region. Search the city or district and filter by postalCode in the output.
  • Contact data: only for listings by companies. The name and phone of private sellers are not collected.
  • Price per square metre is pricePerM2 in details; without details compute price / livingSpaceM2.
  • Fair use: ImmobilienScout24 may restrict automated access in its terms. Use the data in line with them and with the GDPR; keep schedules reasonable.

Auf Deutsch

Dieser Actor liest ImmobilienScout24-Angebote nach Stadt, Stadtteil oder Bundesland aus: Mieten und Kaufen von Wohnungen und Häusern, WG-Zimmer, Garagen, Anlageobjekte und Gewerbe. Ergebnis: Preis, Wohnfläche, Zimmer, Adresse mit Koordinaten, Bilder und Link; mit „Full details“ zusätzlich Beschreibung, Ausstattung, Kosten, Energiedaten und Anbieter. Ohne Login, ohne Ergebnislimit, Export als Excel, CSV oder JSON. Für private Anbieter werden Name und Telefonnummer nicht gespeichert.

Feedback

Found a missing field or a region that returns nothing? Open an issue on the Actor page and it will be looked at.