DAHLER Real Estate Scraper avatar

DAHLER Real Estate Scraper

Pricing

from $4.70 / 1,000 dataset items

Go to Apify Store
DAHLER Real Estate Scraper

DAHLER Real Estate Scraper

Scrapes buy and rent listings from DAHLER Immobilien (dahler.com) across Germany, Austria, and Spain. Extracts prices, property details, images, contact info, and energy certificate data via the public Solr search API and listing detail pages.

Pricing

from $4.70 / 1,000 dataset items

Rating

0.0

(0)

Developer

Data Scrapers

Data Scrapers

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Security

Limited permissions

Share

DAHLER Real Estate Scraper creates a structured dataset of buy and rent listings collected from DAHLER (dahler.com) in Germany, Austria, and Spain. Each dataset item is one property and can include property_id, title, URL, purchase type, price or base rent, living area, room count, property type, city, country, coordinates, and energy class when the detail page provides it. Query the source with region and marketingTypes (buy, rent, or both). Cap the run with maxItems. Turn on fetchDetails for gallery, description, and office fields. Retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, or XML.

DAHLER Real Estate Scraper — input to structured data

Dataset at a glance

PropertyValue
Sourcedahler.com
Record unitOne property listing
Input methodsregion, marketingTypes, fetchDetails
Main identifiersproperty_id, url
DeliveryApify Dataset and API
Export formatsJSON, CSV, Excel, XML
Update modelFresh records per Actor run
Pricing$5.00 per 1,000 dataset-item events. Platform usage is billed separately.

Coverage and available records

Regions follow the Actor input, including a German state, Berlin, nationwide Germany, Austria, and Spain. marketingTypes selects buy, rent, or both. Overview rows come from the public search index. fetchDetails opens the listing page for description, images, energy data, and office contact. A detail failure keeps the overview row.

price is the asking purchase price for buy listings. base_rent is the rent figure for rent listings. price_on_request is true when the index marks the price as on request, and the numeric price is then empty.

Data dictionary

FieldTypeNullableDescriptionExample
property_idstringnoDAHLER property id. Deduplication key.DC-BER32752
urlstringyesListing pagehttps://www.dahler.com/de/immobilie-kaufen/wohnimmobilien/dachgeschoss/berlin/dachgeschoss-highlight-mit-sonnenterrassen-am-rosenthaler-platz/DC-BER32752
titlestringyesListing headline. Stored in German.Dachgeschoss-Highlight mit Sonnenterrassen am Rosenthaler Platz
purchase_typestringyesBUY or RENTBUY
marketing_typestringyesbuy or rentbuy
pricenumberyesAsking purchase price, EUR995000
base_rentnumberyesRent amount when the listing is a rental
price_on_requestbooleanyesTrue when no public price is postedfalse
price_per_m2numberyesPrice per square meter7571.43
living_area_m2numberyesLiving area139.27
nr_roomsnumberyesRoom count4.0
property_typestringyesNormalized typeOTHER
citystringyesLocality labelBerlin / Mitte
countrystringyesCountry labelDeutschland
energy_classstringyesEnergy class when the detail page has one

Example dataset record

Saved buy listing from a Berlin search. The headline on the site is German. Office contact names are omitted.

{
"property_id": "DC-BER32752",
"url": "https://www.dahler.com/de/immobilie-kaufen/wohnimmobilien/dachgeschoss/berlin/dachgeschoss-highlight-mit-sonnenterrassen-am-rosenthaler-platz/DC-BER32752",
"title": "Dachgeschoss-Highlight mit Sonnenterrassen am Rosenthaler Platz",
"purchase_type": "BUY",
"price": 995000,
"living_area_m2": 139.27,
"property_type": "OTHER",
"city": "Berlin / Mitte",
"base_rent": null,
"energy_class": null
}

Query and input reference

FieldTypeDescription
regionstringSearch region, such as Berlin, Deutschland, or Austria.
marketingTypesarraybuy, rent, or both.
fetchDetailsbooleanOpen listing pages for description, images, and office fields.
maxDetailConcurrencyintegerParallel detail requests.
maxItemsintegerMaximum listings.
proxyConfigurationobjectApify proxy settings. Residential is the intended default.

Retrieve the data through the API

from apify_client import ApifyClient
client = ApifyClient("YOUR-APIFY-TOKEN")
run = client.actor("datascrapers/dahler-scraper").call(run_input={
"region": "Berlin",
"marketingTypes": ["buy", "rent"],
"fetchDetails": True,
"maxItems": 5,
"proxyConfiguration": {
"useApifyProxy": True,
"apifyProxyGroups": ["RESIDENTIAL"],
},
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["property_id"], item["city"], item.get("price"))

Data quality and record handling

Deduplicate on property_id. Prices are asking figures from DAHLER, in EUR unless the record says otherwise. price and base_rent are separate: a buy row leaves base_rent empty, and a rent row leaves price empty when the index only has rent. Coordinates come from the search index. Energy class is present only after a successful detail fetch.

Pricing and cost examples

EventWhen it firesFreeBronzeSilverGold
dataset-itemEvery listing saved$5.00 / 1,000$4.90 / 1,000$4.80 / 1,000$4.70 / 1,000

Platinum and Diamond use the Gold rate. Platform usage, including residential proxy traffic, is billed separately.

1,000 saved listings cost $5.00 in event charges on Free and $4.70 on Gold, plus platform usage.

Limitations and responsible data use

DAHLER can change region coverage and listing ids. Asking prices are not transaction prices. Office emails on a detail page belong to the agency. Use the dataset for market research. Do not treat a missing price as zero. price_on_request means the figure was withheld.

Dataset questions

What is one record?

One DAHLER listing, buy or rent.

Which field is the key?

property_id.

Does fetchDetails change the charge?

No. The saved listing is one dataset-item whether or not the detail page was opened.

Data Scrapers support

Questions about this dataset: stardustspotlight@gmail.com.