ImmobilienScout24 Property Listings Scraper avatar

ImmobilienScout24 Property Listings Scraper

Pricing

from $0.03 / 1,000 item extracteds

Go to Apify Store
ImmobilienScout24 Property Listings Scraper

ImmobilienScout24 Property Listings Scraper

Extract public ImmobilienScout24 real estate listing data for market research, lead generation, and price monitoring.

Pricing

from $0.03 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

ImmobilienScout24 scraper for extracting public property search results into a structured Apify dataset. This ImmobilienScout24 API workflow uses the proven mobile search route to collect listing IDs, prices, location, coordinates, attributes, images, flags, and pagination metadata for German real-estate research and monitoring.

At a glance

  • Primary job: Export ImmobilienScout24 search listings without manually paging through the website.
  • Input: ImmobilienScout24 search URLs or mobile API geocode paths such as /de/berlin/berlin.
  • Output: One dataset row per unique property listing.
  • Best for: Rental and sales market research, price monitoring, location analysis, and listing deduplication.

Input recipes

Berlin apartment rentals

{
"startUrls": [{ "url": "https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten" }],
"maxItems": 50
}

Munich apartment rentals by geocode

{
"geocodes": ["/de/bayern/muenchen"],
"realEstateType": "apartmentrent",
"maxItems": 50
}

House purchases

{
"geocodes": ["/de/brandenburg/potsdam"],
"realEstateType": "housebuy",
"maxItems": 100
}

Output: what data can you extract?

FieldDescription
listingIdStable ImmobilienScout24 expose ID for deduplication.
urlPublic listing URL.
sourceUrlSearch URL or generated API source for the row.
titleListing headline.
realEstateType, listingTypeSearch/listing type values exposed by the source.
price, priceRawParsed numeric price and original price text.
livingAreaSqm, livingAreaRawParsed living area and original area text.
rooms, roomsRawParsed room count and original room text.
address, city, postalCodePublic address line and parsed locality fields.
latitude, longitudeListing coordinates when exposed.
publishedSource-published label.
energyEfficiencyClassEnergy class when present in search results.
isProject, isPrivate, isNewObject, liveVideoTourAvailable, listOnlyOnIs24Listing flags exposed by the mobile result.
attributes, tagsAdditional result attributes and badges.
imageUrls, titlePictureUrl, realtorLogoUrlPublic image/logo URLs from the search result.
reportUrlSource report URL when available.
searchPageNumber, searchTotalResultsPagination context.
scrapedAtISO timestamp when the row was saved.

Input configuration

SettingJSON keyUse it forExample
Search URLsstartUrlsImmobilienScout24 search URLs for supported apartment/house rent/buy searches.https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten
GeocodesgeocodesDirect region paths for the mobile search API./de/bayern/muenchen
Real estate typerealEstateTypeProperty and transaction type for geocode inputs.apartmentrent
Maximum listingsmaxItemsCap saved rows and control spend.50
Page sizepageSizeResults requested per page, up to 50.50

Pricing and limits

This Actor uses pay-per-event pricing. A run-start event is charged once when the Actor starts, and an item event is charged for each unique ImmobilienScout24 listing saved to the dataset. See the live Pricing tab for current rates.

Tips for best results

  • Start with maxItems: 10 or 50 to validate the region and type.
  • Use specific city/region search URLs or geocodes for faster, cleaner output.
  • Schedule repeated runs and compare listingId, price, and scrapedAt for monitoring.

Limits and caveats

  • Search results do not expose every detail-page field. Phone numbers, agent names, and full descriptions are intentionally not guessed.
  • Very broad searches can span many pages; use maxItems to control runtime and spend.
  • Source data can change, disappear, or become temporarily unavailable.

Who is it for?

  • Real-estate analysts tracking rental or sales inventory by German city.
  • PropTech teams enriching dashboards with listing IDs, coordinates, and price fields.
  • Agencies and investors monitoring market supply and listing changes over time.
  • Automation builders who need CSV, Excel, JSON, API, or MCP access to ImmobilienScout24 property listings.

API usage

Node.js:

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor("fetch_cat/immobilienscout24-property-listings-scraper").call({
geocodes: ["/de/berlin/berlin"],
realEstateType: "apartmentrent",
maxItems: 50
});
console.log(run.defaultDatasetId);

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("fetch_cat/immobilienscout24-property-listings-scraper").call(run_input={
"geocodes": ["/de/berlin/berlin"],
"realEstateType": "apartmentrent",
"maxItems": 50,
})
print(run["defaultDatasetId"])

cURL:

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~immobilienscout24-property-listings-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"geocodes":["/de/berlin/berlin"],"realEstateType":"apartmentrent","maxItems":50}'

MCP and AI agents

Use this Actor from MCP-compatible tools through the official Apify MCP Server.

$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/immobilienscout24-property-listings-scraper"
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=fetch_cat/immobilienscout24-property-listings-scraper"
}
}
}

Example prompts:

  • "Run ImmobilienScout24 Property Listings Scraper for Berlin apartment rentals and summarize average price from the dataset."
  • "Export 20 Munich ImmobilienScout24 listings and list IDs with coordinates for monitoring."

FAQ

Can I export results?

Yes. Apify datasets support JSON, CSV, Excel, XML, RSS, and API access.

Why are some fields empty?

ImmobilienScout24 search results expose different fields per listing. Empty optional fields mean the source did not provide that value in the search response.

Support

Open an issue from the Actor page if a run fails or output looks wrong. Include the run ID or run URL, input JSON, expected output, and actual output.