Immoweb.be Scraper with Contacts | Fast & Reliable avatar

Immoweb.be Scraper with Contacts | Fast & Reliable

Pricing

from $0.70 / 1,000 property listings

Go to Apify Store
Immoweb.be Scraper with Contacts | Fast & Reliable

Immoweb.be Scraper with Contacts | Fast & Reliable

Extract unlimited Immoweb.be property listings across Belgium with rich property detail, agency contacts, EPC data, media, pricing, and flexible market filters. Built for enterprise-grade Belgian real estate intelligence, lead enrichment, and automated analytics pipelines.

Pricing

from $0.70 / 1,000 property listings

Rating

0.0

(0)

Developer

Fatih Tahta

Fatih Tahta

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Immoweb.be Scraper

Slug: fatihtahta/immoweb-be-scraper

Overview

Immoweb.be Scraper collects structured Belgian real estate listing data, including property identity, pricing, location, building attributes, transaction details, media, contacts, publication metadata, and source context. Immoweb.be is a major Belgian property marketplace, making its public listing data useful for market research, investment analysis, rental monitoring, and property intelligence workflows. The actor turns repeatable search criteria into normalized JSON records that can be exported, scheduled, and connected to downstream systems. It is designed for operationally consistent recurring data acquisition, helping teams validate, monitor, and refresh property datasets without relying on manual collection. Results reflect the public information available at run time and can vary based on listing availability, filters, and source data completeness.

Why Use This Actor

  • Market research and analytics teams: collect structured extraction results for pricing analysis, supply tracking, geographic comparisons, and operational reporting.
  • Product and content teams: enrich internal property experiences with normalized listing attributes, images, locations, and public availability signals.
  • Developers and data engineering teams: feed repeatable collection jobs into downstream systems, warehouses, dashboards, and dataset normalization workflows.
  • Lead generation and enrichment teams: build property, agency, and listing datasets for qualification, CRM enrichment, and market intelligence.
  • Monitoring and competitive tracking teams: schedule recurring data acquisition to track new listings, price movement, availability, and category-level changes.

Common Use Cases

  • Market intelligence: monitor supply, pricing, availability, property categories, bedroom counts, EPC labels, and geographic distribution.
  • Lead generation: build targeted prospect lists from public property listings and agency contact information when available.
  • Competitive monitoring: track listing movement, new inventory, pricing changes, and market positioning across Belgian real estate segments.
  • Catalog and directory building: populate internal property databases with structured public records, media, address data, and transaction attributes.
  • Data enrichment: add current public listing attributes to CRM, BI, underwriting, portfolio, or analytics datasets.
  • Recurring reporting: schedule periodic runs for dashboards, alerts, and trend analysis across selected locations or property types.

Quick Start

  1. Choose a deal_type such as buy or rent, then select a property_type that matches the inventory you want to collect.
  2. Add a Belgian location when you need a focused market, or leave it empty for Belgium-wide discovery.
  3. Set a small limit, such as 25, for the first validation run.
  4. Run the actor in Apify Console and wait for the dataset to be created.
  5. Inspect the first records to confirm that fields such as pricing, location, property, and source_context match your workflow.
  6. Increase the limit, add filters, adjust enrich_data, or schedule recurring runs once the output is verified.

Input Parameters

Configure sale or rental listing collection by deal type, property category, optional Belgian location, filters, sorting, enrichment, and result limit.

ParameterTypeDescriptionDefault
deal_typestringListing mode to collect. Allowed values: buy, rent.buy
property_typestringProperty category to collect. Allowed values: house, apartment, house_and_apartment, kot, garage, office, business, industry, land, other.house_and_apartment
locationstringBelgian city, postal code, district, province, neighborhood, or market. Leave empty for a national search.-
min_priceintegerMinimum listing price in EUR. For rental searches, this applies to rental price; for sale searches, it applies to purchase price.-
max_priceintegerMaximum listing price in EUR. Leave empty when you do not want an upper price cap.-
min_building_yearintegerEarliest construction year to include.-
max_building_yearintegerLatest construction year to include.-
immediately_availablebooleanWhen true, only includes listings marked as immediately available.false
min_areaintegerMinimum living area in square meters.-
max_areaintegerMaximum living area in square meters.-
min_bedroomintegerMinimum number of bedrooms.-
max_bedroomintegerMaximum number of bedrooms.-
min_parkingintegerMinimum number of parking spaces required.-
3d_tourbooleanWhen true, only includes listings with a virtual visit or 360-degree tour where available.false
epc_labelarray of stringsEPC energy labels to include. Allowed values: A++, A+, A, B, C, D, E, F, G, X. Leave empty to include all available labels.-
sort_bystringResult order. Allowed values: relevance, cheapest, most_expensive, postal_code, newest.relevance
enrich_databooleanWhen true, collects richer property listing details, such as full descriptions, all photos, detailed features, agent contacts, and more.true
maximize_coveragebooleanWhen true, keeps collecting within the selected criteria when a broad search may exceed Immoweb's visible-result limit.true
limitintegerMaximum number of listings to save. Minimum value: 1. Leave empty to collect as many matching listings as are available.-

Choosing Inputs

