Funda Scraper avatar

Funda Scraper

Pricing

from $2.00 / 1,000 listing scrapeds

Go to Apify Store
Funda Scraper

Funda Scraper

Scrape Funda.nl homes for sale and for rent: price, address, living area, rooms, energy label, agent, photos, listing date, plus full details on request. Works with any Funda search URL.

Pricing

from $2.00 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Scrape Funda.nl homes for sale (koop) and for rent (huur), including new builds: price, address, postcode, neighbourhood, living and plot area, rooms, bedrooms, energy label, status, listing date, estate agent and photos. Works with any Funda search URL.

Paste any funda.nl search page (with whatever filters and sort you picked in the browser) or just type an area, and get every listing as clean JSON, CSV or Excel, or straight into your app through the API. Built for reliability: it reads the structured search state Funda embeds in every page instead of scraping the visual layout, uses browser-grade TLS fingerprints, throttles itself and retries on a fresh proxy session, so runs finish instead of failing halfway. You pay only for the listings you get.

What data does Funda Scraper extract?

Every listing from the search results gives you:

FieldDescription
id, tinyId, urlFunda's global listing id, the id used in the URL, and the canonical listing URL
title, address"Binnenkant 46-A" and "Binnenkant 46-A, 1011 BP Amsterdam"
street, houseNumber, postcode, city, neighbourhood, district, municipality, provinceFull address breakdown (postcode in the Dutch "1011 BP" format)
listingTypekoop (for sale) or huur (for rent)
price, priceMax, priceCurrencyNumeric asking price or monthly rent in EUR; priceMax only for "from-to" ranges
priceTypek.k. (kosten koper), v.o.n. (vrij op naam) or per maand
priceKindFunda's price kind, e.g. regular, price_on_request, auction
pricePerSqmPrice divided by living area (EUR/m²)
livingAreaSqm, plotAreaSqmLiving area and plot size in m²
rooms, bedroomsRoom counts
propertyTypehouse, apartment, parking, land, ...
energyLabelA+++ ... G
statusavailable, under offer, under option, sold under reservation, rented under reservation, sold, rented
publishedAtWhen the listing went live on Funda (ISO date-time)
isNewBuild, constructionTypeNew build (nieuwbouw) flag; newly_built or resale
promoTextThe agent's one-line teaser (blikvanger)
openHouseOpen house slot when announced
mediaTypesWhich media the listing has: floor_plan, video, photo_360
agent{id, name, url, association, logoUrl} of the estate agent office (makelaar); agents when several offices share a listing
images, imageCountFull-size photo URLs
sourceUrl, scrapedAtThe search URL the listing came from and the scrape timestamp

Turn on Include listing details to also open each listing page and add:

FieldDescription
descriptionFull listing text (plain text)
featuresThe complete kenmerken table, grouped like on Funda: {"Overdracht": {...}, "Bouw": {...}, "Oppervlakten en inhoud": {...}, "Indeling": {...}, "Energie": {...}, "Kadastrale gegevens": {...}, "Buitenruimte": {...}, "Parkeergelegenheid": {...}, "VvE checklist": {...}}
latitude, longitudeMap coordinates
constructionYear, propertySubtype, volumeM3, bathrooms, floorsBouwjaar, "Bovenwoning", "Eengezinswoning, 2-onder-1-kapwoning", inhoud, badkamers, woonlagen
heating, hotWater, insulation, solarPanels, heatPumpEnergy details
garden, gardenDetails, balcony, roofTerrace, parking, garageOutdoor space and parking
vveContribution, vveContributionPerMonth, ownership, leaseholdFeesVvE fee, ownership situation (volle eigendom / erfpacht) and leasehold charges
deposit, rentalAgreement, serviceCostsPerMonth, furnished, upholsteredRental terms
acceptance, listedSince, statusLabel, isSoldOrRented, isAuction, isMonument, specificsAanvaarding, "Aangeboden sinds", transaction label and special flags
photos, floorPlanUrls, floorPlanEmbedUrls, videoUrls, virtualTourUrls, brochureUrlHigh-resolution photos, floor plans (image and interactive), video streams, 360° tours and the PDF brochure
viewCount, saveCountHow often the listing was viewed and saved on Funda (when Funda shows it)
neighbourhoodStats{inhabitants, familiesWithChildrenPct, averageAskingPricePerSqm} for the neighbourhood
agent.phone, agent.website, agent.email, agent.addressThe agent office's public business contact details (fetched once per office)

How to scrape Funda listings

  1. Open funda.nl, run the search you want (area, price, living area, property type, energy label, sort order) and copy the URL from the address bar into Start URLs. Or type an Area ("Amsterdam", "Den Haag", "1012", "utrecht/wittevrouwen") and pick koop or huur plus optional price, living area, bedrooms and property type filters.
  2. Set Max items (cost cap). Optionally turn on Include listing details.
  3. Click Start. Results appear in the Dataset tab; export as JSON, CSV or Excel, or read them through the API.

