OrbTop

ImmobilienScout24 Real Estate Scraper

REAL ESTATE

ImmobilienScout24 Real Estate Scraper

Scrape property listings (apartments, houses, for-sale and rental) from ImmobilienScout24.de — Germany's largest real estate portal. Extracts price, living space, rooms, address, realtor, features, and images per listing.

What it does

The actor crawls ImmobilienScout24 search result pages and extracts the ~20 listings per page from the embedded IS24 JSON state (title, price, living space, rooms, address, city). By default it saves those records directly — no extra request per listing. Set includeExposeDetails to true to also fetch each listing's detail page (expose) for realtor, features, availability date, description and images. Pagination is automatic.

Input

Field Type Default Description
startUrls Array Search result URLs to scrape (e.g. https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten). Leave empty to use the default seed (apartments for rent, Germany-wide).
listingType select both Which listings to scrape: rent, sale, or both.
maxItems integer 10 Maximum number of listings to return. 0 = unlimited.
includeExposeDetails boolean false Fetch each listing's expose (detail) page for realtor name/type, features, availability date, description text and images. Slower and more expensive (1 extra request per listing) — leave off for the fields already present on the search-results page.

Output

One record per property listing with these fields:

Field Type Description
listing_id string Unique IS24 listing ID
listing_url string Full URL of the listing detail page
title string Listing headline
listing_type string rent or sale
property_type string Property type (apartment, house, etc.)
price_raw string Price as shown on site, e.g. "1.200 €"
price_amount number Numeric price value
price_currency string Currency code (EUR)
living_space_m2 number Living space in square metres
rooms number Number of rooms
address string Full address string
district string District or neighbourhood
city string City name
realtor_name string Realtor or private seller name. Only populated when includeExposeDetails is enabled.
realtor_type string realtor or private. Only populated when includeExposeDetails is enabled.
features string Comma-separated key features. Only populated when includeExposeDetails is enabled.
available_from string Date property is available. Only populated when includeExposeDetails is enabled.
description_text string Full listing description. Only populated when includeExposeDetails is enabled.
images string Comma-separated image URLs. Only populated when includeExposeDetails is enabled.
scraped_at string ISO-8601 scrape timestamp

Examples

Rent listings in Berlin:

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

For-sale houses in Munich:

{
  "startUrls": [{"url": "https://www.immobilienscout24.de/Suche/de/bayern/muenchen/haus-kaufen"}],
  "listingType": "sale",
  "maxItems": 25
}

Default Germany-wide rent search:

{
  "listingType": "rent",
  "maxItems": 100
}

With expose-page enrichment (realtor, features, description, images):

{
  "startUrls": [{"url": "https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten"}],
  "listingType": "rent",
  "maxItems": 25,
  "includeExposeDetails": true
}

Notes

  • ImmobilienScout24 turns away essentially every automated tool. This actor clears the wall for you.
  • Each page fetch is billed — see pricing details. The default run makes one request per search-results page (~20 listings); enabling includeExposeDetails adds one extra request per listing.
  • The actor runs with 512 MB memory and a 4-hour timeout.