Use deal_type and property_type to define the core market segment before adding optional filters. A specific location is best for city, postal-code, district, province, neighborhood, or local market reporting; leaving it empty is better for broad Belgium-wide discovery. Narrower filters such as price, bedroom count, living area, construction year, immediate availability, parking, 3D tour, and EPC labels produce more targeted datasets, while broader inputs improve discovery. Use maximize_coverage for very broad searches where Immoweb reports more matching listings than are usually visible at once. Use sort_by to prioritize the collection order, for example newest for monitoring or cheapest for affordability analysis. Start with a small limit to validate the output shape, then increase it after confirming that the results match your intended scope.

Example Inputs

Broad discovery with a conservative limit

{
"deal_type": "buy",
"property_type": "house_and_apartment",
"sort_by": "relevance",
"enrich_data": false,
"limit": 25
}

Brussels rental monitoring

{
"deal_type": "rent",
"property_type": "apartment",
"location": "Brussels",
"max_price": 1800,
"min_bedroom": 1,
"sort_by": "newest",
"limit": 50
}

Targeted sale search with energy and size filters

{
"deal_type": "buy",
"property_type": "house",
"location": "Antwerp",
"min_area": 120,
"min_bedroom": 3,
"epc_label": ["A", "B", "C"],
"enrich_data": true,
"limit": 100
}

Output

Output destination

The actor writes results to an Apify dataset as JSON records. The dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs with minimal post-processing.

The example output below documents the listing record shape produced by this actor. If future runs contain multiple entity types or record shapes, each shape should be documented separately based on representative output records.

Record envelope and stable identifiers

Each dataset item represents one Immoweb property listing. The strongest recommended idempotency key is id, which matches identifiers.listing_id in the example output; source_context.canonical_url and source_context.fingerprint are useful fallback or audit keys when syncing records over time.

Use the recommended idempotency key for deduplication and upserts when loading results into warehouses, CRMs, search indexes, or internal databases. Stable identifiers make records easier to merge, deduplicate, and sync across repeated runs without creating duplicate listings.

The source_context object documents where the record came from, including source_url, canonical_url, fingerprint, search context, and applied filters when available.

Examples

Example: listing record

