Funda Scraper
Scrape Listings and Property Prices from Funda
Extract koopwoningen and huurwoningen listings, vraagprijs and huurprijs, plus woonoppervlakte and locality data from the Netherlands' #1 real estate portal. Funda ranks #1 in Dutch real estate with around 32.5M monthly visits and sits behind an Akamai bot challenge that greets bot traffic with a 'Je bent bijna op de pagina die je zoekt' interstitial. Scrape.do handles it automatically.
Start scraping today with 1000 free credits. No Credit Card Required

32.5M Monthly Visits. The Netherlands' #1 Real Estate Portal. One API.
Funda is the #1 real estate portal in the Netherlands by SimilarWeb category rank, pulling in around 32.5M monthly visits with 93% of traffic from the Netherlands in 2026. Founded in 2001 in Amsterdam, it is the default place Dutch consumers search for homes, and real estate association NVM (which represents roughly half of Dutch estate agents) is a major shareholder, so nearly every home for sale in the country lands on Funda first.
For scrapers this is the dataset for Dutch residential real estate. With Scrape.do you can pull vraagprijs and huurprijs down to the postcode, track price per m² of woonoppervlakte, monitor new koopwoningen, huurwoningen, and nieuwbouw listings as they go live in Amsterdam, Utrecht, Rotterdam, and Den Haag, and feed valuation models or NL lead-gen tools with slaapkamers, bouwjaar, and energielabel data through a single API call.

Akamai Bot Manager. Dutch Geo-Wall. Handled.
Funda runs on Akamai, and its bot manager does not always answer with a clean 403. Send a request that looks automated or comes from a non-Dutch datacenter IP and Funda returns a stripped 'Je bent bijna op de pagina die je zoekt' interstitial (You are almost on the page you are looking for) instead of the listing HTML, asking to verify you are a real person. Repeated hits from the same IP get throttled, and the portal is built Netherlands-first, so foreign traffic sees a degraded experience.
Scrape.do routes Funda requests through Dutch residential IPs with NL geo-targeting, rotates sessions automatically, and clears the Akamai challenge so you get the full property HTML back. No proxy lists, no CAPTCHA solvers, no maintenance, with a single super-mode call returning the complete detail page.

How to Scrape Funda
Select a Target

Send API Request
import requests
import urllib.parse
token = "<SDO-token>"
targetUrl = "https://www.funda.nl/detail/huur/amsterdam/appartement-nieuwe-osdorpergracht-70/80847174/"
render = "false" # set to "true" to enable JavaScript rendering
super = "true" # set to "false" to disable residential proxies
geoCode = "nl"
encodedUrl = urllib.parse.quote(targetUrl)
url = f"https://api.scrape.do/?token={token}&url={encodedUrl}&render={render}&super={super}&geoCode={geoCode}"
response = requests.get(url)
print(response.text)Get HTML
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8">
<title>Appartement te huur: Nieuwe Osdorpergracht 70 1068 HV Amsterdam | Funda</title>
<script type="application/ld+json">
{
"@context": "http://schema.org/",
"@type": ["Appartement", "Product"],
"name": "Nieuwe Osdorpergracht 70",
"address": {
"@type": "PostalAddress",
"streetAddress": "Nieuwe Osdorpergracht 70",
"addressLocality": "Amsterdam",
"addressRegion": "Noord-Holland"
},
"offers": { "@type": "Offer", "priceCurrency": "EUR", "price": 2485 }
}
</script>
</head>
<body>
<h1 class="font-semibold">Nieuwe Osdorpergracht 70
<span class="text-neutral-60">1068 HV Amsterdam</span>
</h1>
<ul class="flex">
<li class="flex">
<span>€ 2.485</span>
<span class="ml-1 hidden text-neutral-50 md:inline-block">per maand</span>
</li>
<li class="flex">
<span>102</span>
<span class="ml-1 hidden text-neutral-50 md:inline-block">m² woonoppervlakte</span>
</li>
<li class="flex">
<span>3</span>
<span class="ml-1 hidden text-neutral-50 md:inline-block">slaapkamers</span>
</li>
</ul>
<dl data-testid="category-overdracht">
<dt class="text-neutral-50">Huurprijs</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">
<span>€ 2.485 per maand (servicekosten onbekend)</span>
</dd>
<dt class="text-neutral-50">Aanvaarding</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">In overleg</dd>
<dt class="text-neutral-50">Status</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">Beschikbaar</dd>
</dl>
<dl data-testid="category-bouw">
<dt class="text-neutral-50">Soort appartement</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">Portiekflat (appartement)</dd>
<dt class="text-neutral-50">Soort bouw</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">Nieuwbouw</dd>
<dt class="text-neutral-50">Bouwjaar</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">
<span class="mr-2">2026</span>
</dd>
</dl>
<dl data-testid="category-afmetingen">
<dt class="text-neutral-50">Wonen</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">ca. 102 m²</dd>
<dt class="text-neutral-50">Inhoud</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">265 m³</dd>
</dl>
<dl data-testid="category-indeling">
<dt class="text-neutral-50">Aantal kamers</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">4 kamers (3 slaapkamers)</dd>
<dt class="text-neutral-50">Aantal badkamers</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">1 badkamer en 1 apart toilet</dd>
</dl>
<dl data-testid="category-energie">
<dt class="text-neutral-50">Energielabel</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">A++</dd>
<dt class="text-neutral-50">Isolatie</dt>
<dd class="flex items-center border-b border-neutral-20 pb-2 text-neutral-80">Volledig geïsoleerd</dd>
</dl>
<!-- ... remaining page content ... -->
</body>
</html>
Scrape.do has been a game-changer with powerful scraping tools, but what truly sets them apart is their excellent customer support.

CTO
Average Response Time
No tickets connect with expert engineers.
Success rate
Proxies
Faster gateway than the closest competitor.
Reliable, Scalable,Unstoppable Web Scraping
Sounds great, but I have a few questions..
Yes. Funda runs Akamai Bot Manager and serves a 'Je bent bijna op de pagina die je zoekt' verification interstitial to bot traffic and non-Dutch IPs instead of the listing HTML. Scrape.do routes requests through Dutch residential IPs with super mode, clears the challenge, and returns the full detail page. Success rates exceed 95% on /detail/ and /zoeken/ pages.
You can extract vraagprijs and huurprijs, price per m², woonoppervlakte and perceeloppervlakte, aantal kamers and slaapkamers, badkamers, property type (appartement, huis, nieuwbouw), full adres and postcode, bouwjaar, energielabel, isolatie and verwarming details, the listing agent (makelaar), photos, and neighbourhood benchmarks like gemiddelde vraagprijs per m².
Yes for reliable results. Funda is a Netherlands-first portal that deprioritizes foreign traffic and hands datacenter IPs the Akamai challenge page. Use Scrape.do's geoCode=nl with super=true so requests look like normal Dutch residential traffic, which is what returns the complete 162K+ property HTML in our recon.


