Funda Property Search Scraper avatar
Funda Property Search Scraper

Pricing

$20.00/month + usage

Go to Apify Store
Funda Property Search Scraper

Funda Property Search Scraper

The Funda.nl Property Search Scraper extracts property information from Funda.nl. Capture data such as price, address, description and more by providing Property Search Query URLs.

Pricing

$20.00/month + usage

Rating

0.0

(0)

Developer

ecomscrape

ecomscrape

Maintained by Community

Actor stats

1

Bookmarked

13

Total users

0

Monthly active users

3 days ago

Last modified

Share

Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link: My profile

Professional Funda.nl Real Estate Data Extraction Solution

Introduction

Funda.nl stands as the Netherlands' premier real estate platform, offering the largest selection of houses for sale and rent across the country, attracting over 29 million monthly visits. As the digital gateway to Dutch property markets, Funda hosts millions of listings ranging from urban apartments to rural homes, making it an invaluable data source for real estate professionals, investors, researchers, and market analysts.

The challenge lies in manually collecting and analyzing the vast amount of property information scattered across thousands of listings. Traditional browsing methods prove time-consuming and inefficient when dealing with comprehensive market research, competitive analysis, or investment opportunity identification. This is where automated data extraction becomes essential for accessing actionable real estate intelligence.

Overview of the Funda.nl Property Scraper

The Funda.nl Property Search Scraper is a sophisticated data extraction tool designed to automate the collection of detailed property information from Funda's extensive database. This scraper efficiently processes property search result pages, extracting crucial data points that form the foundation of real estate analysis and decision-making.

Key strengths of this scraper include:

  • Comprehensive data extraction: Captures all essential property details including pricing, location, specifications, and seller information
  • Flexible input handling: Accepts various search URLs with different filtering criteria and geographical parameters
  • Scalable processing: Handles multiple URLs simultaneously with configurable item limits per page
  • Robust error handling: Features retry mechanisms and proxy support to ensure reliable data collection
  • Structured output: Delivers clean, organized data ready for analysis and integration

Target users typically include real estate agents, property investors, market researchers, appraisers, developers, and data analysts who require systematic access to Dutch property market information for competitive intelligence, investment analysis, or market trend studies.

Input and Output Details

Example url 1: https://www.funda.nl/zoeken/koop/?selected_area=[%22gemeente-lochem%22]

Example url 2: https://www.funda.nl/en/zoeken/koop?selected_area=[%22loenen%22]

Example url 3: https://www.funda.nl/en/zoeken/koop

Example Screenshot of property list by query page:

Input Format

The scraper accepts configuration through a JSON object with several key parameters:

Scrape with URLs:

{
"max_retries_per_url": 2, // Maximum number of retry attempts for each URL if scraping fails
"proxy": { // Proxy configuration to avoid bot detection
"useApifyProxy": false
},
"max_items_per_url": 20, // Limit the number of items to scrape per URL
"urls": [
"https://www.funda.nl/zoeken/koop/?selected_area=[%22gemeente-lochem%22]"
// Add URLs of property list pages you want to scrape
],
"ignore_url_failures": true // Continue scraping even if some URLs fail
}

The urls parameter: Add the URLs of the product list pages you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

The ignore_url_failures parameter: If set to true, the scraper will continue running even if some URLs fail to be scraped after the maximum number of retries is reached. This ensures that one problematic URL doesn't stop your entire scraping job.

When you provide a list of URLs for scraping, all options in the "Scrape with search filters" section will be disabled. The system will only collect data from the URLs you specified.

Scrape with Search Filters:

{
"max_retries_per_url": 2, // Maximum number of retry attempts for each search request
"proxy": { // Proxy configuration to avoid bot detection
"useApifyProxy": false
},
"max_items_per_url": 20, // Total number of items you want to scrape
"location": "[%22zwijndrecht/bloemenbuurt-dahlia-geranium,5km%22]", // Location to search for properties
"operation_type": "koop", // Filter by operation type
"published_date": "3", // Filter by published date
"min_living_area": "75", // Filter by minimum living area
"max_living_area": "150", // Filter by maximum living area
"min_plot_area": "500", // Filter by minimum plot area
"max_plot_area": "2500", // Filter by maximum plot area
"min_price": "200000", // Filter by minimum price
"max_price": "500000", // Filter by maximum price
"min_bedrooms": "2", // Filter by minimum number of bedrooms
"max_bedrooms": "4", // Filter by maximum number of bedrooms
"min_rooms": "3", // Filter by minimum number of rooms
"max_rooms": "5", // Filter by maximum number of rooms
"min_bathrooms": "1", // Filter by minimum number of bathrooms
"max_bathrooms": "2", // Filter by maximum number of bathrooms
"sort_by": "price_down", // Sort properties by specific criteria
"page": 1 // Starting page number for search results
}