{
"id": 21990001,
"url": "https://www.immoweb.be/en/classified/apartment/for-sale/bruxelles/1000/21990001",
"title": "BRUSSELS CENTRE - Bright 3-bedroom triplex with indoor parking",
"description": "Renovated triplex | Rue des Jardins, central Brussels | This fully renovated triplex of ±198 m² offers a bright living area, three bedrooms, two bathrooms, a multipurpose room, and an outdoor terrace with open city views. 1st level - Living space (± 75 m²) · Reception room ± 45 m² · Kitchen ± 15 m² · Entrance hall ± 13 m² · Guest WC ± 2 m² 2nd level - Sleeping & comfort (± 84 m²) · Master bedroom ± 33 m² + en-suite bathroom ± 9 m² · Bedroom 2 ± 15 m² · Bedroom 3 ± 10 m² · Shower room ± 5 m² · Night hall ± 11 m² 3rd level - Terrace & flexibility (± 54 m²) · Multipurpose room ± 32 m² · Utility room ± 10 m² · Outdoor terrace ± 12 m² Key features Full renovation - high-end finishes Private cellar Underground parking (mandatory option): €50,000 EPC: D Immediate surroundings: shops, restaurants, schools, and public transport Interested? Click on \"Book a viewing\" to select a time slot online. Example Realty Brussels | brussels-office@example.com | +3225550199",
"property_type": "APARTMENT",
"property_subtype": "TRIPLEX",
"transaction_type": "FOR_SALE",
"pricing": {
"price": 725000,
"display_price": "€725,000",
"short_display_price": "€725K",
"accessibility_price": "725000€",
"label": "Price",
"currency": "EUR",
"type": "residential_sale",
"details": {
"type": "residential_sale",
"main_value": 725000,
"main_display_price": "€725,000",
"html_display_price": "€725,000",
"short_display_price": "€725K",
"accessibility_price": "725000€",
"label": "Price",
"language": "en"
}
},
"location": {
"country": "Belgium",
"region": "Brussels",
"province": "Brussels",
"district": "Brussels",
"locality": "Bruxelles",
"postal_code": "1000",
"street": "Rue des Jardins",
"number": "12",
"floor": 2,
"latitude": 50.8466,
"longitude": 4.3528,
"region_code": "BRUSSELS",
"type": "URBAN",
"place_name": "Bruxelles"
},
"property": {
"type": "APARTMENT",
"subtype": "TRIPLEX",
"bedroom_count": 3,
"bedrooms": [
{
"surface": 15
},
{
"surface": 10
}
],
"bathroom_count": 2,
"net_habitable_surface": 198,
"room_count": 14,
"basement": {
"surface": 2
},
"has_basement": true,
"building": {
"condition": "AS_NEW",
"construction_year": 1847,
"facade_count": 2,
"floor_count": 3
},
"property_certificates": {
"has_electrical_installation_compliance_certificate": false
},
"has_disabled_access": false,
"has_lift": true,
"construction_permit": {
"flood_zone_type": "NON_FLOOD_ZONE",
"has_possible_priority_purchase_right": false
},
"energy": {
"heating_type": "GAS",
"has_double_glazing": true
},
"kitchen": {
"surface": 14,
"type": "HYPER_EQUIPPED"
},
"has_laundry_room": true,
"living_room": {
"surface": 45
},
"has_living_room": true,
"has_armored_door": true,
"has_cable_tv": true,
"shower_room_count": 1,
"toilet_count": 2,
"has_swimming_pool": false,
"alternative_descriptions": {
"fr": "Triplex rénové | Rue des Jardins, centre de Bruxelles | Ce triplex entièrement rénové de ±198 m² comprend un séjour lumineux, trois chambres, deux salles d'eau, un espace polyvalent et une terrasse extérieure. Points clés: rénovation complète, cave privative, parking souterrain en option obligatoire à €50,000, PEB D, commerces et transports à proximité. Example Realty Brussels | brussels-office@example.com | +3225550199",
"nl": "Gerenoveerde triplex | Rue des Jardins, centrum Brussel | Deze volledig gerenoveerde triplex van ±198 m² omvat een lichte leefruimte, drie slaapkamers, twee badkamers, een polyvalente ruimte en een buitenterras. Troeven: volledige renovatie, privatieve kelder, ondergrondse parking als verplichte optie voor €50,000, EPC D, winkels en openbaar vervoer in de buurt. Example Realty Brussels | brussels-office@example.com | +3225550199"
},
"fireplace_exists": false,
"has_terrace": true,
"terrace_surface": 12,
"terrace_orientation": "WEST"
},
"transaction": {
"type": "FOR_SALE",
"subtype": "BUY_REGULAR",
"availability_date": "2026-02-05",
"certificates": {
"carbon_emission": 38,
"primary_energy_consumption_per_sqm": 196,
"primary_energy_consumption_yearly": 36698,
"epc_reference": "20260101-0000000000-01-1",
"epc_score": "D",
"epc_url": "https://media.immowebstatic.be/epc/en/pics/bxlD3.gif"
},
"sale": {
"price": 725000,
"is_subject_to_vat": false,
"has_starting_price": true
},
"investor": {
"is_investment_property": false
}
},
"media": {
"primary_image_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/259327371e947e1f105f4583a95871f2.jpg",
"image_urls": [
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/259327371e947e1f105f4583a95871f2.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/ba6c550bd7cb60dbc62cb9b6f7a8dc47.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/da2ee567535fdd6437e2b6b3a020703e.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/e7ec423324f67c99d2967678ec1c1104.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/63bba1cf786a6e8913698970667b23c4.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/323b26d6d64bb7f618937db063a70729.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/2cb952c40d0c6bad4deac75958a4331f.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/f71baae90314cf165a9c8546c3b60507.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/b45b243a609e50e9960d1edb1ed0944f.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/434300e419bb38f12e8672c2c4fe7f36.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/a302df403a276d49c6c7a778b66b1111.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/f63730115f9b429bb9194e70c1b740a9.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/046ac86d17c9410f94a1c533d22e5c3d.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/762ce7c4aeb582003a6183919bcdec67.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/2202e148092531a3ae67792f340a58f3.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/4be55a482978fc82f9bed96fc73d1318.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/a4786e74ac2fc9ccaa4c0eabb9e52f8b.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/4280820bdd672e143b78a1494c1c55de.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/9c5e35c4be0fa16afbf680939a6d320e.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/9e5d8041be419628869f25f77d2fecaa.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/94a10aea47907d6b9a0b2d4edc41b4aa.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/96732039852cfc400f180491472bf2ea.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/a779a75821a462206815bd1063f3792c.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/45f2191b6caaf95eea0d560c5c5c25a6.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/1cebc9ceeacc1ecaaab88ccc495a6108.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/f1f38a9ad0d4fcd1b283825796767632.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/1b2b51bf3019a3c928b2707e642f0f67.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/c1b4e6c61093f417c33e2ef6dee1e4e2.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/55d313c2cc7a9f7c789433718f8b0ef0.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/efe8224633aed61cbc207f86d5568711.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/259327371e947e1f105f4583a95871f2.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/ba6c550bd7cb60dbc62cb9b6f7a8dc47.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/da2ee567535fdd6437e2b6b3a020703e.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/e7ec423324f67c99d2967678ec1c1104.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/63bba1cf786a6e8913698970667b23c4.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/323b26d6d64bb7f618937db063a70729.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/2cb952c40d0c6bad4deac75958a4331f.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/f71baae90314cf165a9c8546c3b60507.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/b45b243a609e50e9960d1edb1ed0944f.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/434300e419bb38f12e8672c2c4fe7f36.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/a302df403a276d49c6c7a778b66b1111.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/f63730115f9b429bb9194e70c1b740a9.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/046ac86d17c9410f94a1c533d22e5c3d.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/762ce7c4aeb582003a6183919bcdec67.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/2202e148092531a3ae67792f340a58f3.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/4be55a482978fc82f9bed96fc73d1318.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/a4786e74ac2fc9ccaa4c0eabb9e52f8b.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/4280820bdd672e143b78a1494c1c55de.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/9c5e35c4be0fa16afbf680939a6d320e.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/9e5d8041be419628869f25f77d2fecaa.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/94a10aea47907d6b9a0b2d4edc41b4aa.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/96732039852cfc400f180491472bf2ea.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/a779a75821a462206815bd1063f3792c.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/45f2191b6caaf95eea0d560c5c5c25a6.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/1cebc9ceeacc1ecaaab88ccc495a6108.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/f1f38a9ad0d4fcd1b283825796767632.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/1b2b51bf3019a3c928b2707e642f0f67.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/c1b4e6c61093f417c33e2ef6dee1e4e2.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/55d313c2cc7a9f7c789433718f8b0ef0.jpg",
"https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/efe8224633aed61cbc207f86d5568711.jpg"
],
"pictures": [
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/259327371e947e1f105f4583a95871f2.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/259327371e947e1f105f4583a95871f2.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/259327371e947e1f105f4583a95871f2.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/259327371e947e1f105f4583a95871f2.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/ba6c550bd7cb60dbc62cb9b6f7a8dc47.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/ba6c550bd7cb60dbc62cb9b6f7a8dc47.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/ba6c550bd7cb60dbc62cb9b6f7a8dc47.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/ba6c550bd7cb60dbc62cb9b6f7a8dc47.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/da2ee567535fdd6437e2b6b3a020703e.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/da2ee567535fdd6437e2b6b3a020703e.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/da2ee567535fdd6437e2b6b3a020703e.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/da2ee567535fdd6437e2b6b3a020703e.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/e7ec423324f67c99d2967678ec1c1104.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/e7ec423324f67c99d2967678ec1c1104.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/e7ec423324f67c99d2967678ec1c1104.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/e7ec423324f67c99d2967678ec1c1104.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/63bba1cf786a6e8913698970667b23c4.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/63bba1cf786a6e8913698970667b23c4.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/63bba1cf786a6e8913698970667b23c4.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/63bba1cf786a6e8913698970667b23c4.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/323b26d6d64bb7f618937db063a70729.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/323b26d6d64bb7f618937db063a70729.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/323b26d6d64bb7f618937db063a70729.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/323b26d6d64bb7f618937db063a70729.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/2cb952c40d0c6bad4deac75958a4331f.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/2cb952c40d0c6bad4deac75958a4331f.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/2cb952c40d0c6bad4deac75958a4331f.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/2cb952c40d0c6bad4deac75958a4331f.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/f71baae90314cf165a9c8546c3b60507.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/f71baae90314cf165a9c8546c3b60507.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/f71baae90314cf165a9c8546c3b60507.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/f71baae90314cf165a9c8546c3b60507.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/b45b243a609e50e9960d1edb1ed0944f.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/b45b243a609e50e9960d1edb1ed0944f.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/b45b243a609e50e9960d1edb1ed0944f.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/b45b243a609e50e9960d1edb1ed0944f.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/434300e419bb38f12e8672c2c4fe7f36.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/434300e419bb38f12e8672c2c4fe7f36.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/434300e419bb38f12e8672c2c4fe7f36.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/434300e419bb38f12e8672c2c4fe7f36.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/a302df403a276d49c6c7a778b66b1111.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/a302df403a276d49c6c7a778b66b1111.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/a302df403a276d49c6c7a778b66b1111.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/a302df403a276d49c6c7a778b66b1111.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/f63730115f9b429bb9194e70c1b740a9.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/f63730115f9b429bb9194e70c1b740a9.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/f63730115f9b429bb9194e70c1b740a9.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/f63730115f9b429bb9194e70c1b740a9.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/046ac86d17c9410f94a1c533d22e5c3d.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/046ac86d17c9410f94a1c533d22e5c3d.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/046ac86d17c9410f94a1c533d22e5c3d.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/046ac86d17c9410f94a1c533d22e5c3d.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/762ce7c4aeb582003a6183919bcdec67.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/762ce7c4aeb582003a6183919bcdec67.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/762ce7c4aeb582003a6183919bcdec67.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/762ce7c4aeb582003a6183919bcdec67.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/2202e148092531a3ae67792f340a58f3.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/2202e148092531a3ae67792f340a58f3.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/2202e148092531a3ae67792f340a58f3.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/2202e148092531a3ae67792f340a58f3.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/4be55a482978fc82f9bed96fc73d1318.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/4be55a482978fc82f9bed96fc73d1318.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/4be55a482978fc82f9bed96fc73d1318.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/4be55a482978fc82f9bed96fc73d1318.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/a4786e74ac2fc9ccaa4c0eabb9e52f8b.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/a4786e74ac2fc9ccaa4c0eabb9e52f8b.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/a4786e74ac2fc9ccaa4c0eabb9e52f8b.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/a4786e74ac2fc9ccaa4c0eabb9e52f8b.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/4280820bdd672e143b78a1494c1c55de.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/4280820bdd672e143b78a1494c1c55de.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/4280820bdd672e143b78a1494c1c55de.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/4280820bdd672e143b78a1494c1c55de.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/9c5e35c4be0fa16afbf680939a6d320e.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/9c5e35c4be0fa16afbf680939a6d320e.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/9c5e35c4be0fa16afbf680939a6d320e.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/9c5e35c4be0fa16afbf680939a6d320e.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/9e5d8041be419628869f25f77d2fecaa.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/9e5d8041be419628869f25f77d2fecaa.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/9e5d8041be419628869f25f77d2fecaa.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/9e5d8041be419628869f25f77d2fecaa.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/94a10aea47907d6b9a0b2d4edc41b4aa.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/94a10aea47907d6b9a0b2d4edc41b4aa.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/94a10aea47907d6b9a0b2d4edc41b4aa.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/94a10aea47907d6b9a0b2d4edc41b4aa.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/96732039852cfc400f180491472bf2ea.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/96732039852cfc400f180491472bf2ea.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/96732039852cfc400f180491472bf2ea.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/96732039852cfc400f180491472bf2ea.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/a779a75821a462206815bd1063f3792c.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/a779a75821a462206815bd1063f3792c.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/a779a75821a462206815bd1063f3792c.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/a779a75821a462206815bd1063f3792c.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/45f2191b6caaf95eea0d560c5c5c25a6.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/45f2191b6caaf95eea0d560c5c5c25a6.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/45f2191b6caaf95eea0d560c5c5c25a6.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/45f2191b6caaf95eea0d560c5c5c25a6.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/1cebc9ceeacc1ecaaab88ccc495a6108.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/1cebc9ceeacc1ecaaab88ccc495a6108.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/1cebc9ceeacc1ecaaab88ccc495a6108.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/1cebc9ceeacc1ecaaab88ccc495a6108.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/f1f38a9ad0d4fcd1b283825796767632.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/f1f38a9ad0d4fcd1b283825796767632.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/f1f38a9ad0d4fcd1b283825796767632.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/f1f38a9ad0d4fcd1b283825796767632.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/1b2b51bf3019a3c928b2707e642f0f67.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/1b2b51bf3019a3c928b2707e642f0f67.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/1b2b51bf3019a3c928b2707e642f0f67.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/1b2b51bf3019a3c928b2707e642f0f67.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/c1b4e6c61093f417c33e2ef6dee1e4e2.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/c1b4e6c61093f417c33e2ef6dee1e4e2.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/c1b4e6c61093f417c33e2ef6dee1e4e2.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/c1b4e6c61093f417c33e2ef6dee1e4e2.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/55d313c2cc7a9f7c789433718f8b0ef0.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/55d313c2cc7a9f7c789433718f8b0ef0.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/55d313c2cc7a9f7c789433718f8b0ef0.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/55d313c2cc7a9f7c789433718f8b0ef0.jpg",
"is_vertical": false
},
{
"small_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/100x100/efe8224633aed61cbc207f86d5568711.jpg",
"medium_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/300x300/efe8224633aed61cbc207f86d5568711.jpg",
"large_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/736x736/efe8224633aed61cbc207f86d5568711.jpg",
"extralarge_url": "https://media-resize.immowebstatic.be/classifieds/demo-listing-media-0001/2560x1440/efe8224633aed61cbc207f86d5568711.jpg",
"is_vertical": false
}
],
"virtual_experience_url": "https://www.youtube.com/shorts/exampleTour001",
"has_virtual_tour": true,
"specifications": [
"https://media.immowebstatic.be/classifieds/demo-listing-media-0001/specifications/demo-document-en-0001.pdf",
"https://media.immowebstatic.be/classifieds/demo-listing-media-0001/specifications/demo-document-nl-0001.pdf",
"https://media.immowebstatic.be/classifieds/demo-listing-media-0001/specifications/demo-document-fr-0001.pdf"
],
"documents": {
"demo-document-en-0001": {
"original_name": "property-brochure-example-en-BE.pdf",
"id": "demo-document-en-0001",
"type": "specifications",
"url": "https://media.immowebstatic.be/classifieds/demo-listing-media-0001/specifications/demo-document-en-0001.pdf"
},
"demo-document-nl-0001": {
"original_name": "property-brochure-example-nl-BE.pdf",
"id": "demo-document-nl-0001",
"type": "specifications",
"url": "https://media.immowebstatic.be/classifieds/demo-listing-media-0001/specifications/demo-document-nl-0001.pdf"
},
"demo-document-fr-0001": {
"original_name": "property-brochure-example-fr-BE.pdf",
"id": "demo-document-fr-0001",
"type": "specifications",
"url": "https://media.immowebstatic.be/classifieds/demo-listing-media-0001/specifications/demo-document-fr-0001.pdf"
}
}
},
"contacts": {
"agency_name": "Example Realty Brussels",
"customers": [
{
"id": 90000001,
"type": "AGENCY",
"email": "brussels-office@example.com",
"logo_url": "https://media.immowebstatic.be/customers/demo-agency-logo/logo/demoagencylogo000000000000000000000.jpg",
"phone_number": "+3225550199",
"name": "Example Realty Brussels",
"website": "https://example.com/agencies/brussels",
"location": {
"country": "Belgium",
"province": "Brussels",
"district": "Brussels",
"locality": "Bruxelles",
"postal_code": "1000",
"street": "25 Avenue Louise",
"latitude": 50.8347,
"longitude": 4.3564
},
"ipi_no": "500000",
"is_owner": true,
"features": {
"page404": true,
"investor_flag": false,
"related_classifieds": true,
"leaflets_cta": false,
"lead_qualification": true,
"recommendation": true
}
}
]
},
"publication": {
"creation_date": "2026-05-19T14:26:28.875Z",
"visualisation_option": "XL",
"last_modification_date": "2026-05-19T14:26:33.133Z",
"detailed_page_visibility": "CLASSIC"
},
"flags": {
"main": "new",
"is_public_sale": false,
"is_new_classified": true,
"is_new_price": false,
"is_investment_project": false,
"is_newly_built": false,
"is_life_annuity_sale": false,
"is_sold_or_rented": false,
"is_new_real_estate_project": false,
"is_under_option": false
},
"metrics": {
"bookmark_count": 2,
"view_count": 149
},
"identifiers": {
"listing_id": 21990001,
"external_reference": "BE-DEMO-1042"
},
"attributes": {
"has_sections": {
"has_general_section": true,
"has_interior_section": true,
"has_exterior_section": true,
"has_facilities_section": true,
"has_energy_section": true,
"has_planning_section": true,
"has_financial_section": true,
"has_public_sale_section": false
},
"visual_context": {
"has_virtual_staging": false
}
},
"source_context": {
"source_url": "https://www.immoweb.be/en/search-results/house-and-apartment/for-sale/brussels-city/1000?countries=BE&orderBy=relevance&page=1",
"canonical_url": "https://www.immoweb.be/en/classified/apartment/for-sale/bruxelles/1000/21990001",
"fingerprint": "demo-fingerprint-0001",
"seed_id": "demo-seed-0001",
"seed_type": "search",
"location_query": "brussels city",
"page_index": 1,
"domain": "www.immoweb.be",
"search_filters": {
"deal_type": "buy",
"property_type": "house_and_apartment",
"immediately_available": false,
"sort_by": "relevance",
"has_3d_tour": false
}
}
}

