Huislijn Listings Scraper ($0.50/1K)
Pricing
from $0.30 / 1,000 listings
Huislijn Listings Scraper ($0.50/1K)
Scrape property listings from Huislijn.nl, the Dutch property portal fed by about 2,500 estate agents: price, address, coordinates, living and plot area, rooms, year built, status for sale and rent, newest first. Optional full details (description, agent) and price history.
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 Huislijn Listings Scraper?
Huislijn Listings Scraper scrapes property listings from Huislijn (huislijn.nl), the Dutch property portal that aggregates the listings of about 2,500 estate agents, with around 19,000 homes for sale and thousands for rent. 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: city or province, buy or rent, price, property type, rooms, living area
- 🆕 Newest first: results are sorted by the site's own newest-first order
- ⚡ Fast and cheap: no browser, no proxy needed
- 🧭 Rich search data: address, coordinates, living and plot area, rooms, bedrooms, year built and status come with every listing, without extra requests
- 📚 Full details on demand: description, estate agent with phone number and energy label
- 📈 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 Huislijn?
| 🆔 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 already carry price, address, coordinates, living and plot area, rooms, bedrooms, year built, status and a photo. The description, the estate agent (name, phone, page) and, where the search result lacks it, the energy label come from the detail page and are only filled with the Full details add-on. Huislijn does not show a listing date, so listed_at is always null. Fields the site does not have stay null; every item has the same keys.
How do I scrape Huislijn listings?
- Create a free Apify account and open this Actor.
- Enter a Location (for example
Utrecht), 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 huislijn.nl. - 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 Huislijn?
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 the full description, the estate agent with phone number and agent page, and the energy label when the search result has none. Rentals fed by other portals have a shortened description and no agent. 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) | Dutch city or province, e.g. Utrecht, Den Haag, Noord-Holland. Empty = all of the Netherlands |
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 rooms (min_rooms) | Minimum number of rooms (kamers) |
Min living area (min_living_area_m2) | Square metres |
Search URLs (start_urls) | Search result pages copied from huislijn.nl; 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 Huislijn |
{"location": "Utrecht","listing_type": "sale","limit": 20,"includeDetails": false,"trackHistory": false}
Property type is applied to the listings the Actor scrapes (Huislijn's own filter only takes one exact label), so narrow searches finish faster than a nationwide search for one type.
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. Huislijn shows only the current asking price and the status (
Beschikbaar,Onder bod,Verkocht onder voorbehoud), so history is the way to see price cuts and listings going under offer. - 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, newest first. View them as a table in the Output tab or export JSON, CSV, Excel, XML or HTML.
Listing from the search results
{"id": "huislijn:4444540","source": "huislijn","url": "https://www.huislijn.nl/koopwoning/nederland/noord-holland/4444540/wigbolt-ripperdastraat-44-amsterdam","title": "Wigbolt Ripperdastraat 44, Amsterdam","listing_type": "sale","property_type": "apartment","status": "available","price": 450000,"price_currency": "EUR","price_period": null,"price_type": "asking","address": "Wigbolt Ripperdastraat 44, 1067EH Amsterdam","street": "Wigbolt Ripperdastraat","house_number": "44","postcode": "1067EH","city": "Amsterdam","region": "Noord-Holland","country": "NL","lat": 52.381884,"lon": 4.804192,"living_area_m2": 93,"plot_area_m2": null,"rooms": 3,"bedrooms": 2,"bathrooms": null,"energy_label": null,"construction_year": 2005,"listed_at": null,"agent_name": null,"agent_phone": null,"agent_url": null,"image_urls": ["https://cdn-v4.huislijn.nl/objects/4444540/f73e6525d4dc4eb7ba5117ad8d15a6202af22abf/m.webp"],"description": null,"scraped_at": "2026-10-30T15:05:25Z","property_subtype": "Portiekflat","price_condition": "kosten_koper","status_label": "Beschikbaar","external_url": null}
The same kind of listing with the Full details add-on
{"id": "huislijn:4444540","source": "huislijn","url": "https://www.huislijn.nl/koopwoning/nederland/noord-holland/4444540/wigbolt-ripperdastraat-44-amsterdam","title": "Wigbolt Ripperdastraat 44, Amsterdam","listing_type": "sale","property_type": "apartment","status": "available","price": 450000,"price_currency": "EUR","price_period": null,"price_type": "asking","address": "Wigbolt Ripperdastraat 44, 1067EH Amsterdam","street": "Wigbolt Ripperdastraat","house_number": "44","postcode": "1067EH","city": "Amsterdam","region": "Noord-Holland","country": "NL","lat": 52.381884,"lon": 4.804192,"living_area_m2": 93,"plot_area_m2": null,"rooms": 3,"bedrooms": 2,"bathrooms": null,"energy_label": null,"construction_year": 2005,"listed_at": null,"agent_name": "bij Bosch Makelaars","agent_phone": "0362340005","agent_url": "https://www.huislijn.nl/makelaar/137305/bij-bosch-makelaars-almere","image_urls": ["https://cdn-v4.huislijn.nl/objects/4444540/f73e6525d4dc4eb7ba5117ad8d15a6202af22abf/m.webp"],"description": "**See for English text below**\nAangeboden door bij Bosch Makelaars\nZie jij jezelf hier al wonen? Plan een bezichtiging via de planner aan de zijkant of neem telefonisch of via mail contact met ons op!\n\nRuimte, comfort én je eigen parkeerplaats: aan de Wigbolt Ripperdastraat 44 komt het allemaal same ...","scraped_at": "2026-10-30T15:05:25Z","property_subtype": "Portiekflat","price_condition": "kosten_koper","status_label": "Beschikbaar","external_url": null}
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 Huislijn 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
- The Actor always asks Huislijn for the newest-first order (
order=created desc), so a smalllimitgives you the latest listings. If you paste a Search URL that has its ownorder, that order is kept. - Huislijn shows 13 listings per page, so 100 listings take 8 requests (about 4 seconds). Cap: a search reaches at most about 10,000 results (769 pages), even when the site counts more (about 19,000 homes for sale nationwide). To get everything, run one search per province or city, or split by price with
min_priceandmax_price. - Rentals on Huislijn are mostly entries fed by other portals (for example huurwoningen.nl):
external_urllinks to the original. - Use Search URLs for filters the form does not have (for example other regions or extra facets): apply them on huislijn.nl, 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 Huislijn 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/huislijn-listings").call(run_input={"location": "Utrecht","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/huislijn-listings').call({location: 'Utrecht',listing_type: 'sale',max_price: 500000,limit: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, 'listings');
Can I use Huislijn 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/huislijn-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 Huislijn Listings Scraper to find the 20 newest homes for sale in Utrecht and summarise the price range and typical living area."
Can I integrate Huislijn 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?
listed_at is always null because Huislijn shows no listing date. agent_* and description need the Full details add-on, and rentals fed by other portals have no agent there. energy_label is given in the search result for about half of the sale listings; the add-on fills it from the detail page when available. house_number is empty for rentals where the site hides it.
Is "price on request" handled?
Yes. Such listings have price_type on_request and price null. price_condition is kosten_koper (k.k.) or von (vrij op naam) when the site says so.
Do I get duplicates?
Within one run no: results are deduplicated by listing ID. Huislijn gets its listings from estate agents that also publish on Funda and Pararius, so across sites match on postcode and house number.
Is it legal to scrape Huislijn?
The Actor only collects publicly visible property listings, the same data anyone can see on huislijn.nl. 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?
Huislijn 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 |
| Netherlands Real Estate Scraper | Huislijn and Pararius 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.