Input example

{
"startUrls": [{ "url": "https://www.funda.nl/zoeken/huur?selected_area=[\"amsterdam\"]&price=\"1000-2000\"&object_type=[\"apartment\"]" }],
"maxItems": 200,
"includeDetails": true
}

or, by area:

{
"area": "Utrecht",
"listingType": "koop",
"minPrice": 200000,
"maxPrice": 500000,
"minArea": 60,
"propertyTypes": ["house", "apartment"],
"sort": "date_down",
"maxItems": 100
}

Output example

{
"id": "8140676",
"tinyId": "44595039",
"url": "https://www.funda.nl/detail/koop/amsterdam/appartement-binnenkant-46-a/44595039/",
"title": "Binnenkant 46-A",
"address": "Binnenkant 46-A, 1011 BP Amsterdam",
"postcode": "1011 BP",
"city": "Amsterdam",
"neighbourhood": "Scheepvaarthuisbuurt",
"district": "Nieuwmarkt/Lastage",
"province": "Noord-Holland",
"listingType": "koop",
"price": 1185000,
"priceCurrency": "EUR",
"priceType": "k.k.",
"pricePerSqm": 7054,
"livingAreaSqm": 168,
"plotAreaSqm": null,
"rooms": 4,
"bedrooms": 3,
"propertyType": "apartment",
"energyLabel": "B",
"status": "available",
"publishedAt": "2026-09-09T05:00:03+02:00",
"isNewBuild": false,
"promoText": "Charmant en ruim benedenhuis van 168m2 op eigen grond aan de gracht!",
"agent": { "id": 24162, "name": "Hoen Makelaars", "url": "https://www.funda.nl/makelaar/24162-hoen-makelaars/", "association": "NVM" },
"images": ["https://cloud.funda.nl/tiara-media/7f6b464f-caf4-4fd3-89f5-117001d169c6/c66e480f-e0b8-4156-8ccb-71819666ebba"],
"imageCount": 34,
"latitude": 52.37274,
"longitude": 4.9060144,
"constructionYear": 1748,
"bathrooms": 1,
"heating": "Cv-ketel",
"insulation": "Dubbel glas",
"vveContribution": "€ 300,00 per maand",
"ownership": "Volle eigendom",
"features": { "Overdracht": { "Vraagprijs": "€ 1.185.000 kosten koper", "Status": "Beschikbaar" }, "Bouw": { "Bouwjaar": "1748" } }
}

Funda shows 15 listings per page and serves at most 666 pages, so one search yields at most about 10,000 listings even if it says "92,000 results". Amsterdam for sale (~6,000) fits in one search; for the whole country split by province, city or price band and add each URL to Start URLs. Duplicates across searches are removed automatically.

Does it scrape rentals and new builds?

Yes. Use a /zoeken/huur URL or set Listing type to huur; rentals come with priceType: "per maand" and, with details, the deposit, rental agreement, service costs and furnished flags. New builds are included in koop searches and flagged with isNewBuild; filter to them with construction_type=["newly_built"] in the URL or New builds only. Funda's new-build project overview pages (type=["project"]) are rendered in the browser and are not supported; the individual homes in those projects are.

Can I get the construction year, coordinates and floor plans?

Turn on Include listing details. Each listing page is opened once to add the description, the full kenmerken table, construction year, coordinates, floor plans, videos, 360° tours, brochure, VvE contribution, ownership/leasehold, garden/balcony/parking and view counts, plus the agent office's business phone, website and email (fetched once per office). Without details you still get price, address, areas, rooms, energy label, status, listing date, agent office and photos from the search page. Details cost a little extra per listing (see the Pricing tab).

Does it work without login or cookies?

Yes. Everything comes from public search and listing pages; no Funda account is used. Funda is protected by Akamai Bot Manager; the default proxy setting (Apify residential proxies) is the reliable choice. Datacenter proxies worked in testing but can be blocked at volume: if a run shows 403 responses in the log, keep or switch to the RESIDENTIAL group.

Pricing

Pay per result: a small fee per listing scraped, plus a small extra fee per listing page opened when details are on. No subscription; Apify's free plan is enough to try it.

Integrations and API

Use the run in Zapier, Make, n8n, Google Sheets, or call it from Python/Node with the Apify client. See the API tab for ready-made snippets. Schedule it daily to monitor new listings, price changes and status changes (under offer, sold) in an area.

This Actor collects only publicly available listing data (properties, prices and the advertising estate agent office's business details). It does not collect any data about private individuals; the names of individual agents that Funda shows in "personal contact" blocks are deliberately dropped. You are responsible for how you use the data and for complying with Funda's terms and applicable law.

Support

Found a bug or need a field added? Open an issue in the Issues tab; it is usually answered within a day.