Immovlan Listings Scraper ($0.50/1K)
Pricing
from $0.30 / 1,000 listings
Immovlan Listings Scraper ($0.50/1K)
Scrape property listings from Immovlan.be, the Belgian real-estate portal: price, type, city, EPC label, price-update flag and status for sale and rent. Optional full details (street, coordinates, area, bedrooms, description, agent) and price history. No proxy needed.
Pricing
from $0.30 / 1,000 listings
Rating
0.0
(0)
Developer
Carabain Digital
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
What is Immovlan Listings Scraper?
Immovlan Listings Scraper scrapes property listings from Immovlan (immovlan.be), one of Belgium's main property portals with about 40,000 properties for sale and thousands for rent, listed directly by estate agents and by private sellers. Search for sale or rent by location, price, property type, rooms and living area, or paste a search URL from the site, and get clean, flat listing data as JSON, CSV, Excel, XML or HTML. Prefilled example: 20 listings, ready in a few seconds. Costs $0.50 per 1,000 listings. Add-ons: full details for $1.00 per 1,000 and price history for $1.00 per 1,000.
- 🔎 Search like on the site: location (municipality with suburbs, postcode, province or region), buy or rent, price, property type, bedrooms, living area
- ⚡ Fast and cheap: no browser, no proxy needed, around 20 listings per second
- 🏷️ Status and price flags:
available,under_offer,sold,rented, plus Immovlan's Price updated flag and other ribbons - 📚 Full details on demand: street, coordinates, area, bedrooms, description, listing date and agent
- 🧱 Beyond 1,000 results: Immovlan caps every search at 1,000 results; this Actor splits big searches by price band automatically
- 📈 Price history on demand: switch on Price history and schedule the Actor to see price cuts and status changes between runs
- 🧩 One real-estate schema for several sites: same field names as our other Belgian and Dutch property scrapers
- 🔌 Connect anywhere: API, schedules, webhooks, Google Sheets, Make, Zapier, MCP / AI agents
What data can I extract from Immovlan?
| 🆔 Stable listing ID and URL | 💶 Price (or monthly rent), price type |
| 🏠 Property type and listing type | 🔖 Status: available, under offer, sold, rented |
| 📍 Address, postcode, city, region | 🧭 Latitude and longitude |
| 📐 Living and plot area | 🛏️ Rooms, bedrooms, bathrooms |
| ⚡ Energy label | 🏗️ Year built |
| 🖼️ Photos | 🧑💼 Agent name, phone and page |
| 📅 Listing date | 📝 Description |
Search results carry price, type, postcode, city, region, EPC label, status, photo and a short description (snippet). Street, coordinates, areas, bedrooms, bathrooms, year built, listing date, full description and agent come from the detail page and are only filled with the Full details add-on. Immovlan does not publish a total room count, so rooms is always null. Fields the site does not have stay null; every item has the same keys.
How do I scrape Immovlan listings?
- Create a free Apify account and open this Actor.
- Enter a Location (for example
Gent), choose Buy or rent, and optionally a price range, property type and minimum rooms or living area. Or paste one or more Search URLs copied from immovlan.be. - Set Max listings.
- Optionally switch on Full details (description, agent and more) or Price history.
- Click Start, then download the listings from the Output tab as JSON, CSV, Excel, XML or HTML.
How much does it cost to scrape Immovlan?
You pay per listing that ends up in your dataset: $0.50 per 1,000 listings, no subscription. The monthly credit of Apify's Free plan ($5) covers around 10,000 listings without add-ons. Paid plans get volume discounts.
- Add-on: Full details, $1.00 per 1,000 listings (off by default). Adds street and house number, coordinates, living and plot area, bedrooms, bathrooms, year built (when the agency gives it), the full description, the listing date, all photos and the agency with its phone number when published. Charged only for listings that were actually enriched.
- Add-on: Price history, $1.00 per 1,000 listings (off by default). Adds previous price, price change and a price series to listings you have scraped before. Charged only for listings that already had history; the first sighting is free.
- Failed runs and empty searches cost nothing; you can cap spending with Maximum cost per run in the run options.
See the Pricing tab for the current prices.
⬇️ Input
| Field | Description |
|---|---|
Location (location) | Municipality, postcode, province or region, e.g. Gent, 9000, Brussels. Empty = all of Belgium |
Buy or rent (listing_type) | sale or rent |
Property type (property_type) | house, apartment, land, commercial or parking |
Min / max price (min_price, max_price) | In euro; monthly rent for rentals |
Min bedrooms (min_rooms) | Minimum bedrooms (Immovlan has no total room count) |
Min living area (min_living_area_m2) | Square metres |
Search URLs (start_urls) | Search result pages copied from immovlan.be; the other search fields are then ignored |
Max listings (limit) | Stop after this many listings |
Full details (includeDetails) | Paid add-on |
Price history (trackHistory, historyStoreName) | Paid add-on, see below |
Proxy (proxyConfiguration) | Not needed for Immovlan |
{"location": "Gent","listing_type": "sale","property_type": "apartment","limit": 20,"includeDetails": false,"trackHistory": false}
min_rooms filters on bedrooms, because Immovlan publishes no total room count. A municipality includes its suburbs, like on the site. When you use Search URLs, any language of the site works (/en/, /nl/, /fr/).
Price history
Switch on Price history (trackHistory) to follow price and status changes over time. The Actor keeps a small record per listing in a named key-value store in your own Apify account (default name realestate-history; change it with historyStoreName). We store nothing and run no database.
- The first run starts the series. Listings are recorded, nothing is added to the items yet and nothing is charged for history.
- From the second run on, every listing that is already in the store gets
first_seen_at,previous_price,price_change,price_change_pct,status_changedandprice_history(the last 20 changes:{at, price, status}). A new point is stored only when the price or the status changed, so the store stays small. - Schedule it (for example daily) with the same search and the same store name. Immovlan marks price changes with a Price updated ribbon (
price_updated), but only history shows by how much and when. - Do not run two runs on the same store at the same time: the last writer wins per listing and a price point can get lost. Use one store per schedule, or run them one after another.
- The store name is shared with our other real-estate Actors, so the same listing keeps one history when it shows up in several of them. Use another
historyStoreNamefor a separate series. If you delete the store, the history starts over. - Price: $1.00 per 1,000 listings that already had history (see below).
⬆️ Output
Listings are stored in the default dataset, in the order Immovlan shows them (newest first; new-build projects and "Best of" listings are pinned on top). View them as a table in the Output tab or export JSON, CSV, Excel, XML or HTML.
Listing from the search results
{"id": "immovlan:RBX25865","source": "immovlan","url": "https://immovlan.be/en/detail/apartment/for-sale/9050/gentbrugge/rbx25865","title": "Apartment for sale","listing_type": "sale","property_type": "apartment","status": "available","price": 374000,"price_currency": "EUR","price_period": null,"price_type": "asking","address": null,"street": null,"house_number": null,"postcode": "9050","city": "Gentbrugge","region": "Flanders","country": "BE","lat": null,"lon": null,"living_area_m2": null,"plot_area_m2": null,"rooms": null,"bedrooms": null,"bathrooms": null,"energy_label": "A","construction_year": null,"listed_at": null,"agent_name": null,"agent_phone": null,"agent_url": null,"image_urls": ["https://api-image.immovlan.be/v1/property/RBX25865/thumbnail-webp/Medium?h=280"],"description": null,"scraped_at": "2026-10-30T15:00:43Z","property_subtype": "apartment","price_max": null,"price_updated": false,"labels": ["New"],"snippet": "This property is for sale WITHOUT an estate agent through the Smart Houses concept! For more information or to arrange a viewing, please contact the owner directly at ###"}
The same kind of listing with the Full details add-on
{"id": "immovlan:RBX27165","source": "immovlan","url": "https://immovlan.be/en/detail/residence/for-sale/2100/deurne/rbx27165","title": "Residence for sale","listing_type": "sale","property_type": "house","status": "available","price": 329000,"price_currency": "EUR","price_period": null,"price_type": "asking","address": "Stevenslei 87, 2100 Deurne","street": "Stevenslei","house_number": "87","postcode": "2100","city": "Deurne","region": "Flanders","country": "BE","lat": 51.2086829,"lon": 4.4679848,"living_area_m2": 219,"plot_area_m2": 140,"rooms": null,"bedrooms": 5,"bathrooms": 2,"energy_label": "C","construction_year": 1919,"listed_at": "2026-10-30T02:35:20","agent_name": "Walls Vastgoedmakelaars","agent_phone": "+32 3 233 33 00","agent_url": "https://immovlan.be/en/directory/detail/walls-vastgoedmakelaars/38196","image_urls": ["https://api-image.immovlan.be/v1/property/RBX27165/images/1e69780b2792479eb04ea7c422bff0e0.jpg/Large","https://api-image.immovlan.be/v1/property/RBX27165/images/421be58c157248b9961c3ac2c02849a6.jpg/Large"],"description": "Deze ruime gezinswoning is gunstig gelegen in Deurne-Zuid, op wandelafstand van winkels, restaurants, openbaar vervoer en het Rivierenhof. Dankzij de tramverbindingen bereikt u vlot Antwerpen-centrum. Ook de belangrijkste invalswegen zijn gemakkelijk bereikbaar. De woning biedt veel ruimte en potent ...","scraped_at": "2026-10-30T15:00:52Z","property_subtype": "residence","price_max": null,"price_updated": false,"labels": ["New"],"snippet": "Deze ruime gezinswoning is gunstig gelegen in Deurne-Zuid, op wandelafstand van winkels, restaurants, openbaar vervoer en het Rivierenhof. Dankzij de tramverbindingen bereikt u vlot Antwerpen-centrum. Ook de belangrijkste invalswegen zijn gemakkelijk bereikbaar. De woning biedt veel ruimte en potentieel en dient deels verder gerenoveerd te worden. Reeds belangrijke werken werden uitgevoerd, waaronder het dak, de verwarming, elektriciteit, sanitair en ramen. Vooraan beschikt de woning over een voortuin met ruimte om fietsen te stallen. Via de inkomhal bereikt u de ruime leefruimte, gevolgd door de eetkamer en de bijzonder ruime keuken. Achteraan bevindt zich de 1ste badkamer met ligbad, wastafel en WC. Vanuit de keuken heeft u toegang tot de stadskoer. Op de 1ste tussenverdieping bevindt zich een kamer die nog verder afgewerkt dient te worden. De 1ste verdieping omvat 2 ruime slaapkamers. Op de 2de tussenverdieping vindt u een polyvalente ruimte die ideaal kan worden ingericht als bureau of hobbykamer. Aansluitend bevindt zich de 2de badkamer. De 2de verdieping beschikt over nog eens 2 ruime slaapkamers. Dankzij de praktische indeling en de 5 slaapkamers is deze woning geschikt voor grote gezinnen of wie extra ruimte wenst voor thuiswerk of hobby's. Tot slot beschikt de woning over een ruime kelder, ideaal als extra opslagruimte. EPC C - P- & G-score: A - Stedenbouw Gvg–Wg–Gmo–Gvkr–Gvv. Surf naar ### of bel ### voor meer info of een bezoek ter plaatse."}
Fields added by the Price history add-on
{"first_seen_at": "2026-10-30T15:09:52+00:00","previous_price": 349000,"price_change": -20000,"price_change_pct": -5.73,"status_changed": false,"price_history": [{"at": "2026-10-30T15:09:52+00:00","price": 349000,"status": "available"},{"at": "2026-11-06T15:10:01+00:00","price": 329000,"status": "available"}]}
What can I do with Immovlan data?
- 🔔 Deal alerts: schedule a daily run and get new listings and price cuts in Slack, e-mail or Google Sheets
- 📈 Market monitoring: follow asking prices per city, property type and size over time
- 🏢 Lead generation for agents, valuers and renovators: find listings by price, size and energy label
- 🧠 AI and analytics: feed prices, areas and descriptions into valuation models or LLM pipelines
Tips for best results
- Immovlan has no sort option for newest, but its default order is newest first, so a small
limitgives you the latest listings. Project cards ("Project: ...",property_subtype=project, with a price range) and "Best of" listings are pinned on top; filter them out onproperty_subtypeif you only want single properties. - The 1,000-result cap: the site shows at most 1,000 results per search (50 pages of 20). With a
limitof 1,000 or less you get the first (newest) results. With a higherlimitand a search that has more than 1,000 hits, the Actor splits the search into price bands (using the min and max price) and collects each band, so the results then come in price bands, cheapest first, and listings without a price are skipped. Another way: run several searches per town or postcode. - A run of 2,500 listings takes about 2.5 minutes without add-ons.
- Use Search URLs for filters the form does not have (for example other regions or extra facets): apply them on immovlan.be, copy the URL from the address bar and paste it.
- Leave Full details off for monitoring and counting; switch it on when you need descriptions and contacts.
- Results from the same search are deduplicated by listing ID.
Frequently asked questions
Can I use Immovlan Listings Scraper with the Apify API?
Yes. Every run has a dataset you can read through the Apify API. Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("carabain-digital/immovlan-listings").call(run_input={"location": "Gent","listing_type": "sale","max_price": 500000,"limit": 100,})for home in client.dataset(run["defaultDatasetId"]).iterate_items():print(home["price"], home["address"] or home["city"], home["url"])
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('carabain-digital/immovlan-listings').call({location: 'Gent',listing_type: 'sale',max_price: 500000,limit: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, 'listings');
Can I use Immovlan Listings Scraper through an MCP server or with AI agents?
Yes. Add it to an AI agent through the Apify MCP server (https://mcp.apify.com?tools=carabain-digital/immovlan-listings), or let the agent find it with search-actors and run it with call-actor. A small search (limit 20) finishes in a few seconds, and the dataset items are flat and small, so agents can read them with get-dataset-items. Example prompt: "Use Immovlan Listings Scraper to find the 20 newest apartments for sale in Gent and summarise the price range and typical living area."
Can I integrate Immovlan data with other apps?
Yes: Google Sheets, Slack, Make, Zapier, n8n, Airtable or your own webhook, through Apify integrations and webhooks. Schedule runs to keep the data fresh.
Why is a field empty?
Search results do not show street, coordinates, areas or bedrooms; those come from the detail page and need the Full details add-on. rooms is always null (Immovlan gives bedrooms, not rooms), agent_phone is only filled when the agency puts a number in the listing, and construction_year only when the agency fills it in. New-build project cards have no detail page of this kind and show a price range (price is the lowest price, price_max the highest).
What does price_updated mean?
Immovlan shows a Price updated ribbon on listings whose price changed recently. The Actor exposes it as price_updated (and in labels). For the old and new price, use the Price history add-on.
Do I get listings from private sellers and agents?
Yes, both. Listings by agencies carry the agency in agent_name (with the Full details add-on); private sales show no agent.
Do I get duplicates?
Within one run no: results are deduplicated by listing ID. Agents often publish the same property on Immovlan, Immoweb and Zimmo, so across sites match on address or postcode and size.
Is it legal to scrape Immovlan?
The Actor only collects publicly visible property listings, the same data anyone can see on immovlan.be. Listings can contain personal data (for example an agent's name or phone number, or a private seller), and rules such as GDPR may apply to how you store and use it. The site's terms of use may also restrict automated access. Check your use case with a lawyer. More background: Is web scraping legal?
Immovlan Listings Scraper not working? Feedback
Open an issue on the Issues tab of this Actor with the run link and we will look at it. Feature ideas are welcome there too.
Other scrapers by us
| Actor | Covers |
|---|---|
| Zimmo Listings Scraper | Belgium: zimmo.be, with price history and publication date |
| Immoweb Listings Scraper | Belgium: immoweb.be, the largest Belgian property portal |
| Immovlan Listings Scraper | Belgium: immovlan.be |
| Huislijn Listings Scraper | Netherlands: huislijn.nl |
| Pararius Listings Scraper | Netherlands: pararius.nl, rentals and sales |
| Belgium Real Estate Scraper | Zimmo, Immoweb and Immovlan in one run, merged and deduplicated |
⭐ Does it work well for you? A review on the Store page helps others find this Actor and helps us keep it maintained.