Funda Netherlands Real Estate Scraper avatar

Funda Netherlands Real Estate Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Funda Netherlands Real Estate Scraper

Funda Netherlands Real Estate Scraper

Scrape property listings from Funda.nl — the largest real estate platform in the Netherlands. Supports buy and rent, all property types, price ranges, locations, and detailed filters.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Scraptivo

Scraptivo

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

Funda Netherlands Real Estate Scraper collects property listings from Funda.nl — the largest real estate platform in the Netherlands — and turns them into structured data for market research, price monitoring, and lead generation. Provide a search URL or city names, run the Actor, and export addresses, prices, property types, sizes, energy labels, and agent details to JSON, CSV, Excel, or your preferred integration. Use it to analyze the Dutch housing market, track asking prices, and collect agent contacts. Pricing starts at $1 per 1,000 listings, with optional detail extraction and agent contact extraction at $1 per 1,000 each.

What can you automate with Funda Netherlands Real Estate Scraper?

  • Build property databases — Collect buy and rent listings across all property types, locations, and price ranges in the Netherlands.
  • Monitor asking prices — Track listing prices, price per m², and availability changes over time.
  • Analyze market trends — Study supply and demand across cities, price brackets, and property types.
  • Generate agent leads — Extract agent names and, when enabled, phone numbers and contact details for outreach.
  • Schedule recurring collection — Run daily or weekly on the Apify Scheduler to keep market data current.

Who is this scraper for?

TeamWorkflow
Real-estate investorsAnalyzing the Dutch market and identifying opportunities by city and price range.
Market researchersStudying price trends, energy labels, and construction periods.
Agents and brokeragesBenchmarking competitor listings and monitoring new inventory.
Lead-generation teamsCollecting agent contact details for outreach.

What data can you collect from Funda.nl?

Data groupExample fieldsHow it helps
Addressaddress, streetName, houseNumber, postalCode, city, neighbourhood, municipality, provinceLocate each property precisely.
Priceprice, priceValue, priceConditionTrack asking price and price condition (kosten koper / vrij op naam).
PropertyofferingType, propertyType, constructionType, floorArea, rooms, bedrooms, energyLabelFilter and compare listings by type and size.
AgentagentName, agentPhone, agentContactNameIdentify the listing agent; contact fields when enabled.
Locationlatitude, longitudeMap listings geographically.
MediaimagesGrab full photo galleries when detail extraction is enabled.

agentPhone and agentContactName appear only when Extract Agent Phone & Contact is enabled; full descriptions, features, and galleries appear only when Extract Listing Details is enabled.

How to use Funda Netherlands Real Estate Scraper

  1. Open the Funda Netherlands Real Estate Scraper on Apify.
  2. Paste a Funda search URL or enter Search Locations such as "Amsterdam".
  3. Optionally set filters for price, property type, rooms, floor area, energy label, and more.
  4. Enable Extract Listing Details and Extract Agent Phone & Contact for enriched output.
  5. Run the Actor and export the dataset or connect it to your workflow.
{
"searchQueries": ["Amsterdam"],
"offeringType": "buy",
"minPrice": 150000,
"maxPrice": 750000,
"propertyTypes": ["apartment", "house"],
"extractDetails": true,
"extractAgentContact": true,
"maxItems": 50,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Example workflow

Track apartments for sale in Amsterdam each week

  1. Schedule a run every Monday with searchQueries = ["Amsterdam"], offeringType = "buy", and propertyTypes = ["apartment"].
  2. Export the dataset and keep address, priceValue, floorArea, rooms, energyLabel, and url.
  3. Compare this week's priceValue against last week's to spot price changes and new listings.
  4. Deduplicate user-side against the stable listingId or listing url.

Automate and integrate your results

  • Schedules — New listings and price changes appear daily. Run daily for close monitoring of a city or weekly for market research. Create separate scheduled tasks per location so each keeps its own dataset.
  • Webhooks — Enable a webhook on run completion to push fresh listings into a CRM, database, or Slack pipeline.
  • Exports and API — Download results as JSON, CSV, or Excel from the Apify Console, or call the Actor from the API:
curl "https://api.apify.com/v2/acts/scraptivo/funda-nl-scraper/runs?token=YOUR-APIFY-TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": ["Amsterdam"],
"offeringType": "buy",
"extractDetails": true,
"extractAgentContact": true,
"maxItems": 50,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}'
  • Deduplication — The Actor appends new results on every run and does not deduplicate across runs. Use the stable listing url or listingId when merging results.

Input reference

