ImmobilienScout24 Scraper - Listings, Prices, Agents & Phones avatar

ImmobilienScout24 Scraper - Listings, Prices, Agents & Phones

Pricing

$0.10 / 1,000 listings

Go to Apify Store
ImmobilienScout24 Scraper - Listings, Prices, Agents & Phones

ImmobilienScout24 Scraper - Listings, Prices, Agents & Phones

Scrape immobilienscout24.de and .at rentals and sales by search URL, place or radius: cold and warm rent, price per m², size, rooms, address, GPS, energy class, agent and phone. Optional details add the description, Impressum e-mails and purchase costs. No login, no browser.

Pricing

$0.10 / 1,000 listings

Rating

0.0

(0)

Developer

Scrapers Delight

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

What does ImmobilienScout24 Scraper do?

ImmobilienScout24 Scraper turns immobilienscout24.de and immobilienscout24.at searches into clean property data: every apartment, house, plot, flat-share room, short stay or garage for rent or for sale, with cold and warm rent or purchase price, price per m², living space, rooms, full address and GPS, energy class, equipment, the agent or landlord with their phone number, photos and listing dates. Switch on listing details to add the full description, every attribute, the provider's Impressum phones and e-mails, the purchase-cost breakdown and the site's local price range.

Also known as: ImmoScout24 scraper, IS24 scraper, ImmobilienScout24 API, Immobilien Scout scraper, German rental listings scraper.

  • 🏠 Rent and buy, every property type — apartments, houses, plots, WG rooms, Wohnen auf Zeit and garages, in Germany and Austria.
  • 🔎 Three ways in — paste any search URL with your filters, type place names ("München Schwabing"), or give a point and a radius.
  • 📞 Contact on the row — agent or landlord name, company and phone straight from the search results; details add Impressum phones and e-mails.
  • 💶 Buyer numbers — warm rent, price per m², Grunderwerbsteuer, notary and land-registry costs, broker commission, and where the price sits in the local price range.
  • 🆕 MieterPlus early-access listings included and flagged, with a filter to keep or drop them.
  • 🔁 Monitoring — deliver only new or re-priced listings on a schedule, with listings removed since the last run.
  • 🔌 JSON, CSV, Excel, API, webhooks, Make, Zapier, n8n and MCP. No login, no cookies, no browser.

What data can you get from ImmobilienScout24?

🆔 Listing id (Scout-ID) + URL💰 Price, cold rent, warm rent📐 Price per m², living space, plot area
🛏️ Rooms, bedrooms*, bathrooms*🏗️ Construction year, condition*⚡ Energy class, certificate, demand*
📍 Street, house number, postcode, city, district🌐 Latitude + longitude🧰 Balcony, kitchen, garden, cellar, lift
👤 Agent / landlord name + company📞 Phone + mobile from the search✉️ Impressum phones + e-mails*
🧾 Purchase costs: tax, notary, land registry*📊 Local price range per m² + position*🏷️ Fair-price rating, tags, commission
🆕 MieterPlus early access + until when🏢 New-build project + its units🖼️ Photos, floor plan / video / 3D tour flags
📅 Created, published, modified, days online📝 Description, equipment and location text*🔁 NEW / PRICE_CHANGED + earlier price (monitor)

* with Include listing details on (or for a listing URL / id input).

How to scrape ImmobilienScout24 with ImmobilienScout24 Scraper

  1. Create a free Apify account — the free plan includes monthly credit.
  2. Open ImmobilienScout24 Scraper and paste a search URL from immobilienscout24.de (or type a place name).
  3. Set Max results and any filters; turn on Include listing details if you need descriptions, e-mails or purchase costs.
  4. Click Start.
  5. Download the dataset as JSON, CSV or Excel, or read it through the API.

⬇️ Input

ParameterTypeDescription
startUrlsarrayimmobilienscout24.de search URLs (/Suche/...) with any filters set on the site, listing URLs (/expose/<id>) or bare ids, and immobilienscout24.at search (/regional/...) or listing URLs.
locationsarrayPlace names resolved by ImmobilienScout24's own place lookup ("Berlin", "Hamburg-Altona"), or a geo path like de/berlin/berlin.
latitude, longitude, radiusKmnumberRadius search around a point, 1-100 km. Default radius 5.
offerType, propertyTypeselectRent or buy; apartment, house, plot, short stay, WG room, garage. Default rent + apartment.
minPrice … maxConstructionYearnumberPrice (cold or warm rent via priceType), rooms, living space, construction year.
energyClasses, equipment, apartmentTypes, houseTypes, heatingTypesselectThe site's own filters (balcony, kitchen, lift, garden, cellar, guest toilet, step-free, parking…).
minFloor, maxFloor, keyword, newBuildOnly, excludeProjectUnits, commissionFreeOnly, excludeRentedOut, petsAllowed, minInternetSpeedMbpsvariousMore site filters, applied by ImmobilienScout24 itself.
sortselectNewest first (default), standard, price, size or rooms up/down.
sellerType, withPhoneOnly, withEmailOnly, postalCodes, earlyAccess, minPlotArea, maxPlotArea, postedWithinDays, postedAfter, titleIncludes, titleExcludesvariousChecked on every listing before it is delivered or charged.
includeDetailsbooleanAdds the listing details (one extra request per listing). Default off.
monitorMode, monitorStoreName, resetMonitorState, webhookUrlvariousOnly new or re-priced listings; a JSON POST with them at the end of the run.
maxResultsintegerTotal cap across searches. Default 100, 0 = no cap.
maxResultsPerSearch, startPage, compactvariousPer-search cap, resume from a page, core fields only.
searchSurfaceselectauto (default), web or app — see below.
maxConcurrency, proxyConfigurationvariousParallel detail requests (default 5); optional own proxy. Leave the proxy empty.

