ImmobilienScout24 Real Estate Scraper avatar

ImmobilienScout24 Real Estate Scraper

Pricing

Pay per event

Go to Apify Store
ImmobilienScout24 Real Estate Scraper

ImmobilienScout24 Real Estate Scraper

Scrape property listings (apartments, houses, for-sale and rental) from ImmobilienScout24.de. Returns price, living space, rooms, address, realtor, features, and images per listing.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Categories

Share

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

FieldTypeDefaultDescription
startUrlsArraySearch 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).
listingTypeselectbothWhich listings to scrape: rent, sale, or both.
maxItemsinteger10Maximum number of listings to return. 0 = unlimited.
includeExposeDetailsbooleanfalseFetch 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:

FieldTypeDescription
listing_idstringUnique IS24 listing ID
listing_urlstringFull URL of the listing detail page
titlestringListing headline
listing_typestringrent or sale
property_typestringProperty type (apartment, house, etc.)
price_rawstringPrice as shown on site, e.g. "1.200 €"
price_amountnumberNumeric price value
price_currencystringCurrency code (EUR)
living_space_m2numberLiving space in square metres
roomsnumberNumber of rooms
addressstringFull address string
districtstringDistrict or neighbourhood
citystringCity name
realtor_namestringRealtor or private seller name. Only populated when includeExposeDetails is enabled.
realtor_typestringrealtor or private. Only populated when includeExposeDetails is enabled.
featuresstringComma-separated key features. Only populated when includeExposeDetails is enabled.
available_fromstringDate property is available. Only populated when includeExposeDetails is enabled.
description_textstringFull listing description. Only populated when includeExposeDetails is enabled.
imagesstringComma-separated image URLs. Only populated when includeExposeDetails is enabled.
scraped_atstringISO-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 blocks all standard datacenter and residential proxy egress. This actor uses Bright Data Web Unlocker server-side to clear the bot protection wall.
  • Each Bright Data request 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.