Immoweb.be Real Estate Scraper avatar

Immoweb.be Real Estate Scraper

Pricing

Pay per usage

Go to Apify Store
Immoweb.be Real Estate Scraper

Immoweb.be Real Estate Scraper

Scrape live property listings from Belgium's largest real estate platform. Extract prices, bedrooms, bathrooms, location data, descriptions & contact details. Ideal for market analysis, price intelligence, property investment research & real estate portals. Structured, production-ready data.

Pricing

Pay per usage

Rating

5.0

(2)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

2

Monthly active users

10 days ago

Last modified

Share

What does Immoweb.be Real Estate Scraper do?

Immoweb.be Real Estate Scraper collects public property listings from Immoweb.be, one of Belgium's largest real estate platforms. It returns structured records with listing URLs, prices, property types, bedrooms, rooms, surface areas, locations, coordinates, agency information, publication data, and available images.

The easiest option is to paste an Immoweb search URL into startUrl. You can also create a search from property type and transaction type, then narrow the results with an optional keyword or Belgian postal code. The dataset is suitable for Belgian property market research, investment analysis, price monitoring, agency research, lead generation, and real estate data pipelines.

Why use Immoweb.be Real Estate Scraper?

  • Collect structured Belgian property data - Save listing information in consistent JSON records instead of copying data manually from search pages.
  • Use your own Immoweb filters - Paste a search URL that already contains the property type, transaction type, area, price, sorting, and other filters supported by Immoweb.
  • Cover sale and rental listings - Search houses, apartments, garages, land, offices, commercial properties, and combined house-and-apartment results.
  • Support market analysis - Compare prices, surfaces, bedrooms, localities, provinces, and transaction types across Belgian searches.
  • Track listing changes - Use listing IDs, detail URLs, publication metadata, and source URLs in recurring monitoring workflows.
  • Export and automate results - Download datasets as JSON, CSV, Excel, or XML, or connect runs to webhooks, Google Sheets, Make, Zapier, and the Apify API.

What data can you extract from Immoweb.be?

Each saved item contains the values available for that listing. Empty values are omitted so exports remain easier to use.

FieldTypeDescription
idIntegerImmoweb listing identifier
urlStringDirect Immoweb classified URL
titleStringListing title
property_typeStringMain property category
property_subtypeStringProperty subtype
transaction_typeStringSale or rental transaction type
priceIntegerNumeric sale or rental price when available
price_displayStringFormatted price shown for the listing
price_shortStringShort formatted price
old_priceIntegerPrevious price when published
price_per_sqmNumberSale price per square metre when available
bedroom_countIntegerNumber of bedrooms
room_countIntegerNumber of rooms
living_area_sqmNumberNet habitable surface in square metres
land_surface_sqmNumberLand surface in square metres
localityStringCity or locality
postal_codeStringBelgian postal code
streetStringStreet name when available
provinceStringBelgian province
regionStringBelgian region
latitude / longitudeNumberListing coordinates when available
agency_nameStringAgency or advertiser name
agency_logo_urlStringAgency logo URL
picture_countIntegerNumber of pictures returned for the listing
image_urlStringMain image URL
image_urlsArrayAvailable image URLs
last_modification_dateStringLast listing modification date
has_360_tourBooleanWhether a 360-degree tour is available
has_virtual_tourBooleanWhether a virtual tour is available
has_videoBooleanWhether a video is available
source_pageIntegerSearch result page used for the record
source_urlStringSearch URL used for extraction
search_total_resultsIntegerTotal results reported by the search

How to use Immoweb.be Real Estate Scraper

  1. Open the Actor in Apify Console.
  2. Choose one search mode for the run:
    • Paste a full Immoweb search page into startUrl.
    • Or leave startUrl empty and use propertyType, transactionType, and optional keyword or location filters.
  3. Set results_wanted and max_pages for the size of the collection.
  4. Start the run and review the dataset preview.
  5. Download the results or connect the dataset to your next workflow.

A supplied startUrl has priority over generated search inputs. When a URL is provided, keyword and location are not combined with it. For predictable results, use the URL by itself. Keyword and location filters are intended for generated searches without a URL.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoSEO sample Immoweb URLFull Immoweb search URL. It has priority over generated search inputs.
keywordStringNoNoneOptional text filter matched against listing title, property type, locality, province, region, and agency name. Used when no URL is supplied.
locationStringNoNoneOptional Belgian postal code or text location. Four-digit postal codes are sent as location filters; text locations are matched against returned listings. Used when no URL is supplied.
propertyTypeStringNoapartmentProperty category used when no URL is supplied. Supported values include house-and-apartment, house, apartment, garage, land, office, and commercial.
transactionTypeStringNofor-saleTransaction mode used when no URL is supplied: for-sale or for-rent.
results_wantedIntegerNo20Maximum number of listings to save.
max_pagesIntegerNo5Maximum number of result pages to process per search URL.

Usage Examples

Scrape an Immoweb Search URL

Use a URL copied from an Immoweb search page when you need the site's complete search configuration.

{
"startUrl": "https://www.immoweb.be/en/search/house-and-apartment/for-sale?countries=BE&page=1&orderBy=relevance",
"results_wanted": 20,
"max_pages": 3
}

