Immowelt.de Scraper — German Real Estate avatar

Immowelt.de Scraper — German Real Estate

Pricing

from $0.63 / 1,000 results

Go to Apify Store
Immowelt.de Scraper — German Real Estate

Immowelt.de Scraper — German Real Estate

Extract property listings from Immowelt.de, Germany's leading real estate portal. Buy & rent apartments, houses, land. No proxy required.

Pricing

from $0.63 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

1

Monthly active users

18 days ago

Last modified

Share

Immowelt.de Scraper

Immowelt.de Scraper

Extract property listings from immowelt.de at scale, in a clean, consistent structure ready for market analysis, valuation models, lead generation and monitoring. No API key required.


Why this scraper?

🎯 Built for Germany

A dedicated German scraper, not a global tool with a country dropdown. Locations, price formats and currency (EUR) are tuned for immowelt.de.

💶 Structured pricing

Asking price or rent as a clean number in EUR, plus the price exactly as displayed. Price-on-request listings return null, never a guess.

🏠 Property characteristics

Bedrooms, rooms, surface and property type in structured fields, ready for filtering and analysis.

📄 Full listing content

Complete listing description and title for every record, with a direct link back to the source.

🖼️ Listing photos

Photo URLs for every listing where the source publishes them.

🔁 Repost & change detection

Every record carries isRepost and changeStatus, so daily feeds return genuinely new listings instead of reposted duplicates.


Input parameters

ParameterTypeDefaultDescription
transactionstring"sale"Property operation type: buy or rent
propertyTypestring"apartments"Type of property to search
locationstring"deutschland"City name as in Immowelt URLs: muenchen, berlin, hamburg, frankfurt, koeln, duesseldorf, stuttgart, nuernberg. Use 'deutschland' for all Germany.
minPriceinteger(empty)Minimum listing price (local currency). Leave empty for no minimum.
maxPriceinteger(empty)Maximum listing price (local currency). Leave empty for no maximum.
daysOldinteger(empty)Only return listings published within the last N days. Leave empty for no recency filter.
fetchDetailsbooleanfalseIf true, opens each listing detail page to extract additional fields (description, floor plan, agent contact). Increases run time and cost.
maxItemsinteger100Maximum number of results to return
startUrlsarray(empty)Specific Immowelt search URLs. Overrides all other params.

Output schema

Every field below is present on every record. Fields the source does not publish for a given listing are returned as null rather than omitted.

FieldTypeDescription
idstringUnique listing ID from the source.
urlstringDirect link to the listing.
titlestringListing title as published.
operationTypestringOperation type.
propertyTypestringProperty type (e.g. apartment, house).
bedroomsnumberNumber of bedrooms (null if not stated).
bathroomsstringNumber of bathrooms (null if not stated).
surfaceTotalnumberSurface total.
surfacePlotstringSurface plot.
surfaceCoveredstringSurface covered.
surfaceUnitstringSurface unit.
floorNumbernumberFloor number.
priceTextstringPrice text.
priceAmountnumberAsking price or rent as a number (null if price on request).
priceCurrencystringCurrency code of the price.
priceTypestringPrice type.
streetAddressstringStreet address.
neighborhoodstringNeighborhood.
postalCodestringPostal code of the property.
countrystringCountry of the property.
energyClassstringEnergy class.
agencyNamestringAgency name.
featuresarrayFeature list as published on the listing.
imagesarrayURLs of listing photos.
shortDescriptionstringShort description.
descriptionTextstringDescription text.
descriptionHtmlstringFull listing description in HTML.
descriptionMarkdownstringDescription markdown.
publishDatestringPublish date.
publishDateISOstringPublish date iso.
sourcestringSource.
scrapedAtstringTimestamp when this record was scraped.
contentHashstringStable hash of the listing content, used for repost and change detection.

Example record

{
"id": "d79822e1-70f5-4c82-936d-84f8bc75d851",
"url": "https://www.immowelt.de/expose/d79822e1-70f5-4c82-936d-84f8bc75d851",
"title": "Wohnung zum Kauf - Erstbezug - Brandenburg an der Havel - 532.300 € - 3 Zimmer, 98,7 m², 5. Geschoss, frei ab sofort",
"operationType": "sale",
"propertyType": "Wohnung",
"bedrooms": 3,
"bathrooms": null,
"surfaceTotal": 98.7,
"surfacePlot": null,
"surfaceCovered": null,
"surfaceUnit": "m²",
"floorNumber": 5,
"priceText": "532.300 €",
"priceAmount": 532300,
"priceCurrency": "EUR",
"priceType": "5.393 €/m²",
"streetAddress": null,
"neighborhood": "Eichamtstraße, Neustadt",
"postalCode": "14776",
"country": "DE",
"energyClass": "B",
"agencyName": null,
"features": [
"frei ab sofort"
],
"images": [
"https://mms.immowelt.de/d/7/5/0/d750d48c-0cf1-4031-94c4-f997d1b8adee.jpg",
"https://mms.immowelt.de/9/b/b/b/9bbb8f84-5f1e-4539-9d25-bc83952f6da4.jpg",
"https://mms.immowelt.de/4/0/e/8/40e88991-0906-4a9a-bc24-ba174fa49d41.png"
],
"shortDescription": "Objektbeschreibung Im Herzen der Stadt, dennoch zurückgezogen von Lärm und Hektik und vom Wasser umarmt – hier ist das Packhof-Quartier gewachsen. Nicht nur die Lage bietet Ihnen dann zukünftig schön. …",
"descriptionText": null,
"descriptionHtml": null,
"descriptionMarkdown": null,
"publishDate": null,
"publishDateISO": null,
"source": "immowelt.de",
"scrapedAt": "2026-06-24T17:00:30.192Z",
"contentHash": "c956416333a40de1"
}

Examples

Listings in Berlin:

{
"location": "Berlin",
"maxItems": 100
}

Cap the price:

{
"location": "Berlin",
"maxItems": 100,
"maxPrice": 285000
}

Scrape a specific search URL:

{
"startUrls": [
{
"url": "https://www.immowelt.de/liste/muenchen/wohnungen/mieten"
}
],
"maxItems": 200
}

Daily feed of new listings (run on a schedule):

{
"location": "Berlin",
"daysOld": 1,
"maxItems": 500
}

Schedule this input to run once a day in the Apify Scheduler — each run returns only listings added in the last 24 hours.


💰 Pricing

$0.79 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.

ResultsCost
100~$0.08
1,000~$0.79
10,000~$7.9
100,000~$79

Flat-rate alternatives typically charge $29–$49/month regardless of usage.

Subscription tiers lower the rate further, down to $0.47 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeTypical time
100 resultsunder 1 minute
1,000 results2–4 minutes
10,000 results20–35 minutes

Known limitations

  • Some fields (surface, year built, energy label) are only returned when the lister publishes them — expect null on a share of records.
  • Listing photos and agent details vary per listing; the scraper returns what the source publishes and never invents data.
  • Very large result sets are bounded by the source's own paging limits.
  • Listings can be withdrawn at any time, so a small share of URLs may expire shortly after scraping.

Technical details

  • Source: immowelt.de — Germany property listings
  • Coverage: everything the public search exposes, filterable via the input parameters above
  • Retry: automatic retry on network errors with exponential backoff

Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl