Immowelt Scraper for German Property Listing Data

Immowelt Scraper
Solutions

Delivery and scheduling

You describe the target - regions, segments, fields, frequency. We build the crawler, run it, and keep it working when Immowelt changes its markup. Output arrives as CSV, JSON, XLSX or an API endpoint, on the schedule you set: once, nightly, or several times a day for fast-moving city rentals.

The schema is fitted to your side, not ours. Column names, units, currency handling, one row per expose or one row per expose per run for change tracking, and the UUID kept intact so the data joins to what you already hold. When a page does not serve on a given run, the record is marked as not collected rather than filled with a guess.

Fields we extract from an Immowelt expose

An Immowelt expose prints the seller's declared numbers and the portal's own computed ones in one layout. A usable extract keeps them apart.

  • Rent block - Immowelt shows Warmmiete (gross rent) first, then a row labelled davon Kaltmiete zzgl. Nebenkosten (of which base rent plus service charges), then Nebenkosten on its own line, and a note reading Heizkosten in Warmmiete enthalten when heating is bundled. We split that composite row into separate numeric columns and keep the heating flag.
  • Sale block - Kaufpreis (purchase price), price per square metre, Provision (agent commission) with the percentage sentence beside it, plus Kaufnebenkosten (incidental purchase costs).
  • Portal estimates - Immowelt labels Geschätzte Gesamtkosten (estimated total cost) as its own calculation, and we mark those cells so an estimate is never read as a declared number.
  • Extras - Zusaetzliche Kosten entries such as Miete pro Stellplatz (parking space rent), and Kaution (deposit), which arrives as free text, not a number.
  • Size and layout - Wohnflaeche (living area), Grundstuecksflaeche (plot area), Zimmer (rooms), floor, and the availability line frei ab with its date.
  • Bausubstanz und Energie - Baujahr (year built), the Energieausweis class, Zustand der Immobilie (condition), Heizungsart (heating type) and Wesentliche Energieträger (main energy sources). Where the seller filled none of it in, the block says so, and we record that absence.
  • Merkmale - the feature chips, such as Einbaukueche, Personenaufzug, Tiefgarage and Terrasse.
  • Provider - the publishing company or person, plus the role label Immowelt prints beneath it, such as Maklerbüro.
  • Location - municipality and postcode. Many sellers withhold the street, and the expose then states that the exact address was not released. We carry that as a status, not an empty field.
  • Media - the numbered gallery and the Grundrisse (floor plans) group, kept apart from the photographs.

Fields we extract from an Immowelt expose
Identifiers, geography and the search grammar

Identifiers, geography and the search grammar

Immowelt identifies a listing with a UUID. An expose URL reads /expose/0af2db2b-9b04-43e5-b8dc-6f63c12f7120, and the same identifier is what the portal's own partner documentation calls the estate GUID. Older project listings still use a short code instead, as in /projekte/expose/k2dc732. The UUID is the join key we carry into every delivery.

Geography sits in a token at the end of the search path, and the prefix marks the level. ad04de is a Bundesland (bayern/ad04de9), ad06de a Kreis (harburg-03353/ad06de37), ad08de a city or municipality (munchen-80331/ad08de6345), and ad09de or nbh2de a Stadtteil (stuttgart-70173/botnang-70195/ad09de353). The number inside the slug is not decoration: at Kreis level it is the five-digit official Kreisschlüssel, as in recklinghausen-05562, while city and Stadtteil slugs carry a Postleitzahl.

The same token drives the query interface. Munich is ad08de6345 in the readable path and AD08DE6345 as the locations value on the parameterised endpoint. Filters ride in the path as stacked segments - privat, ohne-provision, wbs-ja, wohnen-auf-zeit, wohngemeinschaft, zimmer-3, guenstig. We build the crawl frontier from these, so a brief such as two-room rentals from private sellers in three Stadtteile of Leipzig becomes a concrete list of URLs rather than a search box someone has to drive by hand.

What Immowelt is and who runs it

Immowelt runs immowelt.de, a German property portal operated by AVIV Germany, part of the Aviv Group. The corporate structure matters when you plan a crawl. In 2015 the Bundeskartellamt cleared a joint venture that placed immowelt.de and immonet.de under the same roof, and the two catalogues have been converging ever since.

That convergence is now visible on the wire. On 27 August 2026 every immonet.de path we requested answered with an HTTP 301 to www.immowelt.de carrying the fragment #x-sunset-redirect=imn. The path is discarded and only the query string survives, so a request for /immobiliensuche/sel.do?suchart=2&city=87991 lands on the Immowelt home page rather than on an equivalent Immowelt search. Anyone still treating immonet.de as a second German source is collecting a redirect. One Immowelt scraper now covers what used to be two targets.

The portal splits its inventory three ways at the top of the URL: mieten for rentals, kaufen for sales and zwangsversteigerung for forced auctions. Beneath those sit the residential types and a full commercial set - office, retail, warehousing, hospitality, agriculture and parking. The sitemap index at /sitemaps/sitemap_index.xml listed 204 sitemap files when we read it on 27 August 2026, and each file is one facet of that catalogue.

Get a Quote
dev_w
25

Developers

customers
500+

Customers worldwide

pages
1 500 000 000+

Pages extracted

stime
15000+

Hours saved for our clients

Plans

Airplane

€199 / one-time

setup fee - included

Data limits100,000
Frequencyone-time
Run timeup to 5 days
Data storing7 days

Helicopter

€169 / mo

setup fee €499

Data limits250,000
Frequencymonthly
Run timeup to 5 days
Data storing14 days

Glasses

€229 / mo

setup fee €499

Data limits1,000,000
Frequencyweekly
Run timeup to 5 days
Data storing30 days

DNA

€549 / mo

setup fee €799

Data limits3,000,000
Frequency3 times daily
Run timesame day
Data storing90 days

Why teams scrape Immowelt

A single snapshot answers what is on the market today. Repeat collection answers what the market is doing. Because each expose keeps a stable UUID, the same listing can be matched across runs, and the differences become the dataset: a Kaltmiete cut, a Provision that changed, a listing that vanished, a listing that came back.

Analysts use Immowelt price series to calibrate valuation models against asking levels at Gemeinde and Stadtteil resolution. Developers size local demand before committing to a site. Agencies watch competitor inventory - which Makler (estate agents) are adding stock, which are letting listings age, which are cutting asking rents. Proptech teams use the feed to seed their own search products.

The private-seller split is the part that usually goes unused. Immowelt exposes a privat facet in the URL, so private listings can be counted as a real share of a local market instead of estimated. The ohne-provision facet does the same for commission-free stock, which is a direct read on how much of a market moves without an agent. Both survive into the delivered rows as flags, so the split can be cut by region and by month.

Related Case Studies

230,000 Daily Rows Standardized Across 5 EU Property Sites

230,000 Daily Rows Standardized Across 5 EU Property Sites

Monitoring of real estate listings on funda.nl, pararius.com, rentberry.com, rentola.com, and zimmo.be to support the growth of a European property portal.

Learn More about 230,000 Daily Rows Standardized Across 5 EU Property Sites
85K Rows of Houses/Day Into CRM via API - Set up in 7 Days

85K Rows of Houses/Day Into CRM via API - Set up in 7 Days

Daily detection of new private property listings in Switzerland on Homegate.ch and ImmoScout24.ch, giving the agency first access to high-value leads.

Learn More about 85K Rows of Houses/Day Into CRM via API - Set up in 7 Days
226K Listings + 3.4m Images from Immobilienscout24

226K Listings + 3.4m Images from Immobilienscout24

Scraping residential listings from Immobilienscout24.de in Germany and Mallorca, including complete data and resized images.

Learn More about 226K Listings + 3.4m Images from Immobilienscout24
Our Blog

Reads Our Latest News & Blog

Learn how to use web scraping to solve data problems for your organization

Scraping Property Portals by Region: Best Real Estate Platforms That Actually Matter

Scraping Property Portals by Region: Best Real Estate Platforms That Actually Matter

Real estate teams work in a fragmented data landscape. The sites that drive demand in Boston look nothing like the ones that matter in Berlin, São Paulo, Dubai, or Mumbai.

7 Real Estate Websites to Scrape in 2026: Plus 2 Hidden Gems

7 Real Estate Websites to Scrape in 2026: Plus 2 Hidden Gems

Real estate teams are operating in a data environment that is bigger, faster, and more fragmented than ever. Listings go live and disappear in hours, price cuts happen quietly, and the portals that matter most in each country are rarely the same global “top 5.”

How to Use Real Estate Web Scraping to Gain Valuable Insights

How to Use Real Estate Web Scraping to Gain Valuable Insights

August 27, 1180

Real estate web scraping: a powerful tool for data collection and analysis. Learn how to choose the right data collection method and benefit from real estate web scraping

scrapeit logo

