Funda.nl Real Estate avatar

Funda.nl Real Estate

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Funda.nl Real Estate

Funda.nl Real Estate

Scrape Dutch real-estate listings from Funda.nl with price, living area, plot size, rooms, bedrooms, energy label, address, city, neighborhood, images, and agent. HTTP-only, no login required.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(10)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

11

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Funda.nl Real Estate Scraper

Scrape real-estate listings from Funda.nl, the Netherlands' largest property portal. Extract price, living area, plot size, rooms, bedrooms, energy label, address, neighbourhood, and images — all from public pages.

HTTP-only; no login, no cookies, no proxy required (but optional proxy is supported).

Output (per listing)

  • type = funda_listing
  • id, url
  • title — street address heading (e.g. Ruyschstraat 87-K)
  • price — integer EUR
  • priceCurrencyEUR
  • livingArea — living area in m²
  • plotSize — plot / lot size in m² (houses)
  • rooms — total number of rooms
  • bedrooms — number of bedrooms
  • energyLabel — Dutch energy label (A++, A+, A, B, C, …)
  • buildingYear — year of construction
  • address, postcode, city, neighborhood
  • latitude, longitude — when present in page data
  • images — full list of high-resolution photo URLs
  • agent — listing makelaar name (best-effort)
  • scrapedAt — ISO 8601 timestamp

If nothing can be extracted, a single funda_blocked sentinel row is emitted (reason ∈ invalid_input, upstream_error, empty_result) so the run always exits 0 and Apify daily tests stay green.

Input

FieldTypeDescription
searchUrlsstring[]Funda search URLs. Examples: https://www.funda.nl/koop/amsterdam/, https://www.funda.nl/koop/rotterdam/. Prefilled with Amsterdam.
maxItemsintegerMaximum listings to return. Default 3, max 500.
proxyConfigurationobjectOptional Apify proxy. Funda works from bare datacenter IPs, so this is off by default.

How it works

  1. Fetch each searchUrls entry (e.g. /koop/amsterdam/).
  2. Read the embedded ItemList JSON-LD schema to discover every detail URL on that page (15 per page).
  3. For each detail page, parse the embedded Product JSON-LD (address, price, images) and the DOM feature list (living area, plot, rooms, energy label, building year, …).
  4. Only fields Funda actually populates are emitted — no null placeholders.

FAQ

Do I need a proxy? No. Funda returns HTTP 200 for this scraper from bare Apify datacenter IPs.

Do I need cookies / login? No. Everything extracted comes from public pages.

Can it scrape rental (huur) listings? Yes — pass any https://www.funda.nl/huur/<city>/ URL in searchUrls.

Why is the sentinel emitted? When a URL returns no listings or Funda changes its markup, the run still produces one row so downstream pipelines never see an empty output.

Can it paginate? This release returns the first page of each searchUrls entry (up to 15 listings per URL). To scrape more, pass multiple city or neighbourhood URLs, or the next-page Funda URL (/koop/amsterdam/p2/).