Immoweb Scraper — Belgian Real Estate Listings avatar

Immoweb Scraper — Belgian Real Estate Listings

Pricing

$10.00 / 1,000 listing scrapeds

Go to Apify Store
Immoweb Scraper — Belgian Real Estate Listings

Immoweb Scraper — Belgian Real Estate Listings

Scrape Immoweb.be property listings: price, surface, bedrooms, location, photos. Clean normalized output, no personal data. Pay only for listings delivered.

Pricing

$10.00 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

EstateLab

EstateLab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Extract property listings from Immoweb.be, Belgium's largest real estate portal: asking price, habitable surface, bedrooms, locality, postal code, province, photos and publication dates — in a clean, stable JSON schema.

You pay only for listings actually delivered. No start fee, no charge for empty runs.

What you get

Houses and apartments for sale or for rent, with a normalized output that stays identical from run to run — so your spreadsheet, database or dashboard never breaks. Plus two things other Immoweb scrapers don't give you: price per m² on every listing, and a market summary of median €/m² by locality.

Typical uses: market and price analysis, comparable-property research, investment screening, competitor monitoring for agencies, feeding a valuation model, tracking new listings in a given area.

Input

The easy way — paste your search URL. Build the search you want on Immoweb itself, with any filters the site offers (price, surface, EPC rating, build year, garden, terrace…), then paste the address into searchUrl. The Actor paginates through it. No need to rebuild your filters in a form.

{
"searchUrl": "https://www.immoweb.be/en/search/house/for-sale?countries=BE&maxPrice=400000&minBedroomCount=3",
"maxPages": 10
}

Or use the simple filters, if you'd rather not touch a URL:

FieldWhat it doesDefault
searchUrlImmoweb search URL to paginate. Overrides the filters below
propertyTypehouse, apartment, land, building, garage, office, commercialhouse
transactionTypesale or rentsale
postalCodesRestrict to specific Belgian postal codes; empty covers the country[]
maxPagesEach page yields up to 30 listings5
maxListingsHard cap on delivered listings, 0 for none0
languagefr, nl or en — all three fully supportedfr
marketSummaryWrite the median €/m² summary to the key-value storetrue
requestDelaySecondsPause between page requests1
{
"propertyType": "apartment",
"transactionType": "sale",
"postalCodes": ["1000", "2000"],
"maxPages": 10
}

Output

One row per listing:

{
"portal": "immoweb",
"listingId": "21773122",
"url": "https://www.immoweb.be/fr/annonce/maison/a-vendre/woluwe-saint-lambert/1200/21773122",
"transactionType": "sale",
"propertyType": "HOUSE",
"propertySubtype": "HOUSE",
"title": "Maison avec jardin et beau potentiel",
"price": 649000,
"priceMin": null,
"priceMax": null,
"priceDisplay": "649 000 €",
"currency": "EUR",
"habitableSurface": 180,
"landSurface": null,
"bedrooms": 4,
"rooms": null,
"pricePerSqm": 3606,
"country": "Belgique",
"region": "Bruxelles",
"province": "Bruxelles",
"locality": "Woluwe-Saint-Lambert",
"postalCode": "1200",
"images": ["https://media-resize.immowebstatic.be/..."],
"flags": ["new"],
"agency": "ABITA IMMO",
"publishedAt": null,
"updatedAt": "2026-08-20T10:04:48.571Z",
"scrapedAt": "2026-08-20T18:22:10.004Z"
}

New-development projects are sold as a range rather than a single figure: for those, price is null and priceMin / priceMax carry the bracket, while priceDisplay always holds the human-readable value.

Market summary

At the end of each run, a MARKET_SUMMARY entry is written to the run's key-value store: median, minimum and maximum price per m² for every locality with at least three comparable listings.

[
{ "locality": "Liège", "transactionType": "sale", "propertyType": "HOUSE",
"listings": 4, "medianPricePerSqm": 1548,
"minPricePerSqm": 1063, "maxPricePerSqm": 1878 }
]

Sales and rentals are grouped separately, as are property types — mixing them would produce a meaningless median, since a rent per m² is monthly. Set marketSummary to false to skip it.

No personal data

This Actor describes properties, not people. It never collects seller names, phone numbers, email addresses or any contact details.

The agency field is filled only when the advertiser's name carries a recognised company legal form (NV, BV, SA, SPRL, GmbH, Ltd…), which identifies a legal entity. Any name that could belong to a private individual is dropped rather than published. That keeps the output outside the scope of personal data processing under the GDPR.

Reliability

  • A page that fails is retried up to three times, then recorded in the FAILED_PAGES key of the run's key-value store. A single bad page never aborts the run — you always know exactly what was and wasn't collected.
  • Listings are deduplicated by ID across pages.
  • No headless browser is used, which makes runs fast and cheap: one HTTP request returns thirty listings.

Pricing

Pay-per-event, charged per listing delivered to the dataset. A run that returns nothing costs nothing.

Terms of use

You are responsible for how you use the data this Actor returns. Review Immoweb's terms of service and your local regulations before running it, especially if you intend to redistribute or publish the collected data. Keep request volumes reasonable — the default delay between pages exists for that purpose. This Actor is not affiliated with, endorsed by, or connected to Immoweb.

Roadmap

Same schema, other European portals: Idealista (ES), Rightmove (UK), Funda (NL), ImmoScout24 (DE), Immobiliare (IT), SeLoger (FR), Zoopla (UK). Swap the Actor, keep your pipeline.