Field Reference

Listing record

id (integer, required): Stable Immoweb listing identifier.

url (string, required): Public listing URL.

title (string, optional): Listing title.

description (string, optional): Public listing description.

property_type (string, optional): High-level property type, such as APARTMENT.

property_subtype (string, optional): More specific property subtype, such as TRIPLEX.

transaction_type (string, optional): Transaction category, such as FOR_SALE.

pricing.price / pricing.currency (integer/string, optional): Numeric price and ISO currency code.

pricing.display_price / pricing.short_display_price / pricing.accessibility_price (string, optional): Display-ready price variants.

pricing.label (string, optional): Price label.

pricing.type (string, optional): Price classification.

pricing.details.type (string, optional): Detailed price classification.

pricing.details.main_value (integer, optional): Main numeric price value.

pricing.details.main_display_price / pricing.details.html_display_price / pricing.details.short_display_price / pricing.details.accessibility_price (string, optional): Detailed display price variants.

pricing.details.label / pricing.details.language (string, optional): Price label and language metadata.

location.country / location.region / location.province / location.district / location.locality (string, optional): Geographic administrative fields.

location.postal_code (string, optional): Belgian postal code.

location.street / location.number / location.floor (string/integer, optional): Address and floor details when available.

location.latitude / location.longitude (number, optional): Geographic coordinates.

