ImmobilienScout24 Scraper — Germany Real Estate avatar

ImmobilienScout24 Scraper — Germany Real Estate

Pricing

from $1.50 / 1,000 results

Go to Apify Store
ImmobilienScout24 Scraper — Germany Real Estate

ImmobilienScout24 Scraper — Germany Real Estate

Scrape real estate listings from ImmobilienScout24.de — Germany's #1 property portal. Fast JSON API extraction, no browser or API key. Filter apartments, houses, plots & garages (buy/rent) by city, price (EUR), m², rooms & year. Returns price, €/m², GPS, address, agent contact, features & images.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

6 days ago

Last modified

Share

ImmobilienScout24 Scraper — German Real Estate Search Listings (No API Key)

ImmobilienScout24 Scraper — Germany Real Estate Data Extractor No API key Pay per result Real Estate Export

Scrape property search results from ImmobilienScout24.de (IS24) — apartments, houses, plots, garages, WG rooms, investment properties and compulsory auctions for sale (kaufen) or rent (mieten). The default output is intentionally list-level: listing ID, title/type, displayed price/area/rooms when the search card contains them, address summary or coordinates when supplied, list images, listing URL and search provenance. Data comes from the IS24 mobile JSON API with no browser, API key or login.

Optional expose enrichment can add rent/price breakdowns, property features, full address components, agent contact and a larger image gallery, but it is disabled by default and is not guaranteed for every listing. Use detailsFetched to distinguish enriched rows from list-only rows.

🏆 Why this ImmobilienScout24 scraper?

List-level-first output · default cap of 100 listings · 240-second API-work budget · direct mobile JSON API (no browser, no WAF) · optional best-effort expose enrichment · residential-proxy ready · export to JSON / CSV / Excel. An unofficial ImmobilienScout24 API alternative for search monitoring and real-estate research.


✨ What this Actor does / Key features

  • 🏠 12 real estate types — apartments, houses, plots/land, garages, short-term stays, flat-share rooms (WG), investment properties, new-build house types and compulsory auctions, for sale or rent.
  • 📍 City & district targeting — enter any German location by name (Berlin, München, Hamburg, Prenzlauer Berg, Frankfurt am Main); names auto-resolve to IS24 geocodes. Raw geocodes are supported too.
  • 💰 Powerful filters — price range (EUR), living-space range (m²), room range, construction-year range, new-build only and commission-free (provisionsfrei) only.
  • 🔀 Flexible sorting — newest first, price, living space or rooms, ascending or descending, plus IS24 relevance.
  • 🗺️ List-level location data — address summary and latitude/longitude when IS24 includes them in the search payload; unavailable values remain null.
  • 🧱 Optional property detail — opt-in, best-effort expose enrichment may add year built, condition, heating, feature flags and full address components.
  • 👤 Optional agent contact data — agent name, company, phone and rating are returned only when expose enrichment succeeds and IS24 supplies them.
  • 🖼️ Search-card images — main image plus list-provided image URLs; a larger gallery is optional expose data.
  • Direct API extraction — reads IS24's own mobile JSON endpoints; no headless browser, no AWS WAF challenge, no __NEXT_DATA__ scraping.
  • ⏱️ Deadline-aware runs — requests and retries respect timeBudgetSecs; collected list rows are kept when the budget is reached.
  • 🛡️ Proxy support — Apify Proxy integration; residential + country=DE strongly recommended.

🚀 Quick start (3 steps)

  1. Configure — type one or more German locations (e.g. Berlin, München) and pick a real estate type such as apartmentbuy or apartmentrent. Add price/space/room filters if you want.
  2. Run — click Start. The Actor resolves each location, paginates the mobile API, and streams listings into your dataset.
  3. Get your data — open the Output tab and export to JSON, CSV, Excel or XML, or pull it via the Apify API.

📥 Input

All fields are optional. If locations is empty, the Actor searches Berlin by default.

Example — apartments for sale in Berlin & München