The location parameter: Enter the location to search for items. Go to the website, choose a location and start search, copy the location value from URL and paste here (e.g., from https://www.funda.nl/zoeken/koop?selected_area=[%22zwijndrecht/bloemenbuurt-dahlia-geranium,5km%22] → location = "[%22zwijndrecht/bloemenbuurt-dahlia-geranium,5km%22]"). Ensure the location is valid by checking it on the Funda website first.

The operation_type parameter: Filter properties by operation type:

  • "koop" - Buy
  • "huur" - Rent

The published_date parameter: Filter properties by published date:

  • "" - No Preference
  • "1" - Today
  • "3" - Last 3 days
  • "5" - Last 5 days
  • "10" - Last 10 days
  • "30" - Last 30 days

The min_living_area parameter: Filter properties by minimum living area:

  • "" - Any
  • "50" - 50 m²
  • "75" - 75 m²
  • "100" - 100 m²
  • "125" - 125 m²
  • "150" - 150 m²
  • "175" - 175 m²
  • "200" - 200 m²
  • "250" - 250 m²

The max_living_area parameter: Filter properties by maximum living area:

  • "" - Any
  • "50" - 50 m²
  • "75" - 75 m²
  • "100" - 100 m²
  • "125" - 125 m²
  • "150" - 150 m²
  • "175" - 175 m²
  • "200" - 200 m²
  • "250" - 250 m²

The min_plot_area parameter: Filter properties by minimum plot area:

  • "" - Any
  • "250" - 250 m²
  • "500" - 500 m²
  • "750" - 750 m²
  • "1000" - 1000 m²
  • "1500" - 1500 m²
  • "2500" - 2500 m²
  • "5000" - 5000 m²

The max_plot_area parameter: Filter properties by maximum plot area:

  • "" - Any
  • "250" - 250 m²
  • "500" - 500 m²
  • "750" - 750 m²
  • "1000" - 1000 m²
  • "1500" - 1500 m²
  • "2500" - 2500 m²
  • "5000" - 5000 m²

The min_price parameter: Filter properties by minimum price. Available values: "0" (Any), "50000" (€50,000), "75000" (€75,000), "100000" (€100,000), "125000" (€125,000), "150000" (€150,000), "175000" (€175,000), "200000" (€200,000), "225000" (€225,000), "250000" (€250,000), "275000" (€275,000), "300000" (€300,000), "325000" (€325,000), "350000" (€350,000), "375000" (€375,000), "400000" (€400,000), "450000" (€450,000), "500000" (€500,000), "550000" (€550,000), "600000" (€600,000), "650000" (€650,000), "700000" (€700,000), "750000" (€750,000), "800000" (€800,000), "900000" (€900,000), "1000000" (€1,000,000), "1250000" (€1,250,000), "1500000" (€1,500,000), "2000000" (€2,000,000), "2500000" (€2,500,000), "3000000" (€3,000,000), "3500000" (€3,500,000), "4000000" (€4,000,000), "4500000" (€4,500,000), "5000000" (€5,000,000).

The max_price parameter: Filter properties by maximum price. Available values: "" (Any), "50000" (€50,000), "75000" (€75,000), "100000" (€100,000), "125000" (€125,000), "150000" (€150,000), "175000" (€175,000), "200000" (€200,000), "225000" (€225,000), "250000" (€250,000), "275000" (€275,000), "300000" (€300,000), "325000" (€325,000), "350000" (€350,000), "375000" (€375,000), "400000" (€400,000), "450000" (€450,000), "500000" (€500,000), "550000" (€550,000), "600000" (€600,000), "650000" (€650,000), "700000" (€700,000), "750000" (€750,000), "800000" (€800,000), "900000" (€900,000), "1000000" (€1,000,000), "1250000" (€1,250,000), "1500000" (€1,500,000), "2000000" (€2,000,000), "2500000" (€2,500,000), "3000000" (€3,000,000), "3500000" (€3,500,000), "4000000" (€4,000,000), "4500000" (€4,500,000), "5000000" (€5,000,000).

The min_bedrooms parameter: Filter properties by minimum number of bedrooms:

  • "" - Any
  • "1" - 1
  • "2" - 2
  • "3" - 3
  • "4" - 4
  • "5" - 5

The max_bedrooms parameter: Filter properties by maximum number of bedrooms:

  • "" - Any
  • "1" - 1
  • "2" - 2
  • "3" - 3
  • "4" - 4
  • "5" - 5

The min_rooms parameter: Filter properties by minimum number of rooms:

  • "" - Any
  • "1" - 1
  • "2" - 2
  • "3" - 3
  • "4" - 4
  • "5" - 5

The max_rooms parameter: Filter properties by maximum number of rooms:

  • "" - Any
  • "1" - 1
  • "2" - 2
  • "3" - 3
  • "4" - 4
  • "5" - 5

The min_bathrooms parameter: Filter properties by minimum number of bathrooms:

  • "" - Any
  • "1" - 1
  • "2" - 2
  • "3" - 3
  • "4" - 4
  • "5" - 5

The max_bathrooms parameter: Filter properties by maximum number of bathrooms:

  • "" - Any
  • "1" - 1
  • "2" - 2
  • "3" - 3
  • "4" - 4
  • "5" - 5

The sort_by parameter: Sort properties by various criteria:

  • "" - Relevance
  • "date_down" - Date (newest first)
  • "date_up" - Date (oldest first)
  • "price_down" - Price (low to high)
  • "price_up" - Price (high to low)
  • "floor_area_down" - Floor area (low to high)
  • "plot_area_down" - Plot area (low to high)
  • "city_up" - City (A-Z)
  • "postal_code_up" - Postal code (A-Z)

The page parameter: Specify the page number to start scraping from, useful for continuing interrupted scrapes or targeting specific result ranges.

When using search filters for scraping, you need to leave the urls field empty in the "Scrape with URLs" configuration.

General Options:

The max_items_per_url parameter: Limit the number of items per URL or search filters you want to scrape. The default value is 20, providing a manageable batch size while allowing for comprehensive data collection.

The max_retries_per_url parameter: Limit the number of retries for each URL or search filters if the scrape is detected as a bot or the page fails to load. The default value is 2, providing a good balance between thoroughness and efficiency.

The proxy parameter: Proxy configuration is essential for maintaining anonymity and avoiding detection. Select proxies to be used by your scraper.

Output Format

You get the output from the Funda.nl Property Search Scraper stored in a tab. The following is an example of the Information Fields collected after running the Actor.

[ // List of property information
{
"id": "43860189",
"url": "https://www.funda.nl/detail/koop/lochem/huis-badhuisweg-1/43860189/",
"name": "Badhuisweg 1",
"image_urls": [
"https://cloud.funda.nl/valentina_media/203/477/468_180x120.jpg 180w, https://cloud.funda.nl/valentina_media/203/477/468_360x240.jpg 360w, https://cloud.funda.nl/valentina_media/203/477/468_720x480.jpg 720w",
"https://cloud.funda.nl/valentina_media/203/213/388_180x120.jpg 180w, https://cloud.funda.nl/valentina_media/203/213/388_360x240.jpg 360w, https://cloud.funda.nl/valentina_media/203/213/388_720x480.jpg 720w",
"https://cloud.funda.nl/valentina_media/203/213/393_180x120.jpg 180w, https://cloud.funda.nl/valentina_media/203/213/393_360x240.jpg 360w, https://cloud.funda.nl/valentina_media/203/213/393_720x480.jpg 720w",
"https://cloud.funda.nl/valentina_media/186/784/277_180x180.jpg 180w, https://cloud.funda.nl/valentina_media/186/784/277_360x360.jpg 360w, https://cloud.funda.nl/valentina_media/186/784/277_720x720.jpg 720w",
"https://cloud.funda.nl/valentina_media/186/784/277_180x180.jpg 180w, https://cloud.funda.nl/valentina_media/186/784/277_360x360.jpg 360w, https://cloud.funda.nl/valentina_media/186/784/277_720x720.jpg 720w"
],
"address": "7241DD Lochem",
"price": 1200000.0,
"currency": "€",
"details": {
"floor_area": "459 m²",
"plot_area": "1.369 m²",
"bedrooms": "5",
"energy_label": "A+"
},
"description": "Geheel gerenoveerd koetshuis, omsloten door een heerlijke tuin",
"seller": {
"name": "De Haan Schippers Makelaars | Baerz & Co",
"url": "https://www.funda.nl/makelaar/3147-de-haan-schippers-makelaars-baerz-en-co/"
},
"category": "in Gemeente Lochem"
}, // ... Many other property details
]

Field explanations and applications:

  • ID: Unique Funda property identifier, essential for tracking listings over time and avoiding duplicates in databases
  • URL: Direct link to detailed property page, enabling deeper analysis or user navigation to full listing information
  • Name: Property title/headline as displayed on Funda, useful for marketing analysis and listing categorization
  • Image URLs: Array of property photo links, valuable for visual analysis, automated property assessments, or marketing materials
  • Address: Complete property location, critical for geographical analysis, proximity studies, and location-based valuations
  • Price: Listed asking price with currency, fundamental for market analysis, price tracking, and investment calculations
  • Details: Condensed property specifications (rooms, size, year built), enabling quick filtering and comparison across listings
  • Description: Full property description text, useful for sentiment analysis, feature extraction, and automated property categorization
  • Seller: Real estate agent or agency information, valuable for market share analysis and agent performance tracking
  • Category: Property type classification, essential for segmented market analysis and targeted research

Usage Instructions

Step-by-Step Implementation

Option 1: Scraping with URLs

Step 1: Prepare search URLs

  • Navigate to Funda.nl and apply desired filters (location, price range, property type, operation type)
  • Copy the resulting search page URLs from your browser's address bar
  • Compile multiple URLs if you want to scrape different searches or locations

Step 2: Configure extraction parameters

  • Add your collected URLs to the urls array in the configuration
  • Set appropriate retry limits (2-3 recommended) using max_retries_per_url
  • Enable ignore_url_failures to ensure partial success even if some URLs fail
  • Define max_items_per_url based on your data needs (20 is a good starting point)

Step 3: Configure proxy settings

  • Use residential proxies from European locations (preferably Netherlands) to minimize detection risk
  • Configure the proxy settings in your JSON configuration

Step 4: Execute scraping process

  • Input the configuration and monitor extraction progress
  • The scraper typically processes 10-20 items per minute depending on proxy performance

Step 5: Validate output data

  • Check extracted records for completeness and accuracy
  • Pay particular attention to price formatting and address consistency
  • Handle missing data fields appropriately in your analysis

Option 2: Scraping with Search Filters

Step 1: Identify target location

  • Visit Funda.nl and search for your desired location
  • From the search result URL, copy the location value
  • Example: From https://www.funda.nl/zoeken/koop?selected_area=[%22zwijndrecht/bloemenbuurt-dahlia-geranium,5km%22], the location is "[%22zwijndrecht/bloemenbuurt-dahlia-geranium,5km%22]"
  • Ensure the location is valid by verifying it works on the Funda website

Step 2: Configure search filters

  • Set location: Add the location parameter with the copied value
  • Define operation type: Choose operation_type ("koop" for buy, "huur" for rent)
  • Set published date filter: Use published_date to get recent listings (e.g., "3" for last 3 days)
  • Configure property size: Set min_living_area and max_living_area for living space, min_plot_area and max_plot_area for land size
  • Set price range: Configure min_price and max_price in EUR to filter by budget
  • Specify room requirements: Set min_bedrooms, max_bedrooms, min_rooms, max_rooms, min_bathrooms, and max_bathrooms to filter by property features
  • Configure sorting: Use sort_by to order results (e.g., "price_down" for lowest price first, "date_down" for newest first)
  • Set pagination: Use page parameter to start from a specific result page

Step 3: Configure general settings

  • Set max_items_per_url to control the number of properties to scrape (start with 20)
  • Configure proxy settings with European location for optimal access
  • Set max_retries_per_url (2-3 is typically sufficient)
  • Leave the urls field empty when using search filters

Step 4: Execute and monitor

  • Submit your filter configuration to the scraping platform
  • The scraper will automatically construct search URLs based on your filters
  • Monitor the execution progress and review logs for any issues
  • The scraper typically processes 10-20 items per minute

Step 5: Validate and process output

  • Export the resulting data in your preferred format (JSON, CSV, Excel)
  • Validate that scraped properties match your filter criteria
  • Check for completeness in price, location, and property specification fields
  • Integrate into your analysis pipeline or database

Best Practices for Optimal Results

General Optimization:

  • Use residential proxies: Preferably from European locations (Netherlands for best results) to minimize detection risk
  • Implement reasonable delays: Space requests 1-2 seconds apart to avoid overwhelming Funda's servers
  • Start small: Test with smaller batches (5-10 URLs or narrow filters with low item limits) before scaling up
  • Monitor regularly: Keep track of scraping success rates and adjust configuration as needed
  • Update regularly: Funda may modify their URL structure or page layout; verify your configuration periodically
  • Handle missing data: Some fields may be optional on certain listings; implement data validation to handle missing information gracefully

URL Strategy:

  • Use URLs when you need to scrape specific, predefined searches or complex filter combinations
  • Collect URLs from different regions or property types for comprehensive market coverage
  • Verify URLs are accessible and return results before adding to configuration
  • Keep URLs up-to-date as Funda may change their URL format

Filter Strategy:

  • For location-specific searches: Use the location parameter with operation_type and price range
  • For new listings: Combine published_date filter (e.g., "3" for last 3 days) with other criteria to track fresh inventory
  • For budget analysis: Focus on min_price and max_price with broad location and property size filters
  • For specific property types: Combine size filters (min_living_area, min_plot_area) with bedroom/bathroom counts
  • For market research: Use broader filters initially, then progressively narrow down based on results
  • For comparison: Use consistent filters across different locations to compare markets

Location Parameter Tips:

  • Always copy the exact location value from the Funda website URL
  • The location parameter includes special encoding (e.g., %22 for quotes)
  • Some location values include radius (e.g., ,5km for 5 kilometer radius)
  • Test location values on the website first to ensure they return results
  • Use specific neighborhood names for targeted searches, city names for broader coverage

Price and Size Range Tips:

  • Dutch real estate prices typically range from €100,000 to €500,000 for standard properties
  • Set realistic ranges based on your target market (e.g., €200,000-€400,000 for middle market)
  • Living area typically ranges from 75-150 m² for apartments, 100-200 m² for houses
  • Plot area is more relevant for houses; typical ranges are 250-1000 m²
  • Leave ranges empty to get all properties without restrictions

Common Troubleshooting Scenarios

General Issues:

  • Empty results: Verify URL format and ensure search pages contain visible listings. If using filters, check that the location parameter is correctly formatted
  • Access errors: Check proxy configuration and consider rotating proxy locations. Use European proxies for best results
  • Incomplete data: Some fields may be optional on certain listings; implement data validation to handle missing information gracefully
  • Slow performance: Reduce max_items_per_url or check proxy performance. Consider spreading requests over time

URL-Specific Issues:

  • Invalid URLs: Ensure URLs are from Funda.nl and properly formatted with all parameters
  • Outdated URLs: Funda may change their URL structure; verify URLs still work on the website
  • Duplicate results: Different URLs may return overlapping properties; deduplicate using property IDs

Filter-Specific Issues:

  • No results from filters: Verify location parameter is correctly copied from website URL. Try broadening criteria by removing restrictive filters
  • Location not found: Ensure the location value includes proper encoding and matches Funda's format exactly
  • Too restrictive filters: If getting no or very few results, try widening price ranges, removing bedroom/bathroom requirements, or increasing area ranges
  • Incorrect sorting: Verify sort_by parameter matches your needs; use "date_down" for newest first, "price_down" for cheapest first
  • Price range issues: Ensure min_price is less than max_price and values are in EUR (not other currencies)
  • Area filter confusion: Remember living_area is interior space while plot_area is land size; use appropriate filters for apartments vs houses

Data Quality Issues:

  • Missing prices: Some listings may hide prices; this is expected behavior for certain property types
  • Inconsistent addresses: Some properties may only show city/neighborhood for privacy; this is normal
  • Missing photos: Some listings may have limited or no photos; handle empty image arrays gracefully
  • Currency variations: All prices should be in EUR; implement validation to catch any anomalies

Benefits and Applications

Time efficiency gains: Manual collection of equivalent data would require hours of browsing and copying, while automated extraction processes hundreds of listings in minutes. This efficiency enables regular market monitoring and comprehensive competitive analysis that would otherwise be impractical.

Real-world applications span numerous use cases:

  • Market research: Track pricing trends, analyze supply patterns, and identify emerging neighborhood developments
  • Investment analysis: Screen properties meeting specific criteria, compare yields across regions, and identify undervalued opportunities
  • Competitive intelligence: Monitor competitor listings, analyze pricing strategies, and track market positioning
  • Academic research: Study housing market dynamics, urban development patterns, and socioeconomic correlations

Business value creation includes enhanced decision-making through data-driven insights, reduced research costs through automation, improved market timing through regular monitoring, and competitive advantages through comprehensive market intelligence that manual methods cannot match.

Conclusion

The Funda.nl Property Search Scraper transforms time-consuming manual property research into efficient, systematic data collection. By automating access to Netherlands' most comprehensive real estate database, this tool empowers users with the market intelligence necessary for informed decision-making in Dutch property markets.

Ready to streamline your real estate data collection? Start extracting valuable property insights from Funda.nl today and gain the competitive edge that comprehensive market data provides.

Related Actors

  • Funda.nl Property Details Scraper: A specialized data extraction tool engineered to harvest detailed property information from Funda's dominant Dutch real estate marketplace.

Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Funda.nl Property Search Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.