Immowelt Germany Rent & Buy Listings Scraper
Scrape Immowelt.de - one of Germany's largest real-estate portals. Search rental and for-sale apartments and houses by city, price, rooms, living space, and amenities, or scrape a specific Immowelt search-results URL.
Open in Apify Store$0.99 / 1K on Free
Short answer
Immowelt Germany Rent & Buy Listings Scraper is an Apify Store Actor for Immowelt data that returns 14 published output fields, including purchasePrice, rooms, livingSpaceSqm, sourceUrl. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 33 input settings; one is required (mode). It covers 4 of the 6 core Immowelt fields this site tracks. Last updated Nov 4, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
14 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
titlecitydistrictdistributionTypeestateTypepriceColdpriceWarmpurchasePriceroomslivingSpaceSqmyearBuiltenergyClassproviderNamesourceUrl
Not in the schema among the core Immowelt fields: address, agent. The field matrix shows which other tools return them.
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | Yes | search | How to find listings: by German city and filters, by a pasted Immowelt search URL, or by listing IDs / expose URLs. |
| city | string | No | Berlin | German city or town, for example Berlin, Muenchen, Hamburg, Koeln or Frankfurt am Main. Any place Immowelt indexes can be used. |
| distributionType | string | No | mieten | Choose rentals, for-sale listings, or compulsory auctions. |
| estateType | string | No | wohnung | Broad property category. Temporary living is rent-only and is automatically switched to rentals. All 14 Immowelt categories are supported. |
| estateSubType | string | No | – | Optional narrower sub-type. Use a value that belongs to the chosen property type; leave empty for any sub-type. |
| minPrice | integer | No | – | Minimum monthly cold rent or purchase price in EUR. |
| maxPrice | integer | No | – | Maximum monthly cold rent or purchase price in EUR. |
| minRooms | number | No | – | Smallest number of rooms to include. |
| maxRooms | number | No | – | Largest number of rooms to include. |
| minArea | integer | No | – | Minimum living space in square metres. |
Show the other 23 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| maxArea | integer | No | – | Maximum living space in square metres. |
| minPlotArea | integer | No | – | Minimum plot or land size in square metres. |
| maxPlotArea | integer | No | – | Maximum plot or land size in square metres. |
| minYearBuilt | integer | No | – | Earliest year the building was constructed. |
| maxYearBuilt | integer | No | – | Latest year the building was constructed. |
| minBedrooms | integer | No | – | Smallest number of bedrooms to include. |
| maxBedrooms | integer | No | – | Largest number of bedrooms to include. |
| features | array | No | [] | Only include listings that have all selected features. Leave empty for no feature filter. |
| energyClass | array | No | [] | Only include listings with one of the selected German energy certificate classes (A+ is the most efficient). |
| buildState | array | No | [] | Only include listings in one of the selected building conditions. |
| projectTypes | array | No | [] | Only include listings with one of the selected project or tenure types, such as new build, resale, investment or apartment swap. |
| sellerType | string | No | any | Filter by private owners, professional agents, or any seller. |
| wbsRequired | boolean | No | false | Only include listings that require a certificate of eligibility (Wohnberechtigungsschein). |
| floorLocation | array | No | [] | Only include listings on one of the selected floor locations. |
| excludeGroundFloor | boolean | No | false | Skip ground-floor listings. |
| includeKeywords | array | No | [] | Keep only listings whose title or description contains every listed keyword (case-insensitive). |
| excludeKeywords | array | No | [] | Drop listings whose title or description contains any listed keyword (case-insensitive). |
| sortBy | string | No | – | Order applied by Immowelt across the whole result set, not just one page. |
| maxItems | integer | No | 100 | Hard cap on emitted listings. Full result sets are paginated, so values up to 10,000 are supported. |
| searchUrl | string | No | – | A full Immowelt search-results URL, either a modern /classified-search URL or a /suche/... page. Any filters in the URL are respected. |
| propertyIds | array | No | [] | Immowelt classified IDs or full /expose/... URLs. Both forms can be mixed. |
| includeDetails | boolean | No | false | Fetch each listing's exposé page to add construction year, heating, energy consumption, coordinates, amenities, price breakdown, documents and the full description. Adds one request per listing. |
| maxDetails | integer | No | 0 | How many emitted listings get exposé enrichment. 0 means all emitted listings. |
Example input
Built from the input form's published example values and defaults.
{
"mode": "search",
"city": "Berlin",
"distributionType": "mieten",
"estateType": "wohnung",
"features": [],
"energyClass": [],
"buildState": [],
"projectTypes": [],
"sellerType": "any",
"wbsRequired": false,
"floorLocation": [],
"excludeGroundFloor": false,
"includeKeywords": [],
"excludeKeywords": [],
"maxItems": 5,
"propertyIds": [],
"includeDetails": false,
"maxDetails": 0
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search",
"city": "Berlin",
"distributionType": "mieten",
"estateType": "wohnung",
"features": [],
"energyClass": [],
"buildState": [],
"projectTypes": [],
"sellerType": "any",
"wbsRequired": False,
"floorLocation": [],
"excludeGroundFloor": False,
"includeKeywords": [],
"excludeKeywords": [],
"maxItems": 5,
"propertyIds": [],
"includeDetails": False,
"maxDetails": 0
}
run = client.actor("vexaloom-labs/immowelt-germany-rent-and-buy-listings-scraper").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "search",
"city": "Berlin",
"distributionType": "mieten",
"estateType": "wohnung",
"features": [],
"energyClass": [],
"buildState": [],
"projectTypes": [],
"sellerType": "any",
"wbsRequired": false,
"floorLocation": [],
"excludeGroundFloor": false,
"includeKeywords": [],
"excludeKeywords": [],
"maxItems": 5,
"propertyIds": [],
"includeDetails": false,
"maxDetails": 0
};
const run = await client.actor("vexaloom-labs/immowelt-germany-rent-and-buy-listings-scraper").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~immowelt-germany-rent-and-buy-listings-scraper/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"search","city":"Berlin","distributionType":"mieten","estateType":"wohnung","features":[],"energyClass":[],"buildState":[],"projectTypes":[],"sellerType":"any","wbsRequired":false,"floorLocation":[],"excludeGroundFloor":false,"includeKeywords":[],"excludeKeywords":[],"maxItems":5,"propertyIds":[],"includeDetails":false,"maxDetails":0}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vexaloom-labs/immowelt-germany-rent-and-buy-listings-scraper",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among Immowelt routes
It ranks 1 of 1 catalogue Actors for Immowelt on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 Immowelt Germany Rent & Buy Listings Scraper 14 output fields, pay per event 4 of 6 core fields
$0.99 / 1K - + 5 other Store tools, combined Reference only 6 of 6 core fields
from $1.00 / 1K - API No public listing API No open API fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Official route: No public listing API
No open API. Immowelt does not publish a general public property API.
Not applicable.
Other Store tools for Immowelt
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| Immowelt Scraper | 40 | $4.00 |
| Immowelt Scraper | 17 | $1.00 |
| Immowelt Scraper | 21 | $2.00 |
| Immowelt Property Listings Scraper | 27 | $15.99 |
| Immowelt.de Agents & Search By Url or Keywords | – | $0.90 |
What people use it for
- Find rental listings
- Find properties for sale
- Analyze property prices
Similar Actors
Brazil Rental & Sale Listings by City (QuintoAndar)
Search Brazilian rental and sale property listings by city and transaction type: price breakdown, bedrooms, bathrooms, area, furnishing, and…
Century 21 Listings & Property Detail Finder
Find Century 21 homes for sale or rent by city, county, neighborhood, or ZIP with price and size filters, or look up a property by address with…
Crexi Commercial Property Listings & Pricing Extractor
Collects active commercial real estate listings from Crexi across any US state and 14 property types, with asking price, square footage, location,…
Fotocasa Spain Sale & Rental Listings Scraper
Search Fotocasa listings for sale or rent across Spain by city, property type, price range, and bedrooms. Each result includes price, size,…
Idealista Search Listings Price & Feature Scraper
Pull real estate search-result listings from Idealista for Spain, Italy, and Portugal: price, size, rooms, address, thumbnail, feature flags, and…
Indian Property Listings Finder by City & BHK
Search sale and rental property listings across 31 Indian cities by BHK, property type, locality and price band, with area, poster identity and…
Questions people ask
How much does Immowelt Germany Rent & Buy Listings Scraper cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What data does Immowelt Germany Rent & Buy Listings Scraper return?
Its published output schema lists 14 fields: title, city, district, distributionType, estateType, priceCold, priceWarm, purchasePrice, rooms, livingSpaceSqm, yearBuilt, energyClass, and 2 more. A listed field is not guaranteed to be filled in every row.
What input does Immowelt Germany Rent & Buy Listings Scraper need?
Required: mode. Optional settings include city, distributionType, estateType, estateSubType, minPrice, maxPrice.
How do I run Immowelt Germany Rent & Buy Listings Scraper from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("vexaloom-labs/immowelt-germany-rent-and-buy-listings-scraper").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("vexaloom-labs/immowelt-germany-rent-and-buy-listings-scraper").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/vexaloom-labs~immowelt-germany-rent-and-buy-listings-scraper/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- Immowelt Germany Rent & Buy Listings Scraper on Apify Store
- Published build with input and output schema (JSON)
- No public listing API documentation
Cite this page
Scraper Finder. "Immowelt Germany Rent & Buy Listings Scraper." https://scraperfinder.com/catalogue/immowelt-germany-rent-and-buy-listings-scraper/ (data checked 2026-11-12).
Run Immowelt Germany Rent & Buy Listings Scraper
$0.99 per 1,000 results. Paste the example input above, set your Immowelt query, then export the dataset. Still choosing? Compare every Immowelt route.