About ScrapeIt

ScrapeIt is a managed web scraping agency. We are not selling a library, a proxy pool or a dashboard you have to learn. We agree the fields with you, build the crawler, run it on your schedule and repair it when the source changes. You receive data, not maintenance work. Most Immowelt projects start with one region and one segment, then widen once the schema has been checked against real rows.

FAQ

Does Immowelt have a public API?

Not an open one. Immowelt documents a partner API built on SOAP web services exchanging XML over HTTP: a LocationService that turns a place name or postcode into a GeoID, an EstateService that returns lists, and an EstateExpose service that returns one listing by its GUID. Every call needs an API key issued by Immowelt, so it is a partnership integration rather than self-service signup. That documentation is version 3.1.0, dated 25 March 2015, and we read it from a Wayback Machine capture taken on 20 July 2024; it also shows how the interface behaves under load, since a broad list query returns ResultTooLarge and the caller has to narrow the criteria or subdivide the region. It further obliges the integrator to display an attribution note crediting immowelt.de. If you do not hold a partnership, collecting the public pages is the route, and that is what we do.

Is scraping Immowelt allowed, and what does robots.txt say?

Read on 27 August 2026, the immowelt.de robots.txt disallows the parameterised endpoints - */classified-search?*, */classified-map?* and /classifiedList/ - along with map views such as /liste/karte and /expose/*/karte, preview exposes at /vorschau/expose/*, and the saved-search and booking areas. It blocks two named crawlers outright and gives AhrefsBot a Crawl-Delay of 50. The readable /suche/ paths and /expose/ pages are not in the disallow list, and the file publishes the sitemap index. We scope each project to publicly visible pages, honour those directives and pace requests. We do not bypass access controls, log-ins or bot protection. On our test date a plain HTTP client received a normal 200 on a search path and a 403 on an expose path, which is why detail collection runs through a real browser engine at a measured rate, and why a page that will not serve is marked rather than invented.

Will the data include seller and agent names or phone numbers?

Only if you ask for it. Immowelt listings can carry a named private seller or a named contact at a Maklerbüro, so the provider block is the one place where output can touch personal data. Our default is listing and commercial data - price, size, rooms, location, features, dates, listing id and the provider's company name. Personal contact details can be excluded on request, and the provider block can be suppressed entirely. Under the GDPR you are the controller for whatever you choose to store, so the scope is worth deciding before the first run rather than after. We are not your legal advisers; we build the extract to the boundary you set.

How do you handle listings that disappear?

Immowelt takes an expose down once the property is let or sold, and the UUID is what lets you notice. Each run records which ids were still present in the result pages, so a listing that stops appearing is dated rather than quietly dropped. From that you get time on market and a price change history per listing. We also flag likely relistings by matching municipality, Wohnflaeche, Zimmer and provider across runs, which catches a property that returns under a different id. Historical rows are kept rather than overwritten, so the series stays auditable.

How much can you collect, and how do I check the numbers?

Coverage is defined by the URL set, not by a quota. Immowelt prints its own result count in the page title, which gives you a check against our row counts: measured on 27 August 2026, the Berlin rental search read 6.808 Angebote, Munich 2.656 and Hamburg 3.058. Those figures move daily, so treat them as measurements with a date attached, not as constants. Depth is the part that needs care. On the readable /suche/ path a page parameter did not change what the server returned in our test, so we get depth by splitting geography instead - ad06de Kreis, then ad08de Gemeinde, then ad09de or nbh2de Stadtteil - until each slice is small enough to walk to the end.

How does it Work?

Step 1 - Make a Request

You share your needs, expectations, and desired timeframe. We’ll suggest the best solution based on your request and budget.

Step 2 - Configuring Custom Web Crawlers

Our specialists configure the crawlers and extract a sample dataset for your review before proceeding with the full-scale extraction.

Step 3 - Collect and Deliver

Once you approve the sample, we launch the project and start full data collection. We gather, filter, and structure the data for easy use, delivering it on time in your preferred format.

Step 4 - Maintain and Support

Our team manages ongoing processes, monitors website changes, and supports all data extraction cycles. We can also help integrate data into your systems or create dashboards to simplify analysis.

Request a Quote

Tell us more about you and your project information.
Which sites, which fields, how often. A couple of lines is enough.

We reply within 1 business day. No obligation.

scrapiet

Scrapeit Sp. z o.o.
10/208 Legionowa str., 15-099, Bialystok, Poland
NIP: 5423457175
REGON: 523384582