Immowelt.de Scraper - Rent & Buy Listings, New Listings Monitor avatar

Immowelt.de Scraper - Rent & Buy Listings, New Listings Monitor

Pricing

from $0.90 / 1,000 listings

Go to Apify Store
Immowelt.de Scraper - Rent & Buy Listings, New Listings Monitor

Immowelt.de Scraper - Rent & Buy Listings, New Listings Monitor

Scrape immowelt.de apartments and houses for rent or sale by city: cold and warm rent, price, m², rooms, €/m², address, district, floor, energy class, agency, photos. Only-new mode for alerts. Duplicates are free.

Pricing

from $0.90 / 1,000 listings

Rating

0.0

(0)

Developer

Nursultan Imanov

Nursultan Imanov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

What does Immowelt.de Scraper do?

Immowelt.de Scraper extracts real estate listings from immowelt.de, one of Germany's largest property portals. Enter a city, choose rent or buy and apartments or houses, and get clean, structured data: cold rent and warm rent, purchase price, living area (m²), rooms, price per m², address, postal code, city and district, floor, energy class, building condition, agency name, photos, listing date and a short description.

Use it as an immowelt API for rental market research, price per m² analysis, flat-hunting alerts, investment screening or lead lists of real estate agencies across German cities.

Why use this immowelt scraper?

  • 🔔 Only new listings since the last run. Turn on Only new listings, schedule the Actor (for example hourly) and get just the listings you have not seen yet. Ideal for flat alerts and market monitoring.
  • 🏙️ City and district coverage. Each city page links its districts (Berlin: 25). The Actor reads them too, so one input like Berlin covers Mitte, Kreuzberg, Pankow, Charlottenburg and the rest.
  • 💶 Numbers, not text. "1.382 €" becomes 1382.22; cold rent, warm rent, living area, rooms and price per m² are separate numeric fields, ready for spreadsheets.
  • 🎯 Filters that work. Min/max price, rooms and living area, agencies or private owners only.
  • 🔁 No duplicates charged. A listing that appears in the city page and in a district page is saved and billed once.
  • 🛡️ Privacy by default. Names of private owners and contact persons are never collected, private owners' street addresses are left out, phone numbers and e-mails in text are masked.
  • ⚡ Fast and cheap. Plain HTTP, no browser: 1,000 listings in about 90 seconds.

How much does it cost to scrape immowelt?

You pay $0.90 per 1,000 listings saved to the dataset. Duplicates, filtered-out listings and searches with no results are free. Cap spending with Max listings and the run's maximum cost.

How to scrape immowelt.de

  1. Enter one or more Locations (Berlin, München, Frankfurt am Main, Halle (Saale)).
  2. Choose Rent or buy and Property type (apartment or house).
  3. Optionally set filters (price, rooms, living area, seller type) and Max listings.
  4. For alerts: turn on Only new listings, give the search its own Memory key and add a schedule.
  5. Click Start and download JSON, CSV or Excel, or use the Apify API.

