Funda.nl Real Estate Scraper
Pricing
from $3.00 / 1,000 property listing scrapeds
Funda.nl Real Estate Scraper
Scrape property listings from Funda.nl, the Netherlands' #1 real estate portal. Extract prices, addresses, photos, property details, energy labels, and agent contact info for buy and rent listings.
Pricing
from $3.00 / 1,000 property listing scrapeds
Rating
0.0
(0)
Developer
Alessandro Santamaria
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Scrape every property on Funda.nl — the Netherlands' #1 real estate portal with 93% brand awareness and 300,000+ active listings. Essential for Dutch real estate intelligence, investment research, and proptech analytics.
Extract prices, addresses, coordinates, photos, full descriptions, energy labels, room counts, construction year, and more — for both buy (koop) and rent (huur) listings across every Dutch city. Pay only for the results you scrape.
Features
- Buy and rent — Scrapes both
/zoeken/koopand/zoeken/huurmarkets - Direct URL or city name — Paste a Funda search URL or just type
amsterdam,rotterdam,utrecht,den-haag, ... - Full pagination — Walks through every SERP page (15 listings / page) up to your
maxResultslimit - Rich property data — 35+ fields including GPS coordinates, neighborhood, full description, all photos, energy label, room breakdown
- Dutch energy label decoding — Correctly handles A+, A++, A+++, A++++ and all B-G labels
- Structured address parsing — Street, postal code (with Dutch space), city, neighborhood, province, country
- 30+ photos per listing — Full-resolution image URLs straight from Funda's CDN
- Full description text — Complete Dutch "Omschrijving" content, typically 3,000-6,000 characters per listing
- Feature tags — Amenities like garden, balcony, parking, heating type, construction type
- Dedup across pages — Every listing ID returned exactly once
- Fast HTTP-only scraper — 128 MB memory, no headless browser, ~1 second per SERP page
- Pay-per-result pricing — Only pay for what you actually scrape
Output Fields
Every result includes these fields:
| Field | Type | Description |
|---|---|---|
property_image_url | string | Primary listing photo (displayed as image thumbnail in the Apify console) |
id | string | Unique Funda listing ID |
title | string | Listing title (usually the street address) |
url | string | Canonical Funda detail URL |
listing_type | string | koop (buy) or huur (rent) |
price | number | Asking price (EUR) or monthly rent (EUR) |
price_currency | string | Always EUR |
price_original | number | Original asking price if the listing has been reduced |
price_per_m2 | number | Price per square meter of living area |
address | string | Full formatted address |
street | string | Street and house number |
city | string | City name |
postal_code | string | Dutch postal code, e.g. 1017 DM |
neighborhood | string | Official Funda neighborhood, e.g. Jordaan, Spiegelbuurt |
province | string | Dutch province, e.g. Noord-Holland |
country | string | Always NL |
latitude | number | WGS84 latitude |
longitude | number | WGS84 longitude |
property_type | string | apartment, house, villa, bungalow, parking, land |
bedrooms | number | Number of bedrooms |
rooms | number | Total number of rooms |
bathrooms | number | Number of bathrooms |
living_area_m2 | number | Living area in square meters |
plot_size_m2 | number | Plot size in square meters (houses only) |
year_built | number | Construction year |
energy_label | string | Dutch energy label: A+++++, A++++, A+++, A++, A+, A, B, C, D, E, F, G |
heating_type | string | Heating system, e.g. Cv-ketel, Stadsverwarming, Warmtepomp |
construction_type | string | Bestaande bouw (existing) or Nieuwbouw (new build) |
description | string | Full Dutch listing description (plain text, typically 3,000-6,000 chars) |
features | string[] | Amenity tags (balcony, garden, parking, insulation level, ...) |
photos | string[] | All listing photo URLs in original order (full resolution) |
agent_name | string | Listing agent / agency name (when visible on SERP) |
agent_phone | string | Agent phone number (when available — see note below) |
agent_email | string | Agent email address (when available — see note below) |
agent_url | string | Agent profile page URL |
listed_since | string | Date the listing was first published |
source_url | string | Original Funda detail URL |
source_platform | string | Always funda.nl |
scraped_at | string | ISO-8601 UTC timestamp |
Note on agent contact details: Funda hides agent phone and email behind a "Log in om te bekijken" wall for unauthenticated visitors.
agent_nameandagent_urlare extracted from the listing card when present.agent_phone/agent_emailare populated only when the listing exposes them publicly.
Real Output Example
{"property_image_url": "https://cloud.funda.nl/valentina_media/227/009/834.jpg","id": "43300313","title": "Aldengoor 2","url": "https://www.funda.nl/detail/koop/amsterdam/huis-aldengoor-2/43300313/","listing_type": "koop","price": 3400000,"price_currency": "EUR","price_per_m2": 9341,"address": "Aldengoor 2, 1083 AK Amsterdam","street": "Aldengoor 2","city": "Amsterdam","postal_code": "1083 AK","neighborhood": "Buitenveldert-Zuidoost","province": "Noord-Holland","country": "NL","latitude": 52.32434,"longitude": 4.885988,"property_type": "house","bedrooms": 7,"rooms": 9,"bathrooms": 5,"living_area_m2": 364,"plot_size_m2": 689,"year_built": 1964,"energy_label": "A+","heating_type": "Cv-ketel, open haard, gedeeltelijke vloerverwarming en warmtepomp","construction_type": "Bestaande bouw","description": "Luxe, royaal en exclusief zijn de drie kernwoorden die deze vrijstaande villa van 364m² het beste omschrijven. Deze moderne villa beschikt over een riante voor-, zij- en achtertuin inclusief een verwarmd zwembad...","features": ["Soort woonhuis: Villa, vrijstaande woning","Soort dak: Plat dak","Isolatie: Volledig geïsoleerd","Tuin: Achtertuin, voortuin en zijtuin","Balkon/dakterras: Dakterras aanwezig en balkon aanwezig","Soort garage: Parkeerplaats en vrijstaande stenen garage"],"photos": ["https://cloud.funda.nl/valentina_media/227/009/834.jpg","https://cloud.funda.nl/valentina_media/227/009/921.jpg","https://cloud.funda.nl/valentina_media/227/009/836.jpg","... 55 more photos"],"agent_name": "CSV Makelaars B.V.","agent_url": "https://www.funda.nl/makelaar/24635-csv-makelaars-bv/","listed_since": "2026-04-09T00:00:00Z","source_url": "https://www.funda.nl/detail/koop/amsterdam/huis-aldengoor-2/43300313/","source_platform": "funda.nl","scraped_at": "2026-04-10T10:18:12Z"}
Input Parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
searchUrls | string[] | One or more Funda search URLs. Example: https://www.funda.nl/zoeken/koop?selected_area=%5B%22amsterdam%22%5D | — |
city | string | Alternative: Dutch city slug. amsterdam, rotterdam, utrecht, den-haag, eindhoven, groningen, ... Used when searchUrls is empty. | — |
listingType | string | koop (buy) or huur (rent). Only used together with city. | koop |
maxResults | number | Maximum listings to return across all pages | 100 |
includeDetails | boolean | Fetch detail pages for full descriptions, all photos, coordinates, neighborhood, year built, heating, rooms, and more | true |
proxyConfiguration | object | Apify proxy settings. Default auto works reliably and is the cheapest option. | {useApifyProxy: true} |
Either searchUrls or city must be provided. searchUrls takes precedence and lets you use Funda's advanced filters (price range, area, rooms, energy label, …).
Example: Amsterdam apartments under €500K, minimum 2 rooms
{"searchUrls": ["https://www.funda.nl/zoeken/koop?selected_area=%5B%22amsterdam%22%5D&price=%22-500000%22&object_type=%5B%22apartment%22%5D&rooms=%222-%22"],"maxResults": 300,"includeDetails": true}
Example: Rental listings in Rotterdam (cheap mode — no details)
{"city": "rotterdam","listingType": "huur","maxResults": 500,"includeDetails": false}
Use Cases
- Dutch real estate market analysis — Track asking prices, time-on-market, and inventory trends across all Dutch cities
- Amsterdam / Rotterdam / Utrecht investment research — Find undervalued properties in high-growth neighborhoods
- Rental yield calculation — Compare buy (koop) vs rent (huur) prices on the same streets to compute cap rates
- Neighborhood price heatmaps — Build interactive maps with
latitude/longitude+price_per_m2 - Lead generation for makelaars — Target agents based on listing volume and pricing tier
- PropTech data pipelines — Feed clean, structured JSON into BI tools, data warehouses, or ML models
- Historical price tracking — Run daily to record price reductions and detect distressed sales
- Relocation and expat tools — Aggregate listings filtered by school, transport, or amenity preferences
- Competitive benchmarking — Compare your listings against the full Funda market
Pricing
| Event | Price |
|---|---|
| Actor start | $0.001 |
Search result (SERP only, includeDetails=false) | $0.003 per listing |
Detail result (includeDetails=true) | $0.008 per listing |
When includeDetails is true, each listing charges the detail rate — not both rates. A full 100-listing Amsterdam scrape with full details costs ~$0.80.
Why This Scraper
- HTTP-only, not a browser — runs in 128 MB of RAM, ~1 second per page. No Playwright overhead.
- Pay per result, not per hour — you're never billed for warming up a browser or retrying a Captcha.
- No monthly rental — pay only when you run it. Perfect for one-off market studies or daily cron jobs.
- Structured Nuxt data extraction — we parse Funda's internal state directly, so every field comes out clean: full descriptions, photo galleries, GPS coordinates, typed room counts, and the correct energy label (A+ ≠ A1).
- Works out of the box —
autoproxy is the default. No RESIDENTIAL required. - Field coverage verified — Tested to populate every documented field on 100% of real Amsterdam, Rotterdam, and Utrecht listings where the data is publicly visible on Funda.
Issues & Feedback
Facing an issue, or missing a feature or data field? Open an issue on the Issues tab — we respond quickly and ship fixes regularly.
Related Actors
If you scrape Dutch / European real estate, you may also want:
- Immoweb.be Scraper — Belgium's #1 real estate portal (EN/FR/NL)
- Homegate.ch Scraper — Switzerland's leading real estate portal
- ImmobilienScout24 Scraper — Germany's #1 real estate portal
- Immowelt.de Scraper — Germany's #2 real estate portal
- AutoScout24 Scraper — European used car marketplace
- Google Maps Scraper — Local business intelligence
- Website Contact Extractor — Enrich any website with contact data
Or browse all santamaria-automations actors for the full DACH + European scraping suite.