October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
API

How to Scrape Immowelt.de Real Estate Data: API, Rules, and Safe Workflows

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For an Immowelt advertiser collecting its own listings, the supported route is Immowelt’s API: resolve a place to a GeoID, search with EstateService, then retrieve selected listing details through EstateExpose. It is not a general-purpose feed for exporting listings from multiple providers. If you are considering public-page collection instead, first check the current robots.txt, avoid disallowed paths and access controls, and confirm that your intended use is permitted.

Choose a collection route that fits your authorization

There are two materially different projects people mean by “scrape Immowelt.” One is retrieving an advertiser’s own inventory through the official API. The other is collecting information visible on public pages. They differ in authorization, coverage, stability, and operating risk; neither should be treated as permission to republish listings or build an unrestricted property feed.

Approach What it is suited to Main constraint
Official Immowelt API An eligible advertiser managing its own Immowelt listings Requires API credentials and an active Immowelt presentation contract; it is not a general multi-provider export feed.
Public-page collection Limited observation of accessible pages, if the site rules and your use allow it Robots rules, page changes, privacy, site terms, and access controls all need attention; public visibility alone is not authorization.
Managed extraction service A project where maintaining parsers and retries is not economical A provider’s description of its own practices does not establish Immowelt authorization or permission for your use case.

AVIV Germany’s API terms say retrieval through the Immowelt API by a third party of objects from multiple providers—for example, to show them in a separate marketplace—is not allowed without AVIV Germany GmbH’s express consent. The terms also prohibit use for “den reinen Datenexport” (“pure data export”). Treat these as central constraints, not fine print: an API key does not by itself authorize every downstream use.

Use the official API for an advertiser’s own inventory

The API is described as an additional service for providers with an active Immowelt presentation contract. An eligible provider requests credentials through its provider account. The technical documentation describes a language-independent web service using SOAP-capable clients and XML over HTTP. It identifies LocationService, EstateService, EstateExpose, and CommunicationService. The documented maximum is 500 objects per page.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Follow the documented lookup sequence

  1. Confirm eligibility and request credentials. Use the provider account associated with the active Immowelt presentation contract. Do not assume a public listing URL, ordinary user account, or an API key from another service grants access.
  2. Resolve the search area. Send the desired town, postcode, or region through LocationService and retain the returned GeoID. Use the returned identifier rather than guessing a location code.
  3. Search with explicit criteria. Query EstateService with the GeoID and the filters, radius, sorting, and pagination your application needs. Keep pages within the documented maximum of 500 objects, and use smaller pages if that better suits your processing and refresh design.
  4. Fetch detail records selectively. Persist the identifiers returned by search, then request EstateExpose details for a listing by its GUID or Immowelt OnlineID when those details are needed. This separates finding candidate records from fetching their full expose data.
  5. Record provenance and retrieval time. Store the source identifier and when each record was fetched. The API documentation warns that an object can be deactivated, so a previously retrieved object should not be treated as current indefinitely.
  6. Render only within the permitted use. Follow applicable attribution and publication rules for the advertiser’s own inventory. If you intend a third-party marketplace, pure export, or another use not clearly covered, get the required express consent or legal guidance before building around it.

What the API documentation does—and does not—let you assume

The documented service names and sequence are enough to plan the integration, but they are not a substitute for the current technical documentation and credentials. The material available here does not establish endpoint addresses, SOAP actions, XML request bodies, authentication header format, response schemas, or a current WSDL URL. Do not invent those details from examples for another property API. Use the documentation supplied with your provider access to generate or configure the SOAP client, then test against the service’s own request and response definitions.

Likewise, a 500-object page limit is not a promise that every query returns 500 records, or that a particular field is available for every listing. Design pagination around the actual response, handle empty pages, and preserve the identifiers needed for later detail lookups.

If you collect public pages, plan around current access rules

Immowelt’s live robots.txt disallows internal endpoints, maps, booking and contact paths, previews, parameterized classified-search and classified-map URLs, and classifiedList. It also disallows several tracking and backend paths, blocks twiceler and NerdByNature.Bot, sets an AhrefsBot crawl-delay of 50, and publishes a sitemap index. Those rules are a crawl-planning input, not a legal license. Re-fetch robots.txt before each crawl run because the live policy can change.

A conservative public-page workflow

  1. Define the purpose and scope first. Decide what fields you need, why you need them, how many pages are necessary, how long you will retain the data, and whether you will display or share it. Keep the scope narrow enough to review.
  2. Inspect the live robots.txt and make an allowlist. Only include currently accessible, non-disallowed public pages. Do not try to reach blocked search or map URLs by changing parameters, and do not infer that a sitemap entry overrides a disallow rule.
  3. Use a measured request rate. Identify your crawler honestly, space requests, cache conservatively, and monitor responses. There is no universal safe requests-per-second figure established here; choose a low rate appropriate to the volume and stop if the site signals a problem.
  4. Do not invoke contact or booking actions. Avoid contact forms, communication endpoints, booking paths, and collection of contact-form data. A workflow that merely views a listing is different from one that sends messages or triggers transactions.
  5. Stop at controls, not around them. If you encounter a login requirement, bot challenge, CAPTCHA, or another access control, stop. Do not bypass it, rotate identities to defeat it, or continue through a hidden endpoint.
  6. Re-check your parser and stored records. Public HTML can change and listings can be removed or deactivated. Track retrieval time and source URL, validate fields before accepting records, and expire or refresh cached data rather than representing old observations as current inventory.

Why a generic selector script is a poor shortcut