{
"locations": ["Berlin", "München"],
"realEstateType": "apartmentbuy",
"priceMin": 200000,
"priceMax": 600000,
"livingSpaceMin": 50,
"livingSpaceMax": 100,
"roomsMin": 2,
"roomsMax": 3,
"sort": "newest",
"fetchDetails": false,
"maxListings": 100,
"timeBudgetSecs": 240,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "DE" }
}

Example — commission-free rentals in Hamburg (lead generation)

{
"locations": ["Hamburg"],
"realEstateType": "apartmentrent",
"noCommissionOnly": true,
"sort": "newest",
"maxListings": 100,
"timeBudgetSecs": 240
}

Example — new-build developer offers in Frankfurt am Main

{
"locations": ["Frankfurt am Main"],
"realEstateType": "apartmentbuy",
"newBuildingOnly": true,
"fetchDetails": false,
"maxListings": 100,
"timeBudgetSecs": 240
}
FieldTypeDescription
locationsarrayGerman city/district/quarter names or raw IS24 geocodes. Each becomes its own task (e.g. Berlin, München, 1276003001). Empty input defaults to Berlin.
realEstateTypestringapartmentbuy, apartmentrent, housebuy, houserent, livingBuySite, garagebuy, garagerent, shortTermAccommodation, flatShareRoom, investment, compulsoryAuction or houseType.
priceMin / priceMaxintegerPrice range in EUR (purchase price for buy, base rent for rent). 0 = no bound.
livingSpaceMin / livingSpaceMaxintegerLiving-space range in m². 0 = no bound.
roomsMin / roomsMaxintegerRoom-count range (0–20). 0 = no bound.
constructionYearMin / constructionYearMaxintegerConstruction-year range. 0 = no bound.
newBuildingOnlybooleanRestrict to new-build (Neubau) listings only.
noCommissionOnlybooleanRestrict to commission-free (provisionsfrei) listings only.
sortstringnewest, price_asc/desc, living_space_asc/desc, rooms_asc/desc or standard (relevance).
fetchDetailsbooleanBest-effort expose enrichment. Default false; one attempt per listing, with a run-wide circuit breaker after two consecutive failures.
maxListingsintegerTotal cap across all location tasks. Default 100; 0 removes the count cap, but the time budget still applies.
maxPagesPerTaskintegerPagination depth per location (20 listings per page).
timeBudgetSecsintegerWall-clock budget for API work. Default 240; requests, retry waits and pagination stop at the deadline while collected rows are kept.
requestDelayintegerDelay between API requests in ms (keep ≥ 300 ms).
maxRetriesintegerRetries for geo/count/search-list requests on transient HTTP/proxy errors. Detail requests are never retried.
proxyConfigurationobjectApify Proxy settings. Residential + country=DE strongly recommended.

Finding a location: just type the city or district name — Berlin, Hamburg, München, Köln, Frankfurt am Main, Prenzlauer Berg, Charlottenburg. The Actor calls IS24's geo-autocomplete to resolve the name to the correct geocode automatically. For a pinpoint match you can also paste the raw numeric geocode (e.g. Berlin = 1276003001).

📤 Output

One row per listing, exportable to JSON, CSV, Excel or XML. This default list-level example shows the stable record shape; values that IS24 omits or that cannot be parsed safely are null:

{
"id": "155123456",
"detailUrl": "https://www.immobilienscout24.de/expose/155123456",
"title": "Moderne 3-Zimmer-Wohnung mit Balkon in Prenzlauer Berg",
"realEstateType": "apartmentbuy",
"transactionType": "buy",
"listingType": "premium",
"isPrivate": false,
"isProject": false,
"isNewObject": true,
"publishedRelative": "3 days ago",
"price": 545000,
"currency": "EUR",
"pricePerSqm": 7266.67,
"livingSpaceSqm": 75,
"rooms": 3,
"addressLine": "10435 Berlin, Prenzlauer Berg",
"latitude": 52.5389,
"longitude": 13.4108,
"mainImageUrl": "https://pictures.immobilienscout24.de/.../image.jpg",
"imageUrls": ["https://pictures.immobilienscout24.de/.../image.jpg"],
"imageCount": 1,
"detailsFetched": false,
"searchLocationInput": "Berlin",
"searchGeocode": "1276003001",
"searchGeoLabel": "Berlin",
"searchRealEstateType": "apartmentbuy",
"scrapedAt": "2026-07-06T12:00:00.000Z"
}