Search Apartments by Belgian Postal Code

Generate an apartment sale search for postal code 1000 without combining it with a URL.

{
"propertyType": "apartment",
"transactionType": "for-sale",
"location": "1000",
"results_wanted": 50,
"max_pages": 5
}

Search Rental Apartments with Keyword and City

Use a generated rental search and keep returned listings that match both the keyword and text location filters.

{
"propertyType": "apartment",
"transactionType": "for-rent",
"keyword": "apartment",
"location": "Brussels",
"results_wanted": 50,
"max_pages": 8
}

Sample Output

The following is an example of one dataset item. Individual records can contain fewer fields when Immoweb does not publish a value.

{
"id": 21710726,
"url": "https://www.immoweb.be/en/classified/house/for-sale/dilbeek/1700/21710726",
"title": "Beautiful 4-bedroom single-family home with a garden",
"property_type": "HOUSE",
"property_subtype": "HOUSE",
"transaction_type": "FOR_SALE",
"price": 385000,
"price_display": "€385,000",
"bedroom_count": 4,
"room_count": 11,
"living_area_sqm": 160,
"land_surface_sqm": 25,
"locality": "Dilbeek",
"postal_code": "1700",
"province": "Flemish Brabant",
"region": "Flanders",
"latitude": 50.8396065,
"longitude": 4.2697952,
"agency_name": "Prestige Consultor Immobilier",
"picture_count": 4,
"image_url": "https://media-resize.immoweb.be/classifieds/large/21710726.jpg",
"image_urls": ["https://media-resize.immoweb.be/classifieds/large/21710726.jpg"],
"source_page": 1,
"source_url": "https://www.immoweb.be/en/search-results/house-and-apartment/for-sale?countries=BE&page=1&orderBy=relevance",
"search_total_results": 12450
}

Tips for Best Results

  • Start with a working URL - Open the desired Immoweb search in a browser, apply the filters you need, and copy the resulting URL into startUrl.
  • Use one search mode per run - Do not add keyword or location values to a URL-based run. Use those fields with propertyType and transactionType when generating a search.
  • Use postal codes for precision - A four-digit Belgian postal code is more precise than a broad city or province name.
  • Increase max_pages for narrow filters - Text keyword and location matching may need more pages before enough matching listings are found.
  • Start with 20 results - Use a small result limit to verify the dataset before scheduling larger runs.
  • Use reasonable limits for repeated runs - Increase results_wanted and max_pages gradually after checking a smaller dataset.
  • Expect source-dependent gaps - Not every property publishes all price, address, media, agency, or publication fields.
  • Check the dataset preview - Confirm that the selected search URL or filters produce the type of listings you expect before exporting.

Integrations and Export Formats

  • Google Sheets - Review listing prices, locations, and property characteristics in a shared spreadsheet.
  • Airtable - Build a searchable property inventory or lead database.
  • Webhooks - Send completed run data to another service.
  • Make and Zapier - Trigger alerts, reports, and downstream workflows.
  • Apify API - Start runs, monitor them, and retrieve datasets programmatically.

Apify datasets can be downloaded as JSON, CSV, Excel, XML, and other supported formats. JSON is useful for applications and data pipelines, while CSV and Excel work well for market analysis and reporting.

Frequently Asked Questions

Can I use my own Immoweb search URL?

Yes. Put the full search page in startUrl. The Actor normalizes supported Immoweb search URLs and uses the URL as the source search. URL-based runs do not mix in keyword or location values.

Can I search for rental properties?

Yes. Set transactionType to for-rent for a generated rental search, or provide an Immoweb rental search URL in startUrl.

Can I filter by a Belgian city or postal code?

Yes. Use a four-digit postal code such as 1000 for precise location filtering. Text values such as Brussels are matched against the location information returned for listings.

Can I use keyword and location together?

Yes, when generating a search without startUrl. For example, keyword: "apartment" and location: "Brussels" can be used with propertyType and transactionType. If startUrl is supplied, the URL takes priority and those filters are ignored.

Why are some fields missing from a listing?

Some Immoweb listings do not publish every field. The Actor removes empty values from each record, so a missing field normally means that the source listing did not provide it.

How many listings can I collect?

The Actor collects up to results_wanted records and stops when it reaches the configured max_pages limit or the available search results. Start with 20 records, then increase the limits after checking the output.

Can I schedule recurring property monitoring?

Yes. Use an Apify schedule to run the Actor daily, weekly, or at another interval. Save the same URL and limits when you want to compare repeated snapshots of a market.

Public data collection can be subject to website terms, copyright, privacy, and other laws. You are responsible for using this Actor lawfully, respecting Immoweb.be's terms and access rules, and handling collected data responsibly.

  • OneRoof.co.nz Property Scraper - Collect structured property listings from New Zealand's OneRoof.co.nz for market research and investment analysis.
  • Domain.com.au Property Scraper - Collect Australian property listings from Domain.com.au with prices, locations, property details, agency data, and images.

Support

For issues, feature requests, or input questions, use the Issues tab on the Actor page or contact the developer through Apify.

This Actor is intended for legitimate collection of publicly available property data. Users are responsible for complying with Immoweb.be terms of service, applicable laws, privacy requirements, and any restrictions on data use or redistribution.