Funda.nl Real Estate Scraper avatar

Funda.nl Real Estate Scraper

Pricing

from $3.00 / 1,000 property listing scrapeds

Go to Apify Store
Funda.nl Real Estate Scraper

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

Alessandro Santamaria

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

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/koop and /zoeken/huur markets
  • 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 maxResults limit
  • 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:

FieldTypeDescription
property_image_urlstringPrimary listing photo (displayed as image thumbnail in the Apify console)
idstringUnique Funda listing ID
titlestringListing title (usually the street address)
urlstringCanonical Funda detail URL
listing_typestringkoop (buy) or huur (rent)
pricenumberAsking price (EUR) or monthly rent (EUR)
price_currencystringAlways EUR
price_originalnumberOriginal asking price if the listing has been reduced
price_per_m2numberPrice per square meter of living area
addressstringFull formatted address
streetstringStreet and house number
citystringCity name
postal_codestringDutch postal code, e.g. 1017 DM
neighborhoodstringOfficial Funda neighborhood, e.g. Jordaan, Spiegelbuurt
provincestringDutch province, e.g. Noord-Holland
countrystringAlways NL
latitudenumberWGS84 latitude
longitudenumberWGS84 longitude
property_typestringapartment, house, villa, bungalow, parking, land
bedroomsnumberNumber of bedrooms
roomsnumberTotal number of rooms
bathroomsnumberNumber of bathrooms
living_area_m2numberLiving area in square meters
plot_size_m2numberPlot size in square meters (houses only)
year_builtnumberConstruction year
energy_labelstringDutch energy label: A+++++, A++++, A+++, A++, A+, A, B, C, D, E, F, G
heating_typestringHeating system, e.g. Cv-ketel, Stadsverwarming, Warmtepomp
construction_typestringBestaande bouw (existing) or Nieuwbouw (new build)
descriptionstringFull Dutch listing description (plain text, typically 3,000-6,000 chars)
featuresstring[]Amenity tags (balcony, garden, parking, insulation level, ...)
photosstring[]All listing photo URLs in original order (full resolution)
agent_namestringListing agent / agency name (when visible on SERP)
agent_phonestringAgent phone number (when available — see note below)
agent_emailstringAgent email address (when available — see note below)
agent_urlstringAgent profile page URL
listed_sincestringDate the listing was first published
source_urlstringOriginal Funda detail URL
source_platformstringAlways funda.nl
scraped_atstringISO-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_name and agent_url are extracted from the listing card when present. agent_phone / agent_email are 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

ParameterTypeDescriptionDefault
searchUrlsstring[]One or more Funda search URLs. Example: https://www.funda.nl/zoeken/koop?selected_area=%5B%22amsterdam%22%5D
citystringAlternative: Dutch city slug. amsterdam, rotterdam, utrecht, den-haag, eindhoven, groningen, ... Used when searchUrls is empty.
listingTypestringkoop (buy) or huur (rent). Only used together with city.koop
maxResultsnumberMaximum listings to return across all pages100
includeDetailsbooleanFetch detail pages for full descriptions, all photos, coordinates, neighborhood, year built, heating, rooms, and moretrue
proxyConfigurationobjectApify 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

EventPrice
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 boxauto proxy 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.


If you scrape Dutch / European real estate, you may also want:

Or browse all santamaria-automations actors for the full DACH + European scraping suite.