💡 Use cases

  • Market research — compare displayed price, area and room signals where those values are present on search cards.
  • Inventory monitoring — track listing IDs, titles, publish labels and links across repeated runs.
  • Optional enrichment workflows — use only rows with detailsFetched: true for expose-only property or agent fields, and validate coverage before analysis.
  • Price tracking — re-run on a schedule and diff against prior datasets using id and publishedRelative.
  • New-build monitoring — set newBuildingOnly: true to track Neubau projects and developer inventory.
  • Cross-city comparison — pass multiple locations in one run and compare available list-level signals across Berlin, München, Hamburg, Köln and Frankfurt.

👥 Who uses it

Real-estate agencies & proptech teams · property investors · relocation services · market researchers & data journalists · teams building listing-monitoring and downstream-validation pipelines.

💰 Pricing

This Actor runs on a simple pay-per-result model — you pay for the listings you extract, with no separate Apify platform fees to calculate. Try it on the free tier first, then scale up. See the Pricing tab on this page for the current rate.

❓ Frequently Asked Questions

Is it legal to scrape ImmobilienScout24? The Actor only collects publicly available property listing data. You are responsible for using the data in compliance with ImmobilienScout24's terms and applicable laws such as the GDPR.

Does ImmobilienScout24 have a public API? ImmobilienScout24 does not offer an open public data API for browsing listings. This Actor reads the portal's own mobile JSON endpoints instead, giving you structured German real estate data without any API key.

Is this an ImmobilienScout24 API alternative? Yes. IS24 has no open public listings API, so this Actor works as an unofficial ImmobilienScout24 API alternative — it reads the portal's mobile JSON endpoints and returns structured German real estate data with no API key and no scraping of the WAF-protected website.

Can I scrape ImmobilienScout24 without an API or login? Yes. No IS24 account, login or API key is needed — only an Apify account and a proxy. The Actor pulls publicly available property listings over direct HTTP from the mobile backend.

Do I need a proxy? Yes. Apify Proxy is required, and residential with country=DE is strongly recommended — the mobile API is served from Germany, so German residential IPs are the most reliable. The public IS24 website is protected by an AWS WAF JavaScript challenge, which this Actor avoids entirely by using the mobile API.

How do I target a specific city or district? Just type the name (Berlin, München, Prenzlauer Berg) into locations. The Actor calls IS24's geo-autocomplete to resolve it to the right geocode. To pin an exact area, paste the numeric geocode directly.

How do I scrape apartments for sale in Berlin from ImmobilienScout24? Set locations to ["Berlin"], realEstateType to apartmentbuy, and optionally add price and living-space filters. The default output contains list-level rows; displayed price, area, rooms, address summary and coordinates are populated only when the search payload supplies them. Enable fetchDetails only if you accept best-effort enrichment.

What is the difference between base rent and total rent? For rentals, baseRent represents cold rent (Kaltmiete), while totalRent represents warm rent (Warmmiete). These fields, plus serviceCharge and heatingCosts, are optional expose data and appear only when detail enrichment succeeds and IS24 supplies the values.

Can I calculate rental yield from ImmobilienScout24 data? Potentially, but not from every default row. Enable enrichment, keep only detailsFetched: true records with the required price/rent fields, validate geographic matching and coverage, then calculate yield downstream.