location.region_code / location.type / location.place_name (string, optional): Additional location classification fields.

property.type / property.subtype (string, optional): Property type and subtype.

property.bedroom_count / property.bathroom_count / property.room_count (integer, optional): Room and bedroom counts.

property.bedrooms[].surface (integer, optional): Bedroom surface in square meters when supplied.

property.net_habitable_surface (integer, optional): Net habitable surface in square meters.

property.basement.surface / property.has_basement (integer/boolean, optional): Basement area and availability.

property.building.condition (string, optional): Building condition.

property.building.construction_year (integer, optional): Construction year.

property.building.facade_count / property.building.floor_count (integer, optional): Facade and floor counts.

property.property_certificates.has_electrical_installation_compliance_certificate (boolean, optional): Electrical certificate availability.

property.has_disabled_access / property.has_lift (boolean, optional): Accessibility and lift indicators.

property.construction_permit.flood_zone_type (string, optional): Flood-zone classification.

property.construction_permit.has_possible_priority_purchase_right (boolean, optional): Priority purchase right indicator.

property.energy.heating_type / property.energy.has_double_glazing (string/boolean, optional): Energy-related property attributes.

property.kitchen.surface / property.kitchen.type (integer/string, optional): Kitchen size and equipment type.

property.has_laundry_room / property.has_living_room / property.has_armored_door / property.has_cable_tv (boolean, optional): Interior and facility indicators.