FieldTypeRequiredDefaultWhat it controls
startUrlsArray of URLsNoFunda search URLs (parameters extracted from the URL; other filters taken from fields below).
searchQueriesArray of stringsNo[]City names, neighborhoods, or postal codes (ignored when URLs provided).
offeringTypeSelectNobuyBuy (koop) or rent (huur).
minPrice / maxPriceIntegerNoFilter by asking price in EUR.
propertyTypesArrayNo["apartment","house"]Property types (apartment, house, parking, land, and more).
minFloorArea / maxFloorAreaIntegerNoFilter by floor area in m².
minRooms / maxRoomsIntegerNoFilter by number of rooms.
minBedrooms / maxBedroomsIntegerNoFilter by number of bedrooms.
publicationDateSelectNono_preferenceShow listings published within a time frame.
availabilitySelectNoavailableAvailability status (available, negotiations, sold).
energyLabelsArrayNo[]Filter by energy label (A++++ to G).
extractDetailsBooleanNofalseInclude full description, features, coordinates, and photo gallery.
extractAgentContactBooleanNofalseInclude agent phone, contact name, and office details.
detailConcurrencyIntegerNo10Parallel detail requests when detail extraction is enabled (1–50).
maxItemsIntegerNo100Maximum listings to scrape (0 = no limit).
proxyConfigurationProxy objectNoApify proxy, RESIDENTIALProxy settings for the run.

Additional filters cover construction period, exterior space, garage/parking, and more. See the Input tab in Apify Console for the full list.

Output example

Each dataset item is one property listing:

{
"address": "Wilhelminastraat 117 3, 1054WB Amsterdam",
"streetName": "Wilhelminastraat",
"houseNumber": "117",
"postalCode": "1054WB",
"city": "Amsterdam",
"neighbourhood": "Cremerbuurt-West",
"municipality": "Amsterdam",
"province": "Noord-Holland",
"price": "€975.000 k.k.",
"priceValue": 975000,
"priceCondition": "kosten_koper",
"offeringType": "buy",
"propertyType": "apartment",
"constructionType": "resale",
"floorArea": 110,
"rooms": 4,
"bedrooms": 3,
"energyLabel": "B",
"description": "Dubbel bovenhuis met dakterras op toplocatie, eigen grond en 3 slpkmr",
"agentName": "Living Real Estate",
"agentPhone": "0205287862",
"agentContactName": "Angelique Bijleveld",
"latitude": 52.36126,
"longitude": 4.862332,
"url": "https://www.funda.nl/detail/koop/amsterdam/appartement-wilhelminastraat-117-3/44409366/",
"listingId": 8054903,
"publicationDate": "2026-06-21T09:00:02.7905094+02:00",
"status": "none",
"images": ["https://cloud.funda.nl/valentina_media/b9028258-c909-48d7-b7eb-a77d10135299/..."]
}

How much does it cost to scrape Funda.nl?

The Actor uses pay-per-event pricing with three chargeable events:

  • $1 / 1,000 listings — a result event for every listing record pushed to the dataset.
  • $1 / 1,000 listings — a listing-details event per listing when Extract Listing Details is enabled.
  • $1 / 1,000 listings — a contact-info event per listing when Extract Agent Phone & Contact is enabled.

You only pay for what you extract. A basic run of 1,000 listings costs $1; enabling both add-ons costs $3 per 1,000 listings in total. A one-time actor-start event is also charged per run (one event per GB of memory, minimum one). Compute units consumed are deducted from your Apify plan, and volume discounts on paid Apify plans reduce the per-1,000 rate. When your event spending limit is reached, the run stops gracefully.

Reliability and responsible use

  • Proxy requirement — The Actor defaults to the Apify proxy with the RESIDENTIAL group. Residential IPs are required for reliable runs on Apify Cloud.
  • Retries and rate limits — The Actor includes built-in retry logic and handles rate limiting gracefully.
  • Conditional fieldsagentPhone and agentContactName appear only when Extract Agent Phone & Contact is enabled; detail fields appear only when Extract Listing Details is enabled. Some fields are nullable on the platform.
  • Public data — The Actor collects publicly visible property information from Funda.nl.
  • Responsible use — Only use the data in ways that comply with Funda.nl's terms of service and applicable law.

Frequently asked questions

Can I scrape Funda.nl by city or postal code?

Yes. Add city names, neighborhoods, or postal codes to searchQueries — for example "Amsterdam" or "1012AB" — or paste a full Funda search URL. URLs without a location search nationwide.

Can I scrape both buy and rent listings?

Yes. Set offeringType to buy (koop) or rent (huur). The default is buy.

What counts as one result?

A listing record counts as one result event ($1 per 1,000). If Extract Listing Details is enabled, each listing also counts as a listing-details event ($1 per 1,000), and if Extract Agent Phone & Contact is enabled, each listing counts as a contact-info event ($1 per 1,000).

Why are some fields empty?

Detail fields (full description, features, photo gallery) require Extract Listing Details, and agent phone/contact require Extract Agent Phone & Contact. Funda itself also leaves some fields unset for certain listings, so a null value usually means the platform has no data for it.

How do I avoid duplicate records?

The Actor appends results on every run and does not deduplicate across runs. Use the stable listing url or listingId as the key when merging a fresh run into existing data.

Do I need a proxy?

The Actor defaults to the Apify residential proxy, which is required for reliable runs on Apify Cloud.

Support and custom workflows

Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, sample URL, required fields, and expected volume so we can assess the request.