How do I export ImmobilienScout24 data to CSV or JSON? Run the Actor, then export the resulting dataset as CSV, JSON, Excel or XML from the Apify console or via the Apify API.

How much data can I get? The default cap is 100 listings and the default API-work budget is 240 seconds. You can raise maxListings, maxPagesPerTask and timeBudgetSecs, but actual coverage depends on IS24 pagination, endpoint availability, filters and proxy conditions.

🔗 More real estate scrapers by logiover

Building a cross-country property dataset? Pair ImmobilienScout24 with the rest of the European real-estate suite:

CountryActor
🇵🇱 PolandOtodom.pl Scraper
🇦🇹 AustriaWillhaben Scraper · WG-Gesucht Scraper
🇨🇿 CzechiaSreality.cz Scraper
🇬🇷 GreeceSpitogatos Scraper · XE.gr Scraper
🇮🇹 ItalyCasa.it Scraper · Subito Scraper
🇪🇸 SpainHabitaclia Scraper · Pisos.com Scraper
🇫🇷 FranceBien'ici Scraper
🇵🇹 PortugalImovirtual Scraper
🇷🇴 RomaniaStoria.ro Scraper
🇳🇱 NetherlandsFunda Scraper
🇮🇪 IrelandDaft.ie Scraper · MyHome.ie Scraper
🇺🇸 USARealtor.com Scraper · Redfin Scraper

👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media & B2B data.

⏰ Scheduling & integration

Schedule this Actor on Apify to track the German property market daily or weekly. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, BI tools and webhooks through the Apify API. Connect it to Make, n8n or Zapier to build automated real-estate pipelines. Combine multiple locations and real estate types to build a nationwide German real estate dataset.

⭐ Support & feedback

Found a bug or need an extra field? Open an issue on the Issues tab — response is usually fast. If this Actor saves you time, a ★★★★★ review on the Store page genuinely helps and is hugely appreciated. 🙏

This Actor extracts only publicly available data and is intended for legitimate research, analytics and lead-generation use. You are responsible for complying with ImmobilienScout24's terms of service, GDPR and any applicable local laws.


📝 Changelog

2026-08-01

  • Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
  • Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.
  • Declared 73 dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder.
  • Declared 73 nullable dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder or brittle to sparse modes.

2026-08-01 — Health-check remediation

  • August 2026 monthly health-check remediation is in progress; this build contains fixes verified from empty/default, Console-default, targeted live probes, or field-level semantic review.
  • Made reliable list-level output the default, added a 240-second work budget and expose-detail circuit breaker, and exposed detailsFetched so optional enrichment coverage is measurable.
  • The final four-input matrix verdict will be appended after post-build cloud revalidation.

2026-08-01 — Health check

  • Reviewed source defaults, request/retry control, dataset/output schemas and public field claims; JSON and JavaScript syntax checks pass.
  • Changed the safe default to list-level output (fetchDetails: false, maxListings: 100) with a configurable 240-second API-work budget.
  • Made request timeouts, retries and retry delays deadline-aware. Optional detail calls now use one network attempt and stop run-wide after two consecutive failures while preserving list rows.
  • Aligned README, Actor metadata and dataset/output views with fields actually available from search results; expose-only fields are explicitly optional and detailsFetched reports enrichment state.

2026-07-06

  • ✨ README overhaul: richer output sample, ready-to-run example scenarios, cross-country real-estate suite links, and clearer quick-start.

2026-07-06 — Initial release

  • First release. Scrapes ImmobilienScout24.de (Germany's #1 property portal) via the IS24 mobile JSON API — no browser, no AWS WAF challenge, no API key.
  • Free-text location resolution (city, district, quarter) into IS24 geocodes, plus raw-geocode support.
  • Filters: 12 real estate types (buy & rent), price, living space, rooms, construction year, new-build only and commission-free only, with sorting.
  • Optional per-listing detail (expose) enrichment: rooms, m², price breakdown, year built, condition, heating, energy class, feature flags, agent name/company/phone, GPS and full address.