Input JSON

{
"startUrls": ["https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten?price=-1500.0&numberofrooms=2.0-"],
"locations": ["München Schwabing"],
"offerType": "rent",
"propertyType": "apartment",
"maxResults": 500,
"includeDetails": true,
"monitorMode": false
}

Paste a search URL when you already filtered on the site

Set every filter on immobilienscout24.de, copy the address bar and paste it. The actor keeps every parameter and walks all pages of that search; paging and page size are its job, so pagenumber in the URL is ignored (use Start page to resume).

Pick the search source only if you need to

The website search is the complete one: it lists MieterPlus early-access rentals and carries the agent's phone on each result. In our 2026-10-16 measurements the website listed 5,072 Hamburg rental apartments where the ImmoScout24 app search listed 922 (Berlin 12,812 vs 4,396; Munich purchases 5,041 vs 4,749). Auto reads the website search and, when the website asks the run's connection for human verification, carries on with the app search (that check is never answered). App is faster for very large runs; Web never switches.

⬆️ Output

A search row (website search, Hamburg, 2026-10-16), excerpt:

{
"id": "171840170",
"url": "https://www.immobilienscout24.de/expose/171840170",
"title": "Erdgeschoss in Hamburg",
"offerType": "rent",
"price": 1137.2,
"coldRent": 1137.2,
"warmRent": 1393.2,
"pricePerSqm": 17.72,
"livingSpace": 64.16,
"rooms": 2,
"energyEfficiencyClass": "A",
"balcony": true,
"builtInKitchen": true,
"street": "Holsteiner Chaussee",
"houseNumber": "193",
"postcode": "22457",
"city": "Hamburg",
"district": "Schnelsen",
"latitude": 53.62547,
"longitude": 9.90895,
"contactCompany": "DGIM Deutsche Gesellschaft für Immobilienmanagement mbH",
"contactPhone": "030 25925613",
"fairPriceRating": "FAIR_OFFER",
"isPlusExclusive": false
}

With Include listing details (purchase, Munich), excerpt of the added fields:

{
"id": "171842094",
"price": 895000,
"floor": "2 von 3",
"bedrooms": 3,
"condition": "Gepflegt",
"heatingType": "Fernwärme",
"purchaseAdditionalCosts": 70526,
"purchaseTotalCosts": 965526,
"landTransferTax": 31325,
"notaryCosts": 13425,
"landRegistryCosts": 4475,
"brokerCommissionRate": 2.38,
"areaPricePerSqmMin": 6750,
"areaPricePerSqmMax": 14950,
"pricePositionInArea": 0.23,
"agentCompany": "KENSINGTON Finest Properties International München Süd-Ost",
"agentPhones": ["0173 3573007", "+49 173 3573007"],
"agentEmails": ["muenchensuedost@kensington-international.com", "…"],
"detailsFetched": true
}

Fields and measured fill

Share of rows with a value, from local runs on 2026-10-16: website search (Hamburg rent, 100 rows; Cologne rent, 1,000 rows), app search (Hamburg rent, 100), and with details (Hamburg rent via the app, 100; Munich purchase via the website, 40). A missing value is null, never a made-up zero.

FieldWebsite searchApp searchWith details
id, url, title, price, livingSpace, rooms, postcode, city, district100%100%100%
warmRent (rentals)100%—100%
street + houseNumber, latitude / longitude62-75%75-80%33-75% (the provider hides some addresses)
constructionYear66-82%—82-96%
energyEfficiencyClass30-47%47%52-75%
balcony, builtInKitchen, garden100%—100%
contactName98-100%—100%
contactCompany57-62%—62-91%
contactPhone (search result)23-28% rent, 52% purchase——
agentPhones / agentEmails (Impressum)——62-95% / 62-91%
createdAt, publishedAt, daysOnMarket91-100%publishedLabel 100%as the search
isPlusExclusive, tags, fairPriceRating100%, 84-96%, 25-56%—as the search
description, floor, heatingType——99-100%, 79-91%, 79-82%
serviceCharge, deposit (rentals)——99%, 98%
Purchase costs (landTransferTax, notaryCosts…) (purchases)——95%
areaPricePerSqmMin/Max, pricePositionInArea (purchases)——85%
mainImageUrl, imageUrls93-99%99%99-100%

