Immoweb Scraper
hipersoft/immoweb-scraper
Scrape public real-estate listings from Immoweb, Belgium's #1 property portal. Filter houses or apartments, for-sale or for-rent, by postal code or price, and export one clean row per property: price, location, bedrooms, surface, energy score, photos and listing URL as JSON, CSV or Excel.
Total users
2Monthly users
1Total runs
56Per property scraped
$0.003Last rebuilt
Oct 26, 2026Overview
Scrape public real-estate listings from Immoweb, Belgium's #1 property portal, and export clean, structured data. Choose houses or apartments, for sale or for rent, narrow down by postal code or price — or paste a ready-made Immoweb search or property URL — and get one tidy row per property: price, location, bedrooms, living surface, land surface, energy score (EPC), map coordinates, photos and the listing link. Download everything as JSON, CSV or Excel, or pull it straight from the API.
Great for real-estate market research, price benchmarking, investment analysis, building a property feed, or tracking listings across Belgium.
What it does
- 🏠 Houses, apartments and more — pick houses, apartments, new-build, land, garages, offices or businesses.
- 🏷️ For sale or for rent — choose the transaction type you want.
- 📍 Filter by postal code — limit the search to one or more Belgian postal codes (e.g.
1000Brussels,2000Antwerp,9000Ghent). - 💶 Filter by price — set a minimum and/or maximum price (sale price, or monthly rent for rentals).
- 🔗 Paste Start URLs — drop in any Immoweb search or property URL straight from your browser.
- 📐 Rich property fields — price, living surface (m²), land surface, bedrooms, energy score, coordinates and photos.
- 🔎 Optional full details — enable Include full details for description, bathrooms, construction year, energy consumption, heating, parking and every photo.
- 📊 Clean, flat output — ready for spreadsheets, databases and dashboards.
Input
| Field | Description |
|---|---|
| Property type | house, apartment, new-real-estate, garage, land, office or business. |
| Transaction | Collect properties for sale or for rent. |
| Postal codes / localities | Optional list of Belgian postal codes to limit the search. |
| Minimum / Maximum price (€) | Optional price range (sale price, or monthly rent for rentals). |
| Start URLs | Optional list of Immoweb search or property URLs. When set, these are used instead of the fields above. |
| Include full details | Fetch each property's detail page for extra fields. Slower, richer output. |
| Max items | Maximum number of properties to collect (0 = no limit). |
Example input
{
"propertyType": "house",
"transaction": "for-sale",
"postalCodes": ["1000", "9000"],
"minPrice": 200000,
"maxPrice": 500000,
"maxItems": 100
}
Output
Each property is one record. Example (fields vary by listing):
{
"id": "21814826",
"type": "HOUSE",
"subtype": "HOUSE",
"title": "Flémalle, 4 bedrooms, terrace, garden",
"transactionType": "FOR_SALE",
"price": 199000,
"currency": "EUR",
"priceLabel": "€199,000",
"locality": "Flémalle",
"postalCode": "4400",
"province": "Liège",
"region": "Wallonie",
"district": "Liège",
"street": "Grand'Route",
"bedroomCount": 4,
"netHabitableSurface": 152,
"landSurface": 195,
"energyScore": "C",
"latitude": 50.5939295,
"longitude": 5.456208,
"agencyName": "Nigel Immo",
"thumbnailUrl": "https://media-resize.immowebstatic.be/.../736x736/....jpg",
"images": ["https://media-resize.immowebstatic.be/.../736x736/....jpg"],
"imageCount": 24,
"publishDate": "2026-09-06T01:38:48.517Z",
"detailUrl": "https://www.immoweb.be/en/classified/21814826",
"url": "https://www.immoweb.be/en/search-results/house/for-sale?countries=BE&page=1"
}
Search results always include type, price, location, bedrooms, surface, energy score, coordinates, photos and the listing link. Extra fields — full description, bathrooms, construction year, energy consumption, heating and every photo — are filled in when you enable Include full details.
Tips
- For a specific region or filter combination, run your search on the Immoweb website, then paste the resulting URL into Start URLs — the filters in the URL are respected.
- Add several Postal codes to cover multiple towns in a single run.
- Use Max items to cap large searches, or set it to
0to collect everything a search surfaces. - Turn on Include full details only when you need the richer per-property fields — it fetches each detail page and runs a little slower.
Notes
This scraper collects public property listings only. It does not access, require or return any user account, login or private data. Please use the data responsibly and in line with Immoweb's terms.
Input
| Field | Type | Description |
|---|---|---|
propertyTypeProperty type | string · house, apartment, new-real-estate, garage, land, office… | Which kind of property to collect. Ignored when Start URLs are set. Default: "house" |
transactionTransaction | string · for-sale, for-rent | Whether to collect properties for sale or for rent. Ignored when Start URLs are set. Default: "for-sale" |
postalCodesPostal codes / localities | array | Optional. One or more Belgian postal codes to limit the search to (e.g. 1000 for Brussels, 2000 for Antwerp, 9000 for Ghent). Leave empty to search all of Belgium. |
minPriceMinimum price (€) | integer | Optional. Only collect listings priced at or above this amount (sale price, or monthly rent for rentals). |
maxPriceMaximum price (€) | integer | Optional. Only collect listings priced at or below this amount (sale price, or monthly rent for rentals). |
startUrlsStart URLs | array | Optional. One or more Immoweb search-results or classified (property) URLs. Paste the URL straight from your browser. When set, these are used instead of the fields above. |
includeDetailInclude full details | boolean | Fetch each property's detail page for extra fields (full description, bathrooms, construction year, energy consumption, heating, parking, all photos). Slower, but richer output. Default: false |
maxItemsMax items | integer | Maximum number of properties to collect across all searches (0 = no limit; collect everything the searches return). Default: 100 |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~immoweb-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"postalCodes": []
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/immoweb-scraper").call(run_input={
"postalCodes": []
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/immoweb-scraper').call({
"postalCodes": []
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Property scraped Charged for each property listing successfully scraped and returned in the dataset. | $0.003 | $0.0015 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
CNN Fear & Greed Index Scraper
Scrape the CNN Fear & Greed Index: current market-sentiment score and rating, a full historical timeline, and all seven component indicators. Clean structured JSON, CSV or Excel for trading signals, backtesting, dashboards and alerting.
547 runs · 6 users · $0.003 / item scrapedDivar Scraper
Scrape classified ads from Divar, Iran's largest marketplace: title, price (Toman), category, city, district, images and the listing URL. Search any Iranian city with an optional keyword and export one clean row per ad as JSON, CSV or Excel. For market research, price tracking and n8n.
224 runs · 22 users · $0.003 / listing scrapedAirbnb Scraper
Search Airbnb by location and scrape listings: name, property type, price, rating, reviews, coordinates, photos, badges and link. For short-term rental, pricing and market research.
122 runs · 2 users · $0.005 / listing scrapedSingapore HDB Property Information Scraper
Export master data for every HDB block in Singapore (~13,300 blocks): address, town, year completed, max floor, total units, unit mix by flat type (sold & rental) and amenities (market/hawker, carpark, commercial, pavilion). Filter by town, street, year. Public open data, no setup.
113 runs · 1 users · $0.002 / block scrapedPropertyGuru Singapore Scraper
Scrape PropertyGuru Singapore property listings: price, beds, baths, size, address, property type, agent and URL. For property research and lead generation.
106 runs · 3 users · $0.004 / listing scrapedEdgeProp Singapore Property Scraper
Scrape EdgeProp Singapore property listings for sale and rent: price, address, beds, baths, size, PSF and URL.
105 runs · 1 users · $0.004 / listing scrapedSend the site and the fields. We build it and you get it first.