You can also paste immowelt search URLs (https://www.immowelt.de/suche/mieten/wohnung/berlin/berlin-10115/ad08de8634, district or feature pages like …/suche/mieten/wohnung/balkon-terrasse/…).

How much does one search return? immowelt shows the first 30-40 listings of each search page to automated visitors; the next pages are reached through URLs that immowelt's robots.txt closes, and this Actor respects robots.txt. That is why it reads the city page plus every district page (and, optionally, the 1- to 6-room pages): a large city gives several hundred to over a thousand listings per run, and Only new listings picks up what changes between runs.

Input example

{
"locations": ["Berlin", "Hamburg"],
"dealType": "rent",
"propertyType": "apartment",
"maxItems": 500,
"maxPrice": 1500,
"minRooms": 2,
"includeDistricts": true,
"onlyNewListings": true,
"stateKey": "berlin-hamburg-2rooms"
}

Output example

{
"id": "2617G1NCXU87",
"url": "https://www.immowelt.de/expose/43d4582e-affa-4ee4-9082-0146a35e8a0a",
"title": "Wohnung zur Miete",
"headline": "Traumhafter Erstbezug, Stilvolle Altbauperle mit hochwertiger Einbauküche & Vollausstattung",
"descriptionSnippet": "DE - Möbliertes Altbau-Apartment (Erstbezug nach Kernsanierung) - Befristete Vermietung in Prenzlauer Berg ...",
"dealType": "rent",
"propertyType": "apartment",
"price": 1062,
"priceLabel": "Kaltmiete",
"coldRent": 1062,
"warmRent": 1290,
"pricePerSqm": 26.55,
"currency": "EUR",
"livingArea": 40,
"rooms": 1,
"floor": 3,
"floorText": "3. Geschoss",
"street": "Krügerstraße 9",
"postalCode": "10439",
"city": "Berlin",
"district": "Prenzlauer Berg",
"state": "Berlin",
"energyClass": "D",
"buildingCondition": "FULLY_RENOVATED",
"sellerType": "agency",
"agencyName": "OhneMakler GmbH",
"agencyProfileUrl": "https://www.immowelt.de/profil/5ba347d760714ccc97f0f7d38252a296",
"agencyWebsite": "https://www.ohne-makler.net/",
"isProject": false,
"hasBrokerageFee": false,
"isNew": true,
"hasFloorPlan": true,
"imageUrl": "https://mms.immowelt.de/3/1/f/9/31f9a479-19e0-44e3-92cb-815f15a0a958.jpg",
"images": ["https://mms.immowelt.de/3/1/f/9/31f9a479-19e0-44e3-92cb-815f15a0a958.jpg", "..."],
"imageCount": 27,
"createdAt": "2026-10-07T09:48:08.187Z",
"updatedAt": "2026-10-09T13:03:17.942Z",
"source": "immowelt.de",
"searchUrl": "https://www.immowelt.de/liste/berlin/wohnungen/mieten",
"pageUrl": "https://www.immowelt.de/suche/mieten/wohnung/berlin/berlin-10115/ad08de8634",
"scrapedAt": "2026-10-12T21:10:27.144825+00:00"
}

Fields you get

FieldDescription
id, legacyId, urlimmowelt listing ID and link to the listing
title, headline, descriptionSnippetListing type line, the agency's headline and the short description shown in results
dealType, propertyType, isProjectrent / buy, apartment / house, new-build project flag
price, priceLabelMain price as a number: cold rent (Kaltmiete) for rentals, purchase price (Kaufpreis) for sales
coldRent, warmRentKaltmiete and Warmmiete in EUR (rentals)
pricePerSqmEUR per m² (immowelt's own value for sales, calculated from price and area for rentals)
livingArea, plotArea, roomsm², plot m² (houses), number of rooms
floor, floorText, availableFromFloor as a number (ground floor = 0) and as shown, availability
street, postalCode, city, district, stateAddress of the property (street only when the agency published it)
energyClass, buildingConditionEnergy efficiency class (A+ to H) and condition (first-time use, renovated, ...)
sellerType, agencyName, agencyProfileUrl, agencyWebsiteAgency or private owner; agency (business) name and links
hasBrokerageFee, isNew, hasFloorPlan, hasVirtualTour, hasVideo, labelsFlags from the listing card
imageUrl, images, imageCountMain photo, all photo URLs and their count
createdAt, updatedAtWhen the listing was created and last updated on immowelt
source, searchUrl, pageUrl, scrapedAtWhere and when the record was collected

Known gaps

  • Year of construction and the full description are only on the listing page itself, which immowelt protects with a captcha. This Actor never solves captchas, so those fields are not included; the results-page data above is complete for every listing.
  • Street is empty when the agency did not publish the exact address, and always for private owners.
  • One page per search. See "How much does one search return?" above.

FAQ

Is it legal to scrape immowelt? The Actor reads only public search pages that immowelt's robots.txt allows, without logging in and without bypassing any protection. It does not collect names or phone numbers of private persons. You are responsible for using the data in line with GDPR and immowelt's terms.

Do I need a proxy? Usually not. If immowelt rate-limits the run (HTTP 429), the Actor switches to Apify Proxy when it is enabled in the input. If immowelt shows a captcha, the run stops and tells you, it does not try to get around it.

How do I get only new listings? Turn on Only new listings and schedule the Actor. Use a different Memory key for each saved search.

Can I search postcodes or districts directly? Paste the district's immowelt search URL into Search URLs, or use the city and keep Include district pages on.

Something broke or a field is missing? Open an issue on the Actor's Issues tab with the input you used. We usually reply within a day.