Funda Scraper | Netherlands Real Estate Koop Huur avatar

Funda Scraper | Netherlands Real Estate Koop Huur

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Funda Scraper | Netherlands Real Estate Koop Huur

Funda Scraper | Netherlands Real Estate Koop Huur

Scrape Funda.nl koop, huur & nieuwbouw listings across the Netherlands. Extract prices, addresses, floor area, rooms, agents & URLs — Funda API alternative.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 hours ago

Last modified

Share

Funda Scraper — Netherlands Real Estate Listings (Koop & Huur)

Scrape Funda.nl property listings across the Netherlands — koop (for sale), huur (for rent), nieuwbouw, makelaar offices, and map search — then download structured data as Excel, CSV, JSON, or JSONL.

Architecture: this Apify Actor is a thin client. Scraping runs on the funda-nl Cloud Run worker over HTTPS + API key.

Worker URL is config, not code: the Actor reads WORKER_BASE_URL from Actor environment variables (plus optional per-run workerBaseUrl). If you migrate the worker to a new host, update WORKER_BASE_URL (and WORKER_AUTH / WORKER_API_KEY if the API key changes) in Apify Console — no Actor code change required. Set WORKER_PROVIDES_PROXY=1 when the worker supplies its own PROXY_URL instead of Apify RESIDENTIAL.

This Actor is a practical Funda API alternative for Dutch housing market research, property lead gen, price monitoring, and agency tracking on www.funda.nl. Enter a city or province (or several areas), choose a channel, start a run, and get clean Dataset rows with addresses, asking prices, floor area, rooms, energy labels, agent names, and direct Funda URLs.

  • Pull Funda listings from the leading Dutch real-estate portal (koop / huur / nieuwbouw)
  • Search by city, province, postal code, or nationwide (nl) — batch multiple areas in one run
  • Optionally enrich results with detail kenmerken, media tabs (photos, floor plans, video, 360), and English detail pages
  • Export to Excel / CSV / JSON, or connect Make, n8n, Zapier, Python, or the Apify API
  • Schedule runs, monitor failures, and integrate webhooks on the Apify platform
  • Pay per event — Actor start + each Dataset result; platform usage is included (you do not pay separate Apify compute)

What does Funda Scraper do?

Funda Scraper lets you extract structured real-estate data from Funda.nl without maintaining your own browser farm or reverse-engineering Funda’s Nuxt payloads. Give it one or more Dutch areas and a channel (koop, huur, nieuwbouw, makelaar, or map), then start a run.

Under the hood, the Actor:

  1. Validates your input (channel, areas, filters, locale, enrich flags)
  2. Calls a managed Cloud Run worker in europe-west4 (NL) that opens Funda pages with residential NL egress
  3. Parses guest-visible SERP / LDP HTML (JSON-LD ItemList, Nuxt hints, DOM cards, kenmerken)
  4. Pushes Dataset rows with preview fields (name, type, status, country, authority)
  5. Writes RUN_SUMMARY (and ERROR_SUMMARY on failure) to the key-value store

You run it like any other Apify Actor — schedule it, call it from the API, or plug it into automations.


What data can you extract from Funda.nl?

DataSearch SERPDetail enrichMakelaar officeMedia enrich
Address / title
Asking / rent price
Floor area (m²)
Rooms
Energy label✅*✅*
Agent / makelaar name✅*✅*
Postal code / city
Listing URL + urlId
Internal listing id✅*
Features (kenmerken)
Photos / floor plans / video / 360
Cadastral (kadaster)✅*
Office listing links

*When Funda shows the field on the public / guest page. Login-gated values are marked, not unlocked.

Every row includes contentDepth=guest_preview (public guest-visible content only).


Why scrape Funda.nl?

Funda is the dominant residential real-estate marketplace in the Netherlands and the primary source of Dutch koop and huur inventory. Teams scrape Funda to:

  • Build custom NL property databases for investing, brokerage, or lead gen
  • Track asking prices, nieuwbouw supply, and inventory by city or province
  • Monitor specific makelaar offices and their active listings
  • Feed valuation models, dashboards, CRM workflows, or AI agents with structured Funda data
  • Compare Amsterdam, Utrecht, Rotterdam, Den Haag, and regional markets at scale

More Actors like this

Looking for another property portal, or a scraper outside real estate? Use a specialized Actor when one exists — structured fields, better coverage, usually lower cost. Use this Actor for Funda.nl koop / huur / nieuwbouw / makelaar / map search and detail pages.

Similar real estate Actors

Prefer another specialized scraper?

Jobs & Freelance

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.


How to scrape Funda.nl (no code required)

  1. Create a free Apify account
  2. Open Funda Scraper
  3. Choose a channel (koop, huur, nieuwbouw, makelaar, or map)
  4. Enter a selectedArea (e.g. amsterdam) or selectedAreas (e.g. amsterdam, utrecht)
  5. Optionally set filters (objectType, price, sort), locale, enrichDetails, or enrichMedia
  6. Click Start and download the Dataset as JSON, CSV, Excel, or JSONL

Start with maxResults: 5–10 to verify the query, then scale up. You can also run Funda Scraper from the Apify API, Python/JS client, or Schedules.


How much does it cost to scrape Funda?

This Actor uses pay-per-event pricing. You are charged for:

EventPrice
Actor Start (apify-actor-start)$0.005 per start
Result (apify-default-dataset-item)$3.00 / 1,000 results ($0.003 each)

User pays platform usage costs: No. Platform compute/proxy usage for this Actor is included — you pay the event prices above, not separate Apify usage on top.

Example cost estimates

Results collectedApprox. event cost*
100~$0.31
1,000~$3.01
10,000~$30.01

*Assumes one Actor start at default memory billing for start events, plus $0.003 per Dataset item. Exact start billing can scale with allocated memory (one start event per GB, minimum one).

Free Apify trial credit can cover a small test run — try maxResults: 5 first.

Free Apify plan limits (set by this Actor's developer)

LimitFree Apify planPaid Apify plan
Runs of this Actor10 runs totalUnlimited
Results per run (maxResults)Up to 500Up to 500

When the run cap is hit, the run finishes with a clear status message — not an Apify platform error. Paying Apify users are not subject to the run cap.


Input

Funda Scraper has the following input options. Open the Input tab for the full form.

FieldDescription
channelkoop / huur / nieuwbouw / makelaar / map
selectedAreaSingle Funda area slug (city, province, postal, or nl)
selectedAreasBatch multiple areas; Actor calls the worker per area and dedupes by urlId
postalCodeOptional Dutch postal code
objectTypehouse / apartment / parking / land / storage / office / garage
pricee.g. Max-750000 or Min-200000-Max-500000
sorte.g. price.selling_price_asc, date_down, floor_area_desc
officeId / officeUrlRequired for channel=makelaar
mapListingType / bbox / zoomMap (kaart) options when channel=map
localenl (default) or en for /en/detail/... pages
enrichDetailsFetch listing detail kenmerken after SERP
enrichMediaAfter detail, fetch fotos / plattegronden / videos / 360 / kadaster
detailUrlsScrape specific Funda detail URLs
maxResults / maxPagesCap Dataset rows and SERP pages

Example: scrape Funda koop listings in Amsterdam

{
"selectedArea": "amsterdam",
"channel": "koop",
"maxResults": 20,
"maxPages": 1,
"sort": "date_down"
}

Example: scrape Funda listings in multiple cities

{
"selectedAreas": ["amsterdam", "utrecht"],
"channel": "koop",
"maxResults": 40,
"maxPages": 1
}

Example: scrape Funda huur (rent) apartments

{
"selectedArea": "rotterdam",
"channel": "huur",
"objectType": "apartment",
"price": "Max-2000",
"maxResults": 25
}

Example: scrape Funda nieuwbouw

{
"selectedArea": "amsterdam",
"channel": "nieuwbouw",
"maxResults": 20,
"maxPages": 1
}

Example: scrape a Funda makelaar office

{
"channel": "makelaar",
"officeId": "25050",
"maxResults": 20
}

Example: Funda detail URLs with media (English)

{
"detailUrls": [
"https://www.funda.nl/detail/koop/amsterdam/appartement-keizersgracht-401-a/43022122/"
],
"locale": "en",
"enrichDetails": true,
"enrichMedia": true,
"maxResults": 5
}

Output example

You can download the dataset extracted by Funda Scraper in JSON, HTML, CSV, Excel, XML, or RSS.

Each Dataset item looks like this (koop search):

{
"name": "Geervliet 70 1082 NV Amsterdam",
"type": "listing",
"status": "active",
"country": "NL",
"authority": "funda.nl",
"brand": "funda",
"channel": "koop",
"listingId": "44445204",
"urlId": "44445204",
"listingUrl": "https://www.funda.nl/detail/koop/amsterdam/appartement-geervliet-70/44445204/",
"streetAddress": "Geervliet 70 1082 NV Amsterdam",
"city": "Amsterdam",
"postalCode": "1082NV",
"price": 575000,
"priceCurrency": "EUR",
"priceDisplay": "€ 575.000",
"floorArea": "86",
"rooms": 2,
"energyLabel": "B",
"agentName": "Van de Steege Makelaarsgroep Amsterdam-West",
"contentDepth": "guest_preview",
"scrapedAt": "2026-07-23T08:47:27.000000+00:00"
}

Detail / media runs add features, images, media, cadastral, and optionally internalListingId. Nieuwbouw rows set constructionType=newly_built. Makelaar runs emit an office row plus linked listing URLs when present.

Diagnostics live in the key-value store as RUN_SUMMARY, INPUT_ECHO, and ERROR_SUMMARY.


How many Funda results can this scraper return?

Throughput depends on area popularity and Funda edge behavior.

  • Koop / huur / nieuwbouw SERP: typically ~15 cards per page; maxPages walks real ?page=N URLs
  • Detail: one rich listing row per URL (optional media tabs)
  • Makelaar: one office overview plus linked listing URLs when the office page exposes them
  • Map (kaart): client-hydrated map shells may return fewer cards; check RUN_SUMMARY.warnings if empty

Results can vary day to day because Funda pages are dynamic and protected. A short test run is the best way to estimate volume for your query.


Which Funda areas are supported?

Use Funda selected_area slugs. Common values include:

Area typeExamples
Citiesamsterdam, rotterdam, utrecht, den-haag, eindhoven, groningen
Provincesnoord-holland, zuid-holland, utrecht, gelderland, noord-brabant, …
Nationwidenl
PostalDutch postcode slug / postalCode input

The worker /v1/categories catalog exposes cities, provinces, channels, object types, and sort options used by this Actor.


Tips for scraping Funda data

  • Start small (maxResults: 5–10) to validate filters before large runs
  • Prefer selectedAreas for multi-city jobs — results are deduped by urlId
  • Use enrichDetails / enrichMedia only when you need kenmerken or photos (extra page fetches)
  • For rentals, set channel: "huur" and a price cap such as Max-2000
  • For nieuwbouw, use channel: "nieuwbouw" (forces newly built construction filter)
  • Schedule daily/weekly runs from Apify Schedules to track inventory changes

Can I use this as a Funda API alternative?

Yes — for many Dutch housing-market and lead-gen workflows. Funda does not offer a public bulk listings API comparable to Store scrapers, so teams use Actors like this to collect:

  • Searchable Funda koop / huur / nieuwbouw listings as structured data
  • Detail kenmerken (features) and media assets when enrich flags are on
  • Makelaar office pages and linked inventory

You can also pull results through the Apify API tab, webhooks, or integrations (Make, Zapier, n8n, Google Sheets).

Always respect Funda’s terms, robots rules, and applicable laws (including GDPR for personal data). Do not use scraped data to spam owners or bypass contact forms. This Actor does not unlock login-gated Funda fields.


Our scrapers are designed to extract publicly available information. You should not scrape personal data unless you have a legitimate reason to do so. Personal data is protected by the GDPR in the European Union and by other regulations around the world. If you are unsure whether your use case is legitimate, consult your lawyers. Always review Funda’s terms of service and robots policy for your jurisdiction.

This Actor only collects guest-visible Funda content (contentDepth=guest_preview) and does not unlock signed-in fields.


FAQ

How do I scrape Funda houses for sale in Amsterdam?

Set channel to koop, selectedArea to amsterdam, optionally set objectType to house, then start the run.

How do I scrape Funda rentals (huur)?

Set channel to huur and choose an area. Use price like Max-2000 for monthly rent caps when supported by Funda’s search URL.

How do I scrape Funda nieuwbouw projects?

Set channel to nieuwbouw. The Actor forces construction_type=newly_built and stamps constructionType on output rows.

How do I scrape multiple Dutch cities in one run?

Pass selectedAreas: ["amsterdam", "utrecht", ...] (or more). The Actor calls the worker per area, dedupes by urlId, and merges into one Dataset.

How do I get English Funda detail pages?

Set locale to en (with enrichDetails or detailUrls). Detail URLs are normalized to /en/detail/... when available.

Does this unlock signed-in Funda content?

No. Rows are marked contentDepth=guest_preview. Login-gated kenmerken are flagged only — not unlocked.

What happens if Akamai blocks a request?

The worker uses a headed browser session with NL residential proxy and challenge wait. Check RUN_SUMMARY.warnings for details. Partial datasets may still be returned.

Can I schedule recurring Funda scrapes?

Yes. Use Apify Schedules or the API/client to run the Actor on a cron and append or replace datasets over time.

Do I need a Funda API key?

No. The Actor scrapes public Funda pages through a managed worker. Store runs use the Actor’s configured worker secret automatically.

How do I scrape Funda data with Python or JavaScript?

Use the official Apify API client / Python client to start the Actor and fetch the Dataset — same as any other Store Actor.

Why did my free-plan run stop after 10 runs?

Free Apify plan users get 10 runs of this Actor and up to 500 results per run. These limits are set by the Actor developer (not Apify). When you hit the run cap, the run finishes with a clear status message — it is not a platform bug. Upgrade to a paid Apify plan for unlimited runs.


All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.

Jobs & Freelance

Real Estate

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ Browse the full profile: apify.com/lentic_clockss


Support

Questions, bugs, or feature requests? Use the Actor Issues tab or contact the developer through Apify. Feedback on filters, cities, or enrich depth helps prioritize the roadmap.