ImmobilienScout24 Scraper 🇩🇪 (market data + agent contact) avatar

ImmobilienScout24 Scraper 🇩🇪 (market data + agent contact)

Pricing

from $1.22 / 1,000 listing founds

Go to Apify Store
ImmobilienScout24 Scraper 🇩🇪 (market data + agent contact)

ImmobilienScout24 Scraper 🇩🇪 (market data + agent contact)

Search ImmobilienScout24.de and get clean JSON: price, size, rooms, address with zip code, energy class, features and the listing agent. Rent or buy, any German city. Monitor mode alerts you on new listings only, with a Slack digest. One all-in price per listing, platform usage included.

Pricing

from $1.22 / 1,000 listing founds

Rating

0.0

(0)

Developer

Tagada Data

Tagada Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

6 days ago

Last modified

Share

ImmobilienScout24 Scraper

Search ImmobilienScout24.de, Germany's biggest property portal, and get every listing as a clean row of data: price, living space, rooms, the full address with zip code, features, energy data and the agent behind the listing. Works for rentals and sales in any German city, down to a single district. Run it once for a market snapshot, or on a schedule with monitor mode to get only the listings that are new since your last run, straight to Slack if you want.

No API key, no setup, nothing to configure. Reliability is handled for you, and you only pay for listings you actually get back.

Who uses this

  • Property investors watching a city or district for new deals, with price per square meter and year built ready to filter in a spreadsheet.
  • Relocation and rental agencies who need new rental listings the hour they appear, not when the email alert digest arrives.
  • Agents and appraisers pulling comparables for a valuation: asking prices, sizes and conditions for a whole neighbourhood in one run.
  • Market researchers and proptech teams tracking rents, supply and time-on-market across German cities.
  • Data teams who want German real estate as tidy JSON instead of copying listings by hand.

What you get

One record per listing:

FieldDescription
title, urlListing title and direct link
priceCold rent for rentals, purchase price for sales (€)
totalRent, serviceChargeWarm rent and service charge for rentals
livingSpace, rooms, plotAreaSize in m² and room count
street, houseNumber, zipCode, city, district, quarter, stateFull address, as exact as the listing publishes it
lat, lonCoordinates
yearConstructed, condition, flatTypeBuilding data
heatingType, energyEfficiencyClassEnergy data
hasBalcony, hasCellar, hasLift, hasKitchen, hasGarden, parkingSpaceFeatures
agentName, agentCompany, agentRatingWho advertises it, or private offer
isPrivateOffer, isNewConstruction, buyerCommissionOffer flags
descriptionThe listing text
isNewIn monitor mode, whether the listing is new since the last run

Input examples

Apartments for rent in Berlin, newest first:

{
"location": "Berlin",
"propertyType": "apartment-rent",
"maxListings": 100
}

Houses for sale up to 800k in a Hamburg district, at least 4 rooms:

{
"location": "Hamburg Blankenese",
"propertyType": "house-buy",
"priceMax": 800000,
"roomsMin": 4
}

Scheduled monitor that posts new Munich rentals to Slack:

{
"location": "München",
"propertyType": "apartment-rent",
"priceMax": 2000,
"monitorMode": true,
"webhookUrl": "https://hooks.slack.com/services/XXX/YYY/ZZZ"
}

Every input

InputTypeDefaultWhat it does
locationstring(required)A German city, district or area, spelled as on immobilienscout24.de (Berlin, München, Hamburg Blankenese).
propertyTypestringapartment-rentRent or buy, and what: apartments, houses, investment properties, building plots or parking.
priceMinintegernoneMinimum cold rent (rentals) or purchase price (sales), in €.
priceMaxintegernoneMaximum cold rent (rentals) or purchase price (sales), in €.
roomsMinintegernoneMinimum number of rooms.
sizeMinintegernoneMinimum living space in m².
withDetailsbooleantrueOpen every listing for the full record: exact street and zip, service charge, year built, features, energy data and the agent. Off gives you faster list-level rows (price, size, rooms, approximate address).
maxListingsinteger100How many listings to return, newest first. The ceiling depends on withDetails: 400 with it on, 5,000 with it off. A higher number is lowered to the ceiling for the mode, with a line in the log.
monitorModebooleanfalseReturn and charge for newly published listings only, across scheduled runs.
webhookUrlstringnoneWhere monitor mode posts its digest of new listings (Slack incoming webhook or any endpoint taking {"text": "..."}).