property.living_room.surface (integer, optional): Living room surface in square meters.

property.shower_room_count / property.toilet_count (integer, optional): Shower room and toilet counts.

property.has_swimming_pool (boolean, optional): Swimming pool indicator.

property.alternative_descriptions.fr / property.alternative_descriptions.nl (string, optional): Alternative public descriptions by language when available.

property.fireplace_exists (boolean, optional): Fireplace indicator.

property.has_terrace / property.terrace_surface / property.terrace_orientation (boolean/integer/string, optional): Terrace availability, size in square meters, and orientation.

transaction.type / transaction.subtype (string, optional): Transaction type and subtype.

transaction.availability_date (string, optional): Availability date in ISO date format when available.

transaction.certificates.carbon_emission (integer, optional): Carbon emission value.

transaction.certificates.primary_energy_consumption_per_sqm / transaction.certificates.primary_energy_consumption_yearly (integer, optional): Energy consumption values.

transaction.certificates.epc_reference / transaction.certificates.epc_score / transaction.certificates.epc_url (string, optional): EPC reference, score, and document or image URL.

transaction.sale.price (integer, optional): Sale price in EUR.

transaction.sale.is_subject_to_vat / transaction.sale.has_starting_price (boolean, optional): Sale pricing flags.

transaction.investor.is_investment_property (boolean, optional): Investment-property indicator.