RUN_SUMMARY in the key-value store lists, per search, the site's total, pages read, the search source used, coverage, and why the search stopped.

Use cases

  • 🏢 Property managers and agencies — find new landlords and private sellers with a phone number, every morning.
  • 📈 Investors — price per m², purchase costs and the local price range for every flat in a district.
  • 🧮 Rent analysts — cold vs warm rent, size and equipment across a whole city.
  • 🔔 Flat hunters — monitor mode on a schedule: only new and re-priced listings, straight to Slack or e-mail.
  • 🗺️ Proptech and research — GPS, energy class and construction year for mapping and models.
  • 🤖 AI agents — compact rows over MCP: "two-room flats under €1,200 warm in Leipzig posted this week".

How much does it cost to scrape ImmobilienScout24?

Pay per result, no start fee: $0.0001 per listing ($0.10 per 1,000). Listing details are included in that price. Filtered, duplicate, unchanged (monitor mode) and unreachable listings are never charged.

RunListingsCost
Demo (prefill)20$0.002
Typical search100$0.01
A city district1,000$0.10
A whole city10,000$1.00

Apify's free plan credit covers thousands of listings a month.

Integrations, API, scheduling & MCP

  • Schedule the actor daily with Only new or re-priced listings on; add a Webhook URL to get the new ones as one JSON POST.
  • Make, Zapier, n8n, Google Sheets, Slack and Airtable from the Integrations tab.
  • API: run it from Python or JavaScript with apify-client, then read the dataset.
  • MCP: connect it to Claude, ChatGPT or Cursor through the MCP tab; turn on Compact rows for shorter answers.

More property scrapers

🇪🇸 Idealista Scraper
Spain, Italy and Portugal listings.
🇪🇸 Fotocasa Scraper
Spanish listings and agents.
🇬🇧 Rightmove Scraper
UK listings and agents.
🌍 Kyero Property Scraper
Spanish property + agent contacts.
🇦🇺 Realestate.com.au Scraper
Australian buy, rent and sold.
🇦🇺 Domain.com.au Scraper
Listings, sold prices and agents.

See every actor on our profile.

Limits & empty runs

  • The website search is read at about 20 pages (400 listings) a minute — it asks a connection for human verification when it reads faster. 1,000 listings took about 3 minutes; the app search did 1,000 in about a minute.
  • When the website asks for human verification it is never answered. In Auto the app search carries on (fewer big-city rentals, no phone in the search row); in Web the run stops with what it has.
  • Listing details come from ImmobilienScout24's listing data: one extra request per listing, 5 in parallel; 100 listings with details took about 11 seconds longer than without.
  • immobilienscout24.at searches read up to 100 pages (1,500 listings) per search; immoscout24.ch is a separate Swiss site and is not supported.
  • A search with no matches ends with 0 rows and nothing charged.

❓ FAQ

How much does ImmobilienScout24 Scraper cost?

$0.0001 per delivered listing, details included, no start fee. 1,000 listings cost $0.10.

How many listings can ImmobilienScout24 Scraper return?

Every listing of a search: a Berlin rental search had 12,812 on 2026-10-16. Set Max results to 0 for no cap; the website search runs at about 400 listings a minute.

Does ImmobilienScout24 Scraper return agent phone numbers and e-mails?

The search row carries the phone the agent publishes (23-52% of listings in our runs). With Include listing details you also get the phones and e-mails from the provider's Impressum (62-95%). With a phone number only and With an e-mail address only keep just those listings.

Can ImmobilienScout24 Scraper get MieterPlus early-access listings?

Yes. The website search lists them with isPlusExclusive: true and plusExclusiveUntil; MieterPlus early access keeps only them or leaves them out.

Can I schedule ImmobilienScout24 Scraper to watch a city?

Yes. Turn on Only new or re-priced listings, schedule the run daily, and add a webhook. Unchanged listings are skipped and not charged; RUN_SUMMARY lists the ones removed since the last run.

Does ImmobilienScout24 Scraper work for Austria?

Yes: paste immobilienscout24.at search (/regional/...) or listing URLs. Rows carry country: "AT".

Can I use ImmobilienScout24 Scraper with the Apify API or an MCP server?

Yes — see the API tab for Python and JavaScript, and the MCP tab for Claude, ChatGPT and Cursor.

Do I need an ImmobilienScout24 account or API key?

No. The actor reads public search results and listing data; no login, no cookies, no API key.

Why did my ImmobilienScout24 Scraper run return no results?

The search had no matches (check the URL in a browser), a filter removed every listing (RUN_SUMMARY → counters.filteredOut), or the place name was not found by the site's place lookup (the run log says so).

Your feedback

Something missing or wrong? Open an issue on the Issues tab — we read every one.