How monitor mode works

Turn on monitorMode and schedule the actor (hourly or daily). The first run records the current listings as a baseline. Every run after that returns, and charges for, only listings that are new since the previous run, and posts them to your webhook if you set one. In a market where the good apartments are gone in hours, being first matters; a scheduled monitor run costs you a handful of new listings, not the whole market each time.

Output sample

{
"id": "156234789",
"url": "https://www.immobilienscout24.de/expose/156234789",
"title": "Helle 3-Zimmer-Wohnung mit Balkon in Prenzlauer Berg",
"propertyType": "apartment-rent",
"price": 1480,
"totalRent": 1795,
"serviceCharge": 315,
"livingSpace": 86.5,
"rooms": 3,
"addressLine": "Sredzkistraße 14, 10435 Berlin",
"street": "Sredzkistraße",
"houseNumber": "14",
"zipCode": "10435",
"city": "Berlin",
"district": "Prenzlauer Berg",
"quarter": "Pankow",
"state": "Berlin",
"lat": 52.5389,
"lon": 13.4188,
"yearConstructed": 1904,
"condition": "Modernisiert",
"flatType": "Etagenwohnung",
"heatingType": "Zentralheizung",
"energyEfficiencyClass": "D",
"hasBalcony": true,
"hasCellar": true,
"hasLift": false,
"hasKitchen": true,
"hasGarden": false,
"parkingSpace": "Keine",
"petsAllowed": "Nach Vereinbarung",
"isPrivateOffer": false,
"isNewConstruction": false,
"buyerCommission": false,
"agentName": "Julia Brandt",
"agentCompany": "Brandt Immobilien GmbH",
"agentRating": 4.6,
"pictureUrl": "https://pictures.immobilienscout24.de/listings/8a1b2c3d.jpg",
"pictureCount": 12,
"publishedText": "Heute",
"isNew": true,
"retrievedAt": "2026-08-05T09:14:22.317Z"
}

Pricing

You pay per listing returned, platform usage included in the price. No subscription. Users on higher Apify plans get automatic discounts.

EventPriceWhen
Run started$0.005Flat, once per run
Listing found$1.75 per 1,000Per listing returned with its data
Digest sent$0.03Monitor mode only, per Slack/webhook digest actually posted

FAQ

Which locations work? Any city, district or area on immobilienscout24.de, for example "Berlin", "Frankfurt am Main" or "München Schwabing". The actor resolves the name the same way the site's own search box does.

Rent or buy? Both. Pick a propertyType: apartments and houses for rent or sale, plus investment properties, building plots and parking.

How exact are the addresses? As exact as the listing publishes. Most agent listings carry the street and house number; some show only the zip code and district, and the record then says so.

Do I need an API key, account or proxy? No. Nothing to set up. The site limits how much a single address can pull, and the actor spreads its requests for you so large and frequent runs keep working. That is included in the price per listing.

What does "Full details per listing" do? With it on (the default), every listing is opened for the complete record including exact address, service charge, year built, features and the agent. Turn it off for faster list-level runs with just price, size, rooms and the approximate address.

How many listings can one run return? It depends on withDetails. With it on (the default) the ceiling is 400, which is what a run delivers inside the default one-hour run timeout when every listing costs a second request to its expose page. Turn it off and the ceiling is 5,000, because those rows already come back in the search response. Ask for more than the mode allows and the run lowers it and says so in the log. For the big jobs raise the run timeout too (Run options → Timeout); if a run does reach its time limit it stops in time, keeps and charges everything already collected, and says so in its status message — listings it did not get to open ship with their list-level fields.

Does it cover ImmobilienScout24.ch? No, this actor is for the German site (.de) only.


ImmobilienScout24 scraper, immoscout24 data, German real estate data, Wohnung mieten Berlin data, Immobilien scraper, German property listings, real estate monitoring Germany, immo data extraction, apartment listings API Germany.