media.primary_image_url (string, optional): Primary listing image URL.

media.image_urls[] (array of strings, optional): Listing image URLs.

media.pictures[].small_url / media.pictures[].medium_url / media.pictures[].large_url / media.pictures[].extralarge_url (string, optional): Image URLs by size.

media.pictures[].is_vertical (boolean, optional): Image orientation indicator.

media.virtual_experience_url / media.has_virtual_tour (string/boolean, optional): Virtual-tour URL and availability flag.

media.specifications[] (array of strings, optional): Specification document URLs.

media.documents.<document_id>.original_name (string, optional): Original document name.

media.documents.<document_id>.id / media.documents.<document_id>.type / media.documents.<document_id>.url (string, optional): Document identifier, type, and URL.

contacts.agency_name (string, optional): Agency name associated with the listing.

contacts.customers[].id / contacts.customers[].type (integer/string, optional): Contact or agency identifier and type.

contacts.customers[].email / contacts.customers[].phone_number / contacts.customers[].website (string, optional): Public contact details when available.

contacts.customers[].logo_url / contacts.customers[].name / contacts.customers[].ipi_no (string, optional): Agency logo, name, and professional identifier.

contacts.customers[].location.country / contacts.customers[].location.province / contacts.customers[].location.district / contacts.customers[].location.locality (string, optional): Contact location details.

contacts.customers[].location.postal_code / contacts.customers[].location.street (string, optional): Contact postal code and street.

contacts.customers[].location.latitude / contacts.customers[].location.longitude (number, optional): Contact coordinates.

contacts.customers[].is_owner (boolean, optional): Indicates whether the customer is marked as owner.

contacts.customers[].features.page404 / contacts.customers[].features.investor_flag / contacts.customers[].features.related_classifieds / contacts.customers[].features.leaflets_cta / contacts.customers[].features.lead_qualification / contacts.customers[].features.recommendation (boolean, optional): Public feature flags associated with the contact.

publication.creation_date / publication.last_modification_date (string, optional): Publication timestamps in ISO datetime format.

publication.visualisation_option / publication.detailed_page_visibility (string, optional): Public visibility and presentation metadata.

flags.main (string, optional): Main listing flag, such as new.

flags.is_public_sale / flags.is_new_classified / flags.is_new_price / flags.is_investment_project / flags.is_newly_built / flags.is_life_annuity_sale / flags.is_sold_or_rented / flags.is_new_real_estate_project / flags.is_under_option (boolean, optional): Listing status and classification flags.

metrics.bookmark_count / metrics.view_count (integer, optional): Public engagement counters when available.

identifiers.listing_id (integer, optional): Listing identifier, generally matching id.

identifiers.external_reference (string, optional): External reference value when available.

attributes.has_sections.has_general_section / attributes.has_sections.has_interior_section / attributes.has_sections.has_exterior_section / attributes.has_sections.has_facilities_section / attributes.has_sections.has_energy_section / attributes.has_sections.has_planning_section / attributes.has_sections.has_financial_section / attributes.has_sections.has_public_sale_section (boolean, optional): Indicators for available listing information sections.

attributes.visual_context.has_virtual_staging (boolean, optional): Virtual staging indicator.

source_context.source_url (string, optional): Search or source page associated with the record.

source_context.canonical_url (string, optional): Canonical listing URL.

source_context.fingerprint (string, optional): Stable fingerprint useful for audit and fallback deduplication.

source_context.seed_id / source_context.seed_type (string, optional): Collection context identifiers.

source_context.location_query (string, optional): Location query associated with the result.

source_context.page_index (integer, optional): Source result page index.

source_context.domain (string, optional): Source domain.

source_context.search_filters.deal_type / source_context.search_filters.property_type / source_context.search_filters.sort_by (string, optional): Applied search filters.

source_context.search_filters.immediately_available / source_context.search_filters.has_3d_tour (boolean, optional): Applied boolean search filters.

Data Quality, Guarantees, And Handling

  • Structured records: results are normalized into predictable JSON objects for downstream use.
  • Best-effort extraction: fields may vary by region, session, availability, listing type, or source-side presentation changes.
  • Optional fields: null-check optional fields in downstream code, especially media, contact, certificate, and detailed property attributes.
  • Deduplication: use id as the recommended stable key, with source_context.canonical_url or source_context.fingerprint as useful fallback keys.
  • Freshness: results reflect the publicly available data at run time.
  • Repeated runs: use the recommended idempotency key when syncing data into warehouses, CRMs, search indexes, or internal applications.

Tips For Best Results

  • Start with a small limit to validate the output shape before scaling up.
  • Use one geography, property category, or market segment per run when you need cleaner segmentation.
  • Leave optional filters empty when the goal is broad discovery.
  • Add price, bedroom, area, construction-year, EPC, and availability filters gradually to understand how each field changes coverage.
  • Use sort_by: "newest" for recurring monitoring and sort_by: "relevance" for general discovery.
  • Enable enrich_data when deeper property records are more important than faster lightweight collection.
  • Use stable identifiers for deduplication when storing results over time.