A parser that assumes a particular CSS class or page structure can silently collect the wrong price, area, or location when markup changes. No stable Immowelt public-page selector schema is established here, so copying a guessed selector into a production crawler would create false confidence. If public collection is permitted for your use, inspect the exact pages in scope, build and test selectors against those pages, detect missing or malformed fields, and fail visibly when the page no longer matches expectations. Do not let a parser failure turn into a large unreviewed crawl.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Handle listing freshness and identifiers carefully

Whether you use the API or permitted public observations, treat property data as time-sensitive. The API documentation specifically warns that an object can be deactivated. Store a retrieval timestamp alongside source identifiers, and decide how your application marks, refreshes, or removes records that are no longer available. A successful fetch only establishes that data was returned at that time; it does not establish that the listing remains active now.

  • Keep GUID or OnlineID for API records so that detail retrieval and updates can target the source object.
  • Keep the source page or record identifier and fetch time for public observations.
  • Make refresh cadence a deliberate operational setting rather than repeatedly crawling without a need.
  • Separate a missing result from a network or parsing failure; do not mark an object inactive solely because one request failed.
  • Define retention and deletion behavior before accumulating a large historical copy.

Minimize personal data and document your use

AVIV Germany identifies itself as the controller for immowelt.de. Its privacy notice says the site processes IP address, URL, date and time, browser version, operating system, cookies, and usage information for operation, analytics, and IT-security and bot-protection purposes. Your collection project has its own responsibilities: keep a data inventory, minimize personal fields, avoid names and contact details unless they are necessary and lawful, define retention, and document purpose and legal basis.

For commercial or large-scale collection, have counsel assess the specific account relationship, purpose, data fields, scale, and applicable German and EU law. General platform documentation cannot determine whether a particular project is permitted. A robots.txt rule does not grant legal permission, and an API’s technical availability does not erase contractual restrictions.

Plan reliability, cost, and operating effort

The official API offers a documented SOAP/XML contract, which is generally a more stable integration surface than selectors tied to rendered HTML; it is still subject to its terms and the availability of your authorized account. Public-page parsing avoids depending on provider credentials, but it is more exposed to markup changes, disallowed paths, rate limits, and the need for ongoing compliance review. In either case, budget for data validation, refreshes, error handling, and storage—not only the first successful request.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Authorization: API access is tied to an eligible provider account and own-inventory use; public visibility is not a blanket license.
  • Coverage: the API route described here serves an advertiser’s own inventory, not a general feed spanning providers; a public-page workflow is limited to permitted, accessible pages.
  • Stability: use the documented service contract for API integration; assume public HTML may change and validate parser output continuously.
  • Freshness: objects can be deactivated, so set a refresh policy and show the retrieval time where it matters.
  • Compliance effort: API use requires attention to API terms and publication rules; public-page use adds robots, privacy, rate, and contractual review.
  • Operational choice: a self-managed parser gives you control but requires maintenance. A managed service may reduce selector and retry work, but its description of robots-aware practices is not authorization for your particular collection.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting common failures

Symptom Likely cause Safe next step
You cannot obtain API credentials. The account may not have an active Immowelt presentation contract or may not be eligible for API access. Check eligibility through the provider account; do not substitute another party’s credentials.
A location search yields no usable GeoID. The input place or postcode may not resolve as expected, or the query may not match the service’s supported format. Use LocationService’s documented request format and inspect its returned candidates before searching.
Search returns fewer records than expected. Filters, radius, sorting, pagination, or current inventory may constrain the result. Review the explicit query criteria and page through the documented results; do not treat the 500-object maximum as a guaranteed result count.
Detail lookup fails for a returned listing. The identifier may be wrong, the object may have changed, or the request may not match the EstateExpose schema. Use the GUID or OnlineID from the service response and verify the current detail request definition.
A public page returns a challenge or login. The site is applying an access control or bot protection. Stop collection. Do not attempt to bypass the challenge or authentication.
A parser suddenly produces empty or implausible fields. Markup may have changed, the page may not be the expected page type, or content may not have loaded. Pause the run, inspect an allowed page manually, validate selectors and field formats, then resume only if the page and intended use remain permitted.
Old records appear active in your app. Your cache may not account for deactivated or changed objects. Use source identifiers and retrieval timestamps, refresh according to a defined cadence, and distinguish stale data from request failures.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server, not a property-data API: it returns a visual capture rather than structured Immowelt listing fields. It can help when you need a visual record of a public page for review, but it does not replace the authorized API workflow or permission checks. Its [website screenshot API] accepts one GET request for a PNG, JPEG, WebP, or PDF; see the ScreenshotNeo documentation for request options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://www.immowelt.de/ -o shot.webp

Cookie and consent banners are accepted before capture and more than 60 known consent platforms, newsletter popups, and chat widgets can be removed; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and the response includes X-Page-Verdict and X-Billed headers. An MCP server exposes take_screenshot, get_page_info, and capture_pdf to Claude, Cursor, and other MCP clients. The Free plan includes 1,000 shots a month with no card; paid plans start at $5 for 3,000, and every feature is on every plan. For current plan details, see ScreenshotNeo. Start with 1,000 free screenshots a month with no card.

Further reading for building the collection pipeline

Ryan Mitchell’s Web Scraping with Python, 2nd Edition (April 2018) covers BeautifulSoup, crawler design, Scrapy, and storing data. It can help with general parser and pipeline concepts, but it does not define Immowelt’s API schema or grant permission to collect its pages.

Frequently Asked Questions

Does a robots.txt allowance mean Immowelt has authorized my project?

No. Robots.txt is a crawl-planning signal, not legal permission. Review the applicable terms and your project’s purpose and data handling separately.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can I use a screenshot as a CSV export of listings?

No. ScreenshotNeo returns an image or PDF capture, not structured listing fields or a CSV feed.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Read next

Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.