Zimmo Scraper
Pricing
from $2.50 / 1,000 results
Zimmo Scraper
[💰 $2.50 / 1K] Extract Belgian property listings from Zimmo (zimmo.be) — houses, apartments, land, and commercial units for sale or rent. Get price, EPC label, flooding/planning info, surfaces, coordinates, photos, and agent contacts.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Pull Belgian property listings from Zimmo (zimmo.be) at scale — asking price, full address, GPS coordinates, EPC energy labels, flooding risk, agent contacts, and 20+ photos per property, for sale or for rent across all of Belgium. Search by city or postcode in Dutch or French, or paste zimmo.be URLs straight from your browser. Built for property investors, real-estate agencies, market analysts, PropTech builders, and relocation services who need clean, structured Belgian housing data without copying listings off the site one page at a time.
Why This Scraper?
- Belgian EPC energy data on every listing — extracts both the EPC label (A–G) and the numeric EPC value in kWh/m²/year, the certificate figure Belgian buyers and valuers actually compare.
- Flooding risk scoring built for Belgium — captures the flood-zone classification and the official P-score (the Flemish flood-hazard rating), a data point most generic property scrapers ignore entirely.
- Exact GPS coordinates — latitude and longitude on each property, ready to map, cluster, or geo-join against your own datasets.
- 6 property categories — House, Apartment, Building Plot / Land, Commercial (incl. Office), Garage / Parking, and Room / Student Housing, filterable in one input.
- Agent contacts per listing — agency name, phone number, website, and agency city, so lead lists come pre-populated.
- Guided search — no URL-building required — pick buy or rent, a property type, cities or postcodes, and a price range; the scraper builds every search for you.
- Bilingual output — collect listings in Dutch (Nederlands) or French (Français), matching how the property is published on zimmo.be.
- Rich surface and cadastral detail — living area, plot area, bedroom count, bathroom count, build year, cadastral income, and parcel ID per property.
- Search by city name or postcode — enter "Antwerpen", "Gent", or a raw postcode like "9000" and the scraper resolves it to the right municipality across Belgium.
Use Cases
Market Research & Analytics
- Track asking prices and price-per-m² trends across Belgian municipalities
- Compare inventory and EPC energy profiles between cities and provinces
- Build regional dashboards of for-sale versus for-rent supply
Investment Analysis
- Screen listings by price range, living area, and EPC label for yield modeling
- Flag flood-exposed properties using the flooding zone and P-score before underwriting
- Map opportunities by GPS coordinates and cadastral income
Lead Generation
- Build contact lists of listing agencies with name, phone, and website
- Segment agency coverage by city and property type
- Feed fresh listings directly into a CRM
Relocation & Housing Search
- Assemble shortlists of homes or rentals by city, postcode, and budget
- Filter student rooms and apartments near a specific municipality
- Compare energy performance to estimate running costs before viewing
PropTech & Product Data
- Power a Belgian property portal or valuation tool with structured listings
- Enrich internal datasets with EPC, flooding, and planning attributes
- Keep a listings database current with scheduled runs
Getting Started
Simple — everything for sale in a city
{"transactionType": "for-sale","locations": ["Gent"],"maxResults": 50}
Filtered — apartments to rent within a budget
{"transactionType": "for-rent","propertyType": "apartment","locations": ["Antwerpen", "2000"],"priceMax": 1200,"language": "nl","maxResults": 200}
Advanced — houses for sale, price band, French output
{"transactionType": "for-sale","propertyType": "house","locations": ["Bruxelles", "Liège"],"priceMin": 250000,"priceMax": 600000,"language": "fr","maxResults": 500}
Power user — paste zimmo.be URLs
{"startUrls": ["https://www.zimmo.be/nl/zoeken/?search=...","https://www.zimmo.be/nl/gent-9000/te-koop/huis/ABCDE/"],"maxResults": 100}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | [] | Power-user input. Paste zimmo.be search-result URLs (Dutch /nl/zoeken/ or French /fr/rechercher/) or individual property URLs copied from your browser. Overrides the guided search fields below. |
Guided Search
| Parameter | Type | Default | Description |
|---|---|---|---|
transactionType | string | "for-sale" | Whether you want properties to buy or to rent. Options: For Sale, For Rent. |
propertyType | string | "all" | Property category to include. Options: All Types, House, Apartment, Building Plot / Land, Commercial (incl. Office), Garage / Parking, Room / Student Housing. |
locations | array | [] | Cities, municipalities, or postal codes to search (e.g. "Antwerpen", "Gent", "9000"). Leave empty to search all of Belgium. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
priceMin | integer | none | Only include listings at or above this price in euros. |
priceMax | integer | none | Only include listings at or below this price in euros. |
Options
| Parameter | Type | Default | Description |
|---|---|---|---|
language | string | "nl" | Language for listing text and location names. Options: Dutch (Nederlands), French (Français). |
maxResults | integer | 100 | Maximum number of properties to collect across all searches and URLs combined. Set to 0 for unlimited. Results are collected in full pages, so the final page may overshoot the cap by a few records. |
Output
Each property is one flat row. Example:
{"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab","zimmoCode": "LMYS7","url": "https://www.zimmo.be/nl/gent-9000/te-koop/huis/LMYS7/","transactionType": "For sale","propertyType": "Huis","propertySubType": "Woning","status": "For sale","price": 395000,"city": "Gent","postalCode": "9000","province": "Oost-Vlaanderen","address": "Voorbeeldstraat 12","latitude": 51.0543,"longitude": 3.7174,"bedrooms": 3,"bathrooms": 1,"toilets": 2,"livingArea": 164.5,"landArea": 220,"constructionType": "Half-open","buildYear": 1962,"epcValue": 210,"epcLabel": "C","epcCertificateNumber": "20240101-0001234567-RES-1","floodingZone": "Mogelijk overstromingsgevoelig","floodPScore": "B","planningInfo": "Woongebied","cadastralIncome": 1180,"parcelId": "44021_A_0123_00_000","description": "Instapklare woning met tuin op een centrale ligging...","mainImageUrl": "https://media.zimmo.be/z-detail-1300/example.jpg","photoCount": 24,"images": ["https://media.zimmo.be/z-detail-1300/1.jpg", "https://media.zimmo.be/z-detail-1300/2.jpg"],"documents": ["https://files.zimmo.be/.../EPC-attest.pdf", "https://files.zimmo.be/.../bodemattest.pdf"],"agentName": "Immo Voorbeeld","agentPhone": "+32 9 123 45 67","agentWebsite": "https://www.immovoorbeeld.be","agentCity": "Gent","agentAddress": "Kerkstraat 1, 9000 Gent","sourceUrl": "https://www.zimmo.be/nl/zoeken/?search=...","scrapedAt": "2026-07-04T10:00:00+00:00"}
Core Fields
| Field | Type | Description |
|---|---|---|
id | string | Zimmo internal property identifier |
zimmoCode | string | Public Zimmo reference code |
url | string | Property detail page URL |
transactionType | string | "For sale" or "For rent" |
propertyType | string | Property category (e.g. Huis, Appartement) |
propertySubType | string | Finer sub-type where available |
status | string | Listing status (For sale, Sold, Rented, …) |
price | number | Asking price or monthly rent in EUR |
description | string | Listing description text |
Address & Location
| Field | Type | Description |
|---|---|---|
city | string | Municipality |
postalCode | string | Postal code |
province | string | Belgian province |
address | string | Street address where available |
latitude | number | GPS latitude |
longitude | number | GPS longitude |
Size & Building
| Field | Type | Description |
|---|---|---|
bedrooms | integer | Number of bedrooms |
bathrooms | integer | Number of bathrooms |
toilets | integer | Number of toilets |
livingArea | number | Living surface in m² |
landArea | number | Plot surface in m² |
constructionType | string | Construction type (open, half-open, …) |
buildYear | integer | Year of construction |
Energy, Risk & Legal
| Field | Type | Description |
|---|---|---|
epcValue | number | EPC energy value (kWh/m²/year) |
epcLabel | string | EPC energy label (A–G) |
epcCertificateNumber | string | EPC certificate number |
floodingZone | string | Flood-risk zone classification |
floodPScore | string | Flemish flood-hazard P-score |
planningInfo | string | Spatial-planning designation |
cadastralIncome | number | Cadastral income (kadastraal inkomen) |
parcelId | string | Land parcel identifier |
Media & Agent
| Field | Type | Description |
|---|---|---|
mainImageUrl | string | Primary photo URL |
photoCount | integer | Number of photos on the listing |
images | array | All photo URLs |
documents | array | Attached document/certificate PDF URLs (EPC, flooding, soil, asbestos, cadastral) where the listing publishes them |
agentName | string | Listing agency name |
agentPhone | string | Agency phone number |
agentWebsite | string | Agency website |
agentCity | string | Agency city |
agentAddress | string | Agency address |
sourceUrl | string | The search or detail URL this listing came from |
scrapedAt | string | ISO timestamp of collection |
Tips for Best Results
- Use postcodes for precise areas — a raw postcode like "9000" targets one municipality exactly, while a city name may resolve to the whole town; supply several postcodes to cover a metro region.
- Filter on EPC after collection — the scraper returns both
epcLabeland the numericepcValue, so pull a broad set and then sort or filter by energy performance for the sharpest shortlist. - Match the language to the region — choose French (Français) for Wallonia and Brussels listings and Dutch (Nederlands) for Flanders, so location names and descriptions read as published.
- Start small, then scale — run with
maxResultsof 10–50 to confirm your filters return the right properties, then raise the cap for the full pull. - Screen flood exposure early — sort investment shortlists by
floodingZoneandfloodPScoreto flag high-risk parcels before deeper analysis. - Paste browser URLs for exotic filters — if you need a filter combination the guided fields don't cover, apply it on zimmo.be and drop the resulting URL into
startUrls. - Combine several locations in one run — the
locationsfield accepts multiple cities and postcodes at once, so one run can span an entire buyer catchment area.
Pricing
From $2.50 per 1,000 results — flat pay-per-result billing with no surprises. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.30 | $0.28 | $0.27 | $0.25 |
| 1,000 | $3.00 | $2.80 | $2.65 | $2.50 |
| 10,000 | $30.00 | $28.00 | $26.50 | $25.00 |
| 100,000 | $300.00 | $280.00 | $265.00 | $250.00 |
A "result" is one property listing saved to your dataset. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee. Apify platform fees are additional.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n — Workflow automation
- Google Sheets — Direct spreadsheet export
- Slack / Email — Notifications on new results
- Webhooks — Trigger custom APIs on run completion
- Apify API — Full programmatic access
Legal & Ethical Use
This scraper collects publicly available property listing data from zimmo.be. Use it responsibly and in compliance with applicable laws, including data-protection regulations such as the GDPR. Respect zimmo.be's terms of service, and only use collected data — particularly agency contact details — for lawful, ethical purposes. You are responsible for how the extracted data is stored, processed, and shared.