Funda.nl | 💰$0.7 per 1,000 results | Fast, broad results avatar

Funda.nl | 💰$0.7 per 1,000 results | Fast, broad results

Pricing

from $0.70 / 1,000 results

Go to Apify Store
Funda.nl | 💰$0.7 per 1,000 results | Fast, broad results

Funda.nl | 💰$0.7 per 1,000 results | Fast, broad results

$0.7 per 1000 results. Scrape Funda.nl property listings - Extract prices, photos, agent details, energy labels & more. Supports search URLs, unlimited results via price-range splitting, and raw API output. Perfect for Dutch real estate analysis and market research.

Pricing

from $0.70 / 1,000 results

Rating

5.0

(1)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

6 days ago

Last modified

Share

Funda.nl Housing Scraper

What does Funda.nl Scraper do?

This actor scrapes real estate listings from Funda.nl, the Netherlands' largest property website. It extracts comprehensive property data including prices, locations, floor areas, energy labels, photos, and agent details - enabling you to gather valuable real estate market insights.

Features

  • Scrapes detailed property listings from search results
  • Extracts comprehensive property information (price, location, size, energy label, photos, agent)
  • Supports both for-sale and for-rent listings
  • Scrape available, sold/rented, or under-negotiation properties
  • High-performance with built-in proxy rotation
  • Handles rate limiting and anti-bot measures with automatic retry
  • Outputs structured JSON data in clean or raw format

Use Cases

  • Real estate market analysis
  • Property investment research
  • Price trend monitoring
  • Geographic market analysis
  • Data aggregation for real estate platforms
  • Tracking sold property prices and market history

Input Parameters

The actor accepts the following input parameters:

ParameterRequiredDescription
searchUrlsNo*Array of Funda.nl search URLs to scrape
offeringTypeNo*"buy" or "rent" (default: "buy")
availabilityNo"available", "unavailable" (sold), or "negotiations" (default: "available")
propertyTypesNoArray of "single", "apartment", "parking", "land" (default: ["single"])
locationNoCity, neighbourhood, postal code, or address to search
priceFromNoMinimum price filter
priceToNoMaximum price filter
maxItemsNoMaximum number of items to scrape (default: 100, 0 = unlimited)
sortByNoSort field: "publish_date_utc", "price", "floor_area", "plot_area"
sortOrderNo"asc" or "desc" (default: "desc")
outputFormatNo"clean" (default) or "raw" for full API response
proxyConfigurationNoProxy settings for the scraper

*Use either searchUrls or the filter parameters (offeringType, location, etc.) to define your search.

Output Format

Clean mode (default)

The actor outputs structured JSON data including:

  • Property details (price, type, status, floor area, plot area, energy label)
  • Full address (street, house number, postal code, city, province, neighbourhood)
  • Listing information (publish date, Funda URL, offering type)
  • Images and media links (full-resolution photos, thumbnails, available media types)
  • Agent contact information (name, association, profile URL)

Raw mode

When outputFormat is set to "raw", the actor outputs the full Elasticsearch hit objects exactly as returned by Funda's API, useful for advanced users who need every available field.

Usage

  1. Input your Funda.nl search URL(s) or configure filters manually (location, price range, property type)
  2. Configure optional parameters (max items, output format, proxy)
  3. Run the actor and collect the results
  4. Download data as JSON, CSV, Excel, or XML from the Dataset tab

Limitations

  • Respects Funda.nl's rate limiting
  • Maximum of 10,000 results per search URL
  • Listings with "price on request" may not appear in price-filtered queries

Input Example 1: Scrape from a search URL

Paste any Funda.nl search URL to scrape those exact results. You can add multiple URLs to scrape different searches in one run.

