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
Actor stats
0
Bookmarked
4
Total users
2
Monthly active users
a month 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
Use with AI Agents (MCP)
Connect this actor to any MCP-compatible AI client β Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.
Apify MCP server URL:
https://mcp.apify.com?tools=santamaria-automations/funda-nl-scraper
Example prompt once connected:
"Use
funda-nl-scraperto scrape property listings from funda nl. Return results as a table."
Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically via add-actor.
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.