How to Run on Apify

  1. Open the actor in Apify Console.
  2. Configure the available input fields for your target scope.
  3. Set the maximum number of outputs to collect with limit.
  4. Click Start and wait for the run to finish.
  5. Open the dataset and review the first records.
  6. Download results in JSON, CSV, Excel, or another supported format.

Scheduling & Automation

Scheduling

Automated Data Collection

Schedule runs to keep Belgian property datasets current without manual collection. Recurring runs are useful for price monitoring, new-listing alerts, availability checks, and periodic reporting.

  • Navigate to Schedules in Apify Console
  • Create a new schedule, such as daily, weekly, or custom cron
  • Configure input parameters
  • Enable notifications for run completion
  • Add webhooks for automated processing

Integration Options

  • BI dashboards: monitor pricing, availability, property type mix, EPC distribution, and geographic coverage over time.
  • Data warehouses: load normalized listing records into historical tables for trend analysis and reporting.
  • CRM enrichment: sync public property, agency, and contact attributes into account or lead records.
  • Google Sheets or Airtable: review smaller market segments, validation runs, and curated lead lists with business users.
  • Webhooks: trigger ingestion, validation, notification, or alerting workflows after each completed run.
  • ETL and enrichment pipelines: merge listing data with internal portfolio, underwriting, or market intelligence datasets.

Export Formats And Downstream Use

Apify datasets can be exported or consumed by downstream systems for reporting, analysis, and operational workflows.

  • JSON: for APIs, applications, and data pipelines
  • CSV or Excel: for spreadsheet workflows and manual review
  • API access: for automated ingestion into internal systems
  • BI and warehouses: for reporting, dashboards, and historical analysis

Performance

These are estimated run times and can vary by input scope:

  • Small runs (< 1,000 outputs): ~3–5 minutes
  • Medium runs (1,000–5,000 outputs): ~5–15 minutes
  • Large runs (5,000+ outputs): ~15–30 minutes

Execution time varies based on filters, result volume, and how much information is returned per record. Highly filtered runs can finish faster, while broad discovery or detail-rich records may take longer.

Limitations

  • Availability depends on what https://www.immoweb.be publicly exposes at run time.
  • Some optional fields may be missing on sparse listings or records with limited public information.
  • Very broad searches may take longer or require higher limit values to capture enough records.
  • Target-side changes can affect field availability, naming, formatting, or visible result counts.
  • Regional, account, language, or availability differences may change which listings and attributes are visible.
  • Media, contact, certificate, and engagement fields are available only when present in the public listing data.

Troubleshooting

  • No results returned: check filters, location or category spelling, and whether Immoweb has matching public records for the selected scope.
  • Fewer results than expected: broaden filters, raise limit, or verify that the target contains enough matching public listings.
  • Some fields are empty: optional fields depend on what each listing publicly provides.
  • Run takes longer than expected: reduce scope, lower limit for validation, or split broad collection into smaller market segments.
  • Output changed: compare the current output with the field reference and include a small sample when reporting the issue.

FAQ

What data does this actor collect?

It collects public Immoweb property listing records, including listing identifiers, URLs, titles, descriptions, property type, pricing, location, property attributes, transaction details, media, contact information when available, publication metadata, flags, metrics, and source context.

Can I filter by location, category, price, or other criteria?

Yes. The actor supports location, deal_type, property_type, price range, construction year, immediate availability, living area, bedroom count, parking, 3D tour availability, EPC labels, sorting, enrichment, and result limits.

Can I filter by date?

There is no date input parameter in the current schema. For monitoring recently active listings, use sort_by: "newest" with a recurring schedule and compare results across runs.

Why did I receive fewer results than my limit?

The selected filters may match fewer public listings than the requested limit, or some listings may not expose enough information to be saved as complete records.

Can I schedule recurring runs?

Yes. Use Apify schedules to run the actor daily, weekly, or on a custom cron schedule with the same input settings.

How do I avoid duplicates across runs?

Use id as the primary deduplication key. You can also keep source_context.canonical_url and source_context.fingerprint as fallback or audit fields.

Can I export the data to CSV, Excel, or JSON?

Yes. Apify datasets support exports in JSON, CSV, Excel, and other formats available in Apify Console.

Does this actor collect private data?

The actor is intended to collect publicly available listing information from Immoweb. Users are responsible for using the data in accordance with applicable laws, regulations, and platform terms.

What should I include when reporting an issue?

Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample when helpful.

Compliance & Ethics

Responsible Data Collection

This actor collects publicly available Belgian real estate listing information from https://www.immoweb.be for legitimate business purposes, including:

  • Real estate research and market analysis
  • Property monitoring, pricing intelligence, and inventory reporting
  • CRM enrichment, data validation, and operational analytics

This section is informational and not legal advice. Users are responsible for ensuring that their collection and use of data complies with applicable laws, regulations, and the target site's terms.

Best Practices

  • Use collected data in accordance with applicable laws, regulations, and the target site's terms
  • Respect individual privacy and personal information
  • Use data responsibly and avoid disruptive or excessive collection
  • Do not use this actor for spamming, harassment, or other harmful purposes
  • Follow relevant data protection requirements where applicable, such as GDPR and CCPA

Support

For help, use the actor page or Issues section. Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample if it helps explain the issue.