{
"searchUrls": [
{ "url": "https://www.funda.nl/zoeken/koop?selected_area=[\"amsterdam\"]&price=\"200000-500000\"" }
],
"maxItems": 30,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Output Sample 1: Clean format

The results will be wrapped into a dataset which you can always find in the Storage tab. You can choose in which format to download your data: JSON, JSONL, Excel spreadsheet, HTML table, CSV, or XML.

[
{
"fundaId": "7332972",
"url": "https://www.funda.nl/detail/koop/amsterdam/huis-prinsengracht-100/7332972/",
"status": "available",
"street": "Prinsengracht",
"houseNumber": "100",
"houseNumberSuffix": "",
"postalCode": "1015EA",
"city": "Amsterdam",
"province": "Noord-Holland",
"neighbourhood": "Grachtengordel-West",
"wijk": "Centrum-West",
"sellingPrice": 495000,
"sellingPriceType": "regular",
"sellingPriceCondition": "kosten_koper",
"originalSellingPrice": 495000,
"objectType": "house",
"offeringType": "buy",
"floorArea": 125,
"plotArea": null,
"floorAreaRange": null,
"plotAreaRange": null,
"numberOfRooms": 5,
"numberOfBedrooms": 3,
"energyLabel": "A",
"publishDate": "2024-10-25T15:15:02.5130000",
"photoUrls": [
"https://cloud.funda.nl/199527498",
"https://cloud.funda.nl/199527499"
],
"thumbnailUrl": "https://cloud.funda.nl/199527498/w720h480",
"availableMediaTypes": ["floor_plan", "photo_360", "video"],
"agent": {
"id": 13026,
"name": "Smedema Makelaars & Taxateurs",
"association": "NVM",
"url": "https://www.funda.nl/makelaars/13026/"
}
}
]

Input Example 2: Scrape using filters

Use programmatic filters to search by location, price range, property type, and more - without needing a URL.

{
"offeringType": "buy",
"availability": "available",
"propertyTypes": ["single"],
"location": "amsterdam",
"priceTo": 500000,
"maxItems": 100
}

Output Sample 2: Raw format

When using "outputFormat": "raw", you get the full API response for each listing:

[
{
"highlight": {},
"agent": [
{
"logo_type": "new",
"relative_url": "/makelaar/13026-smedema-makelaars-en-taxateurs/",
"is_primary": true,
"logo_id": 141935042,
"name": "Smedema Makelaars & Taxateurs",
"association": "NVM",
"id": 13026
}
],
"number_of_bedrooms": 3,
"address": {
"country": "NL",
"province": "Limburg",
"wijk": "Nieuw-Bergen",
"city": "Bergen (LI)",
"neighbourhood": "Nieuw-Bergen Kern",
"identifiers": [
"nl",
"bergen-li/straat-siebengewaldseweg",
"bergen-li",
"gemeente-bergen-li",
"provincie-limburg",
"bergen-li/nieuw-bergen-kern",
"bergen-li/wijk-nieuw-bergen",
"5854pc",
"5854",
"regio-noord-limburg"
],
"municipality": "Bergen (LI)",
"is_bag_address": true,
"house_number": "38",
"postal_code": "5854PC",
"street_name": "Siebengewaldseweg"
},
"plot_area_range": { "gte": 456, "lte": 456 },
"object_type": "house",
"energy_label": "A",
"floor_area": [125],
"floor_area_range": { "gte": 125, "lte": 125 },
"type": "single",
"offering_type": ["buy"],
"price": {
"selling_price": [499000],
"selling_price_range": { "gte": 499000, "lte": 499000 },
"selling_price_type": "regular",
"selling_price_condition": "kosten_koper"
},
"plot_area": [456],
"id": 7332972,
"available_media_types": ["floor_plan", "photo_360", "video"],
"publish_date": "2024-10-25T15:15:02.5130000",
"object_detail_page_relative_url": "/detail/koop/bergen-li/huis-siebengewaldseweg-38/43787335/",
"number_of_rooms": 7,
"_index": "listings-wonen-searcher-alias-prod",
"_id": "7332972",
"_score": null
}
]