Immoweb Commercial Scraper - Belgian Offices & Land
Pricing
from $1.20 / 1,000 result scrapeds
Immoweb Commercial Scraper - Belgian Offices & Land
Scrape commercial property listings from Immoweb.be, Belgium's largest real-estate portal: offices, commercial premises, industrial buildings and building land, for sale or rent. Prices, surfaces, locations, agency names.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Immoweb Commercial Scraper
Scrape commercial property listings from Immoweb.be, Belgium's largest real-estate portal. This actor covers the commercial side of the portal: offices (kantoor / bureau), commercial premises (handelszaak / commerce), industrial buildings and warehouses (industrie), land and building land (bouwgrond / terrain à bâtir), and garages. For sale and for rent.
Each result comes from the portal's own structured data feed, not from parsed page text. You get clean numbers: asking price or monthly rent, rent per m2 per year, price per m2 for sales, floor and plot surfaces, the full address with postal code, province and region, coordinates, the listing agency's name, and a direct link to the listing.
The portal carries roughly 2,400 offices, 6,600 commercial buildings, 3,500 industrial properties and well over 9,000 land listings for sale at any time, plus the rental side of each market.
Why use it
- Market research: track asking prices and rents per municipality, province or segment across Belgium.
- Investment screening: building land (bouwgrond) is a strong Belgian investor niche; filter plots by location and compare price per m2.
- Site selection: compare office or retail rents across cities before committing to a location.
- Lead generation: every listing carries the agency name, so you can see who is active in a segment and where.
- Monitoring: run it on a schedule with sort order "Newest first" and diff against the previous dataset to catch new listings the day they appear.
How to scrape Immoweb commercial data
- Set Location to a Belgian city, district or province. Dutch, French and English spellings all work:
Gent,Gand,Antwerpen,Anvers,Liège,Luik,Brussel,Bruxelles. A 4-digit postal code (9000) or a comma-separated list (9000,9030) also works. Leave it empty to scrape the whole country. - Pick a Property Segment: office, commercial premises, business (the broadest commercial category), industry, land, building land, or garage. "All commercial" runs offices, business, industry and land in one go.
- Pick a Listing Type: for sale, for rent, or both.
- Set Max Results and run. Results land in the dataset as one flat JSON object per listing.
Example: kantoren te huur in Gent (offices for rent in Ghent):
{"searchQuery": "Gent","segment": "office","listingType": "rent","maxResults": 200}
Example: bouwgrond te koop in de provincie Antwerpen (building land for sale in the province of Antwerp):
{"searchQuery": "Antwerpen","segment": "building-land","listingType": "sale","maxResults": 500}
Example: bureaux à louer à Liège (offices for rent in Liège, French spelling):
{"searchQuery": "Liège","segment": "office","listingType": "rent","maxResults": 100}
An empty input {} works as well. It returns commercial listings for sale from all of Belgium, up to the default cap of 100.
How the location filter works
The actor resolves your location text through Immoweb's own location search, the same one behind the search box on the site. It takes the top suggestion, exactly as if you clicked the first entry in the dropdown. Gent resolves to the Gent district, Antwerpen to the Antwerp district, 9000 to that postal code. If the text cannot be resolved to a Belgian location, the run fails with a clear message instead of silently returning country-wide results.
Input options
| Field | Type | Description |
|---|---|---|
searchQuery | string | Belgian city, district or province (NL, FR or EN spelling), or postal code(s). Empty = all of Belgium. |
segment | string | all-commercial (default), office, commercial-premises, business, industry, land, building-land, garage. |
listingType | string | sale (default), rent, or all. |
orderBy | string | relevance (default) or newest. |
maxResults | integer | Cap on total listings returned, across all selected segments. Default 100. Each segment and listing type combination can yield at most about 10,000 listings, which is the portal's own pagination ceiling. |
proxyConfiguration | object | Belgian residential proxy by default. Immoweb blocks datacenter IPs. |
Output fields
| Field | Example | Description |
|---|---|---|
id | 21724601 | Immoweb classified id |
title | "Office space for rent along Kortrijksesteenweg" | Listing headline |
segment | "office" | Property type: office, commercial, industry, land, garage |
subtype | "offices" | Immoweb subtype (office_block, commercial_premises, warehouse, building_land, ...) |
listingType | "rent" | sale or rent |
price | 2805 | Sale: total asking price. Rent: monthly rent. Null when the price is on request |
currency | "EUR" | Always EUR |
priceUnit | "EUR/month" | EUR total for sales, EUR/month for rentals |
priceText | "€2,805 (+ €1,122)" | Price exactly as Immoweb displays it |
monthlyCosts | 1122 | Monthly charges on top of the rent |
yearlyRentPerSqm | 110 | Rent in EUR per m2 per year, the standard commercial quote |
salePricePerSqm | 142 | Price per m2 for sale listings |
surface | 306 | Floor area in m2 (null for bare land) |
landSurface | 850 | Plot area in m2 |
street, houseNumber | "Kortrijksesteenweg", "88" | Address |
postalCode, locality | "9830", "Sint-Martens-Latem" | Municipality |
district, province, region | "Gent", "East Flanders", "Flanders" | Administrative location (English names) |
latitude, longitude | 51.0124, 3.6409 | Coordinates |
agencyName | "CD-Vastgoed" | Listing agency |
imageUrl | "https://media-resize.immowebstatic.be/..." | First listing photo |
publicationDate | "2026-07-30T13:58:39.007Z" | Last modification date |
url | "https://www.immoweb.be/en/classified/21724601" | Direct link to the listing |
source | "immoweb.be" | Constant |
scrapedAt | "2026-08-18T12:00:00.000Z" | Scrape timestamp |
Example output
{"id": 21724601,"title": "Office space for rent along Kortrijksesteenweg","segment": "office","subtype": "offices","listingType": "rent","price": 2805,"currency": "EUR","priceUnit": "EUR/month","priceText": "€2,805 (+ €1,122)","priceLabel": "Requested monthly rental price","monthlyCosts": 1122,"yearlyRentPerSqm": 110,"salePricePerSqm": null,"surface": 306,"landSurface": 306,"street": "Kortrijksesteenweg","houseNumber": "88","postalCode": "9830","locality": "Sint-Martens-Latem","district": "Gent","province": "East Flanders","region": "Flanders","country": "Belgium","latitude": 51.0124381,"longitude": 3.6408877,"agencyName": "CD-Vastgoed","imageUrl": "https://media-resize.immowebstatic.be/classifieds/...jpg","publicationDate": "2026-07-30T13:58:39.007Z","url": "https://www.immoweb.be/en/classified/21724601","source": "immoweb.be","scrapedAt": "2026-08-18T12:00:00.000Z"}
Cost estimate
Pricing is per result: about $0.002 per listing plus a small per-run start fee, so roughly 500 listings per $1. One request to the portal returns 30 listings, so proxy and compute overhead stay low even on large runs.
Note that a run's usage cost only settles after the run reports SUCCEEDED. A cost read mid-run shows a partial number that can be far too low; wait for the run to finish before estimating spend from it.
Limitations
- Prices marked "on request" by the seller are returned as
price: nullwith the portal's wording inpriceText. This is normal in commercial real estate; a meaningful share of offices and commercial premises list without a public price. surfaceis null for bare land; uselandSurfacefor plots.- Each segment and listing-type combination paginates up to about 10,000 listings, the portal's own ceiling. Narrow by location if you need a complete slice of a bigger market.
- Land for rent barely exists on the portal; a land + rent search will usually return nothing.
- Residential property (houses, apartments) is out of scope here. Use the Immoweb Scraper actor for those.