Immowelt Scraper — Germany Property Data & API avatar

Immowelt Scraper — Germany Property Data & API

Pricing

from $1.00 / 1,000 overview listings

Go to Apify Store
Immowelt Scraper — Germany Property Data & API

Immowelt Scraper — Germany Property Data & API

Immowelt.de scraper & real estate data API for Germany's #2 property portal. Sale & rent listings: price, Kaltmiete/Warmmiete, deposit, size, rooms, floor, address, GPS, photos, agent, energy class & build year — clean JSON/CSV. Fast overview or full detail. No-code, no API key.

Pricing

from $1.00 / 1,000 overview listings

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Immowelt Scraper — Germany Property Data & Real Estate API 🏠

SIÁN Agency Store Store-Immobiliare.it Scraper Store-Idealista Scraper Store-Zoopla Scraper

🎉 Every Immowelt.de listing as clean structured data — price, size, rooms, GPS, agent & energy class, no code

Built for German real-estate analysts, agents, investors and proptech teams


📋 Overview

Turn Immowelt.de into a structured dataset in minutes — Germany's #2 property portal (AVIV Group), scraped into clean JSON/CSV/Excel for analysts, agents, investors and proptech builders.

Why thousands of professionals choose us:

  • Full German RE field set: price, Kaltmiete/Warmmiete, Kaution, Nebenkosten, size, rooms, floor, address, postal code, GPS, energy class, build year, agent — 39 fields
  • Two modes, your call: fast & cheap Overview (every search card) or full Detail (price breakdown, GPS, Baujahr, features, agent vs. private)
  • 🎯 Accurate by design: parses Immowelt's own server-rendered data — not guesswork
  • 💰 Pay per result: you're only charged for listings actually extracted; generous free tier to test
  • 💎 Dual-currency: every price also in USD at the run's live FX rate, plus €/m²
  • No-code & no API key: paste a search URL or pick a region — done

✨ Features

  • 🏠 Sale & rent listings: mieten (rent) and kaufen (sale), Wohnung (apartment) and Haus (house)
  • 🔗 Search by URL or query: paste any Immowelt search URL (filters preserved) or pick contract + type + region
  • 💶 Full price breakdown: base price, Warmmiete, Nebenkosten, Kaution — and price-per-m²
  • 🧭 GPS coordinates: exact latitude/longitude for every detail listing (map-ready)
  • Energy & build data: energy class (A+…H), build year (Baujahr), condition
  • 🧑‍💼 Agent intelligence: agency name + contact, or flagged as private seller, with reference number
  • 🖼️ All photos: every listing image plus a thumbnail-first field
  • 💵 Dual-currency: EUR price + USD conversion at the live FX rate
  • 🎚️ Powerful filters: price, rooms, living area, sort order
  • 📤 Clean exports: JSON, CSV, Excel straight from the Apify dataset

🎬 Quick Start

Pick a mode and a search, hit run, and collect a clean dataset. Paste an Immowelt search URL or choose contract + property type + region. Results stream into the dataset as they're scraped.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~immowelt-property-scraper/runs?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"scrapeMode":"overview","searchMode":"bySearchUrl","searchUrls":["https://www.immowelt.de/suche/mieten/wohnung/deutschland/ad02de1"],"maxResults":60}'

🚀 Getting Started (3 Simple Steps)

Paste an Immowelt.de search URL, or set contract (rent/sale), property type and a region.

Step 2: Pick a mode

Overview for fast, cheap listing cards — or Detail for the full field set.

Step 3: Run & export

Hit Start and download your results as JSON, CSV or Excel.

That's it! In a few minutes, you'll have:

  • A clean, structured property dataset
  • Prices in EUR and USD, plus €/m²
  • Map-ready GPS coordinates and agent contacts

📥 Input Configuration

FieldTypeRequiredDescription
scrapeModestringNooverview (fast, cheap) or detail (full fields)
searchModestringNobyQuery or bySearchUrl
searchUrlsarrayNoImmowelt.de search URLs (bySearchUrl mode)
contractstringNorent (mieten) or sale (kaufen) — byQuery mode
propertyTypestringNowohnung or haus — byQuery mode
geoIdstringNoAVIV region token, e.g. ad02de1 (all Germany) — byQuery mode
maxResultsintegerNoListing cap this run (FREE: 25, PAID: unlimited)
priceMin / priceMaxintegerNoPrice filter (€)
roomsMin / roomsMaxnumberNoRooms filter
areaMin / areaMaxintegerNoLiving-area filter (m²)

Example (by search URL):

{
"scrapeMode": "detail",
"searchMode": "bySearchUrl",
"searchUrls": ["https://www.immowelt.de/suche/kaufen/wohnung/hamburg/ad08de1113"],
"maxResults": 100
}

Example (by query):

{
"scrapeMode": "overview",
"searchMode": "byQuery",
"contract": "rent",
"propertyType": "wohnung",
"geoId": "ad02de1",
"priceMax": 1500,
"maxResults": 200
}

📤 Output

Results are saved to the Apify dataset with 39 fields including:

FieldTypeDescription
idstringImmowelt Online-ID (join key)
urlstringListing URL
propertyTitlestringListing title / summary
contractstringrent or sale
property_typestringWohnung / Haus
pricenumberBase price (Kaltmiete / Kaufpreis), €
price_usdnumberPrice in USD at live FX
price_per_sqmnumber€/m²
total_rentnumberWarmmiete (detail)
depositnumberKaution (detail)
area_sqmnumberLiving area (m²)
roomsnumberRooms
floorstringFloor / Geschoss
city / zip / districtstringLocation
latitude / longitudenumberGPS (detail)
energy_classstringEnergy class A+…H
construction_yearnumberBuild year (detail)
agent_namestringAgency / contact
is_privatebooleanPrivate seller flag
imagesarrayAll photo URLs

Example:

{
"id": "26N7GPBIXZKP",
"url": "https://www.immowelt.de/expose/adf39d0f-3c0f-417c-a8d0-818ab59795da",
"propertyTitle": "Wohnung zur Miete - Hamburg - 1.280 € - 2 Zimmer, 66 m², 2. Geschoss",
"contract": "rent",
"property_type": "Wohnung",
"price": 1280,
"price_usd": 1382,
"price_per_sqm": 19,
"area_sqm": 66,
"rooms": 2,
"city": "Hamburg",
"zip": "22043",
"latitude": 53.5689,
"longitude": 10.0949,
"energy_class": "A",
"currency": "EUR"
}

💼 Use Cases & Examples

1. Market Research & Comparables

Analysts benchmarking rents and sale prices across German cities. Input: Search URLs per city · Output: Price, €/m², size, energy class · Use: Build price/rent comparables and heatmaps.

2. Lead Generation for Agents

Agents sourcing private-seller listings to win mandates. Input: Rent/sale by region · Output: Agent name, private-seller flag, reference number · Use: Prioritise direct-from-owner outreach.

3. Investment & Rental-Yield Analysis

Investors modelling yields on apartments. Input: By query with price/area filters · Output: Kaltmiete, Warmmiete, Nebenkosten, €/m² · Use: Compute gross/net yields at scale.

4. Proptech Real-Estate Data API

Builders feeding a German property data product. Input: Scheduled runs per region · Output: Structured JSON · Use: Power a search/valuation app without an Immowelt API key.

5. Relocation & Site Selection

Companies finding housing near new offices. Input: By query around a postal code · Output: Address, GPS, price, energy class · Use: Shortlist map-ready options.

6. Energy & Sustainability Studies

Researchers studying building efficiency. Input: Detail mode per region · Output: Energy class, build year, condition · Use: Analyse the German housing stock's efficiency.


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/immowelt-property-scraper').call({
scrapeMode: 'overview',
searchMode: 'bySearchUrl',
searchUrls: ['https://www.immowelt.de/suche/mieten/wohnung/deutschland/ad02de1'],
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/immowelt-property-scraper').call(run_input={
'scrapeMode': 'detail',
'searchMode': 'byQuery',
'contract': 'sale',
'propertyType': 'wohnung',
'geoId': 'ad02de1',
'maxResults': 50,
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~immowelt-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"scrapeMode":"overview","searchMode":"byQuery","contract":"rent","propertyType":"wohnung","geoId":"ad02de1"}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: Schedule or webhook
  2. HTTP Request: Call the actor API
  3. Process: Handle the JSON results
  4. Action: Save to a sheet/DB, notify, or transform

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 listings per run — full feature access, same quality
  • No credit card required
  • Perfect for testing and small projects
  • Unlimited listings per run
  • Faster throughput, no delays
  • Pay-per-result: only charged for listings actually extracted

💰 Fair, transparent pricing — a cheap high-volume Overview event and a premium Detail event for the full field set.

🔗 View current pricing


❓ Frequently Asked Questions

Q: How many listings can I extract? A: FREE tier: 25 per run. PAID tier: unlimited.

Q: What's the difference between Overview and Detail? A: Overview returns the search-card fields (price, rooms, area, address, energy, agent) fast and cheap. Detail visits each listing for the full set — price breakdown, GPS, build year, features, private/agent.

Q: Do I need an Immowelt account or API key? A: No. Just paste a search URL or pick a region.

Q: What output formats are available? A: JSON, CSV, Excel — export directly from the Apify dataset.

Q: Can I scrape a whole city or all of Germany? A: Yes. Note Immowelt's pager caps a single query at ~10,000 results — split large regions by price/type bands to enumerate fully.

Q: Are prices available in USD? A: Yes — every row carries price_usd at the run's live FX rate, plus price_per_sqm.

Q: Is this legal? A: We only extract publicly available data. See the legal note below.


🐛 Troubleshooting

No results returned

  • Confirm the search URL opens real listings in a browser
  • Widen filters (price/rooms/area) — they may be too narrow
  • For byQuery, verify the geoId token (use bySearchUrl if unsure)

Fewer results than expected

  • Immowelt caps a single query at ~10,000 listings; split by region/price bands
  • Check maxResults and maxPages

Missing detail-only fields (GPS, deposit, build year)

  • Those appear in Detail mode only — switch scrapeMode to detail

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Immowelt® is a trademark of its respective owner. This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Immowelt or the AVIV Group.


🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools