Funda.nl | πŸ’°$0.7 per 1,000 results | Fast, broad results avatar

Funda.nl | πŸ’°$0.7 per 1,000 results | Fast, broad results

Under maintenance

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

Under maintenance

$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

4.1

(2)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

32

Total users

4

Monthly active users

13 days ago

Last modified

Share

Funda.nl Housing Scraper

Pull property listings from Funda.nl, the largest Dutch housing platform: asking prices, monthly rents, floor and plot area, energy labels, room counts, photos, and the listing agent, for homes for sale, homes for rent, and homes that already changed hands. Built for Dutch estate agents, property investors, and market analysts who need current Funda inventory as a spreadsheet instead of checking the site by hand.

Why This Scraper?

  • Four property types, each filterable on its own β€” houses, apartments, building plots, and parking spaces. Around 29,000 houses, 22,000 apartments, 900 building plots, and 670 parking spaces are on the market nationwide at any given time.
  • Buy and rent in one actor β€” sale prices and monthly rents both come through. A home advertised for sale and for rent carries offeringTypes: ["buy", "rent"] with both prices attached, instead of being collapsed into whichever one Funda happened to list first.
  • Sold price history β€” switch Availability to closed deals and draw on an archive of more than 150,000 sold Dutch houses, each with the asking price it finally carried.
  • 31 fields on every single row β€” energy label, floor area, plot area, rooms, bedrooms, postal code, neighbourhood, district, publish date, every listing photo, and the agent's name and profile link. The field list is identical on all rows, so a recurring CSV or Google Sheets export never shifts its columns.
  • Bigger than Funda's own ceiling β€” the website stops paging a search at 9,990 results. This actor keeps going, so a nationwide sweep comes back whole rather than truncated.
  • Every corner of the Netherlands β€” search by city, neighbourhood, postal code, or address, or paste a Funda search URL. Nationwide runs return listings from all 12 Dutch provinces.
  • Dutch results stay Dutch β€” Funda also advertises homes elsewhere in Europe. A Netherlands search returns Dutch stock only, and every row carries a country code so you can prove it.
  • Three listing states, eight sort orders β€” available, under negotiation, or sold and rented, each ordered by publishDate, price, floor area, or plot area, ascending or descending.
  • From $0.70 per 1,000 results on every plan β€” the discount tiers below all resolve to the same rate, so you never need to upgrade your Apify plan to reach the lowest price.

Use Cases

Market research

  • Compare asking prices and monthly rents city by city across all 12 Dutch provinces
  • Track how national supply splits between houses, apartments, building plots, and parking spaces
  • Measure rental inventory against sale inventory in the same neighbourhood
  • Follow the energy-label mix, A through G, as older stock is renovated

Valuation and sold prices

  • Pull comparables from an archive of more than 150,000 sold Dutch homes
  • Read the asking price each closed deal finally carried
  • Tell finished sales apart from deals still under negotiation using the listing status
  • Build price-per-square-metre benchmarks from asking price and floor area

Lead generation

  • Build agent lists from the agent field on every row: name, association, and Funda profile link
  • Catch listings the day they go live by sorting on publish date
  • Shortlist properties against a buying brief on price, floor area, rooms, and energy label
  • Spot homes advertised for sale and for rent at once, flagged by offeringTypes

Investment screening

  • Compare monthly rent against asking price inside the same postal code area
  • Filter to building plots and parking spaces, which most housing feeds leave out
  • Screen on plot area for development potential
  • Rank a whole city by floor area or by price, ascending or descending

Reporting and operations

  • Feed listing data into internal dashboards
  • Share filtered datasets with clients or teammates
  • Export results to Google Sheets or CSV
  • Re-run a saved search on a schedule to keep a live view of one market

Getting Started

Four ready-made inputs, from a one-line search to a full Funda URL. Paste any of them straight into the input editor.

{
"location": "Amsterdam",
"maxItems": 50
}

Location takes a city, a neighbourhood, a 4-digit postal code, or a street address. A full postal code such as 1017AB covers only a handful of addresses, so reach for the 4-digit form when you want a whole neighbourhood. Leave Location empty and the run covers the entire Netherlands.

Rentals in a price band

{
"location": "Rotterdam",
"offeringType": "rent",
"propertyTypes": ["apartment"],
"priceFrom": 800,
"priceTo": 1800,
"maxItems": 200
}

Sold houses, most expensive first, with just the columns you want

{
"location": "Utrecht",
"offeringType": "buy",
"availability": "unavailable",
"propertyTypes": ["single", "apartment"],
"sortBy": "price",
"sortOrder": "desc",
"outputFields": [
"fundaId",
"url",
"street",
"city",
"postalCode",
"sellingPrice",
"floorArea",
"energyLabel",
"publishDate"
],
"maxItems": 500
}

A search you already built on Funda

Build the search on funda.nl, then copy the address straight out of your browser's address bar and paste it in. The example below also shows the shape the API expects: each address goes in as a url value, not as a bare piece of text on its own.

{
"searchUrls": [
{
"url": "https://www.funda.nl/zoeken/koop?selected_area=%5B%22amsterdam%22%5D&price=%22200000-500000%22"
}
],
"maxItems": 30,
"outputFormat": "clean"
}

Input Reference

ParameterTypeDefaultDescription
searchUrlsarray[]One or more Funda search result URLs to scrape directly
offeringTypestringbuyChoose buy or rent
availabilitystringavailableChoose available, unavailable, or negotiations
propertyTypesarray[]Any mix of House, Apartment, Parking, and Land. Leave empty to include every property type
locationstringemptyCity, neighbourhood, postal code, or address
priceFromintegeremptyMinimum price in euros. The asking price when Offering Type is buy, the monthly rent when it is rent
priceTointegeremptyMaximum price in euros. The asking price when Offering Type is buy, the monthly rent when it is rent
sortBystringpublish_date_utcSort by newest listing date, price, floor area, or plot area
sortOrderstringdescChoose ascending or descending sort order
maxItemsinteger100Maximum number of listings to collect. 0 means as many as possible up to the built-in safety cap
outputFormatstringcleanclean for flattened fields, raw for the original listing payload
outputFieldsarrayall clean fieldsChoose a subset of clean fields to keep
delayBetweenRequestsnumber0.3Base pause between requests in seconds

Output Fields

Clean output

Clean mode returns the same 31 fields on every listing, grouped below. A field Funda has no value for comes back empty rather than disappearing, so a sale row still carries the rent fields and a rental row still carries the sale fields, just blank. That keeps your spreadsheet columns identical from one run to the next.

Listing basics

FieldDescription
fundaIdListing ID on Funda
urlFull listing URL on funda.nl
statusWhere the listing stands: available, sold, rented, under_option, under_bid, or sold_under_reservation
objectTypeProperty type: house, apartment, parking, or land
publishDateDate and time the listing went live

Address

FieldDescription
streetStreet name
houseNumberHouse number
houseNumberSuffixHouse number addition, when the address has one
postalCodePostal code
cityCity
provinceOne of the 12 Dutch provinces
countryTwo-letter country code, NL on every listing a Netherlands search returns
neighbourhoodNeighbourhood
wijkDistrict

Price and offering

FieldDescription
offeringTypeHow this record is offered: buy or rent
offeringTypesEvery way the property is offered. A home advertised for sale and for rent at the same time returns ["buy", "rent"]
sellingPriceAsking price in euros, on sale listings
sellingPriceTypeAsking price type, for example regular
sellingPriceConditionSale price condition, for example kosten_koper
rentPriceRent in euros, on rental listings
rentPriceTypeRent price type, for example regular
rentPriceConditionPeriod the rent covers, for example per_month

Size and energy

FieldDescription
floorAreaLiving area in square metres
plotAreaPlot area in square metres, on listings that have a plot
numberOfRoomsNumber of rooms
numberOfBedroomsNumber of bedrooms
energyLabelEnergy label, from A to G

Media and agent

FieldDescription
photoUrlsEvery listing photo, in the order Funda shows them
thumbnailUrlThumbnail image URL
availableMediaTypesExtra media on the listing, such as floor_plan, photo_360, and video. Funda mostly attaches these to active sale listings
agentListing agent: id, name, association, and Funda profile URL

Raw output

raw mode returns the original listing object from Funda for each item.

Tips For Best Results

  • Paste full Funda search result URLs when you want the closest match to what you see in the browser.
  • Start with a smaller maxItems value when testing a new search.
  • Leave Property Types empty to sweep houses, apartments, parking spaces, and building plots in a single run.
  • Set the price range in the unit that matches your Offering Type: the asking price for buy, the monthly rent for rent.
  • Read rent from rentPrice and sale prices from sellingPrice. A property advertised both ways carries both, and offeringTypes tells you it is a dual listing.
  • Every record carries the full field list, so a CSV or Google Sheets export has the same columns every run and you can point a recurring report at it without the layout shifting. Use Output Fields to narrow that list to just the columns you want.
  • Use Availability to separate live supply from closed deals: available for what is on the market, unavailable for sold and rented history, negotiations for deals in progress.
  • Split broad searches by city or price range if you want more control over large runs.
  • Nationwide searches stay inside the Netherlands, so every row comes back with country set to NL. Funda also advertises homes elsewhere in Europe; paste a Funda search URL covering those if you want them.

Pricing

From $0.70 per 1,000 results β€” and that is the rate on every Apify discount tier, so a free-plan run costs exactly what a Gold-tier run costs.

ResultsNo discountBronzeSilverGold
100$0.07$0.07$0.07$0.07
1,000$0.70$0.70$0.70$0.70
10,000$7.00$7.00$7.00$7.00
100,000$70.00$70.00$70.00$70.00

A "result" is one listing row in your dataset. No compute or time-based charges β€” you pay per result, plus a small fixed per-run start fee.

Integrations

  • Zapier: trigger workflows when new listings appear
  • Make: route listing data into CRMs, alerts, or databases
  • Google Sheets: export cleaned datasets for sharing and analysis
  • API: run the actor programmatically from your own app or backend

Output Example

A house for sale. Photo lists are shortened here; a real record carries every photo.

[
{
"fundaId": "8102473",
"url": "https://www.funda.nl/detail/koop/den-haag/huis-wapserveenstraat-426/80911472/",
"status": "available",
"street": "Wapserveenstraat",
"houseNumber": "426",
"houseNumberSuffix": null,
"postalCode": "2545LL",
"city": "Den Haag",
"province": "Zuid-Holland",
"country": "NL",
"neighbourhood": "Morgenstond-West",
"wijk": "Wijk 34 Morgenstond",
"sellingPrice": 600000,
"sellingPriceType": "regular",
"sellingPriceCondition": "kosten_koper",
"rentPrice": null,
"rentPriceType": null,
"rentPriceCondition": null,
"objectType": "house",
"offeringType": "buy",
"offeringTypes": [
"buy"
],
"floorArea": 131,
"plotArea": 142,
"numberOfRooms": 5,
"numberOfBedrooms": 4,
"energyLabel": "A",
"publishDate": "2026-08-07T05:00:02.5054650+02:00",
"photoUrls": [
"https://cloud.funda.nl/tiara-media/b6eb48d2-e39b-4d96-9a5d-90b57cce0346/b131db50-2ac8-47cd-8b8a-809b131a28ea",
"https://cloud.funda.nl/tiara-media/b6eb48d2-e39b-4d96-9a5d-90b57cce0346/7c24d9c5-b8b2-4e73-925b-ee8ba326d6e2"
],
"thumbnailUrl": "https://cloud.funda.nl/tiara-media/b6eb48d2-e39b-4d96-9a5d-90b57cce0346/b131db50-2ac8-47cd-8b8a-809b131a28ea/w720h480",
"availableMediaTypes": [
"floor_plan",
"photo_360",
"video"
],
"agent": {
"id": 62898,
"name": "Agterberg Makelaardij",
"association": "VN",
"url": "https://www.funda.nl/makelaars/62898/"
}
}
]

Set Offering Type to rent and you get the identical field list, with the rent fields filled in and the sale fields empty.

[
{
"fundaId": "8085381",
"url": "https://www.funda.nl/detail/huur/rotterdam/appartement-polderlaan-32-b/44430744/",
"status": "available",
"street": "Polderlaan",
"houseNumber": "32",
"houseNumberSuffix": "B",
"postalCode": "3074ME",
"city": "Rotterdam",
"province": "Zuid-Holland",
"country": "NL",
"neighbourhood": "Hillesluis",
"wijk": "Feijenoord",
"sellingPrice": null,
"sellingPriceType": null,
"sellingPriceCondition": null,
"rentPrice": 1104,
"rentPriceType": "regular",
"rentPriceCondition": "per_month",
"objectType": "apartment",
"offeringType": "rent",
"offeringTypes": [
"rent"
],
"floorArea": 53,
"plotArea": null,
"numberOfRooms": 2,
"numberOfBedrooms": 0,
"energyLabel": "A",
"publishDate": "2026-07-16T17:24:03.0801773+02:00",
"photoUrls": [
"https://cloud.funda.nl/tiara-media/7f72256c-1578-41a9-b030-bbc3afdb4b7c/5e932e11-1a7d-44f2-b632-a36ee3fe3f08",
"https://cloud.funda.nl/tiara-media/7f72256c-1578-41a9-b030-bbc3afdb4b7c/31559c90-a041-48c3-8025-b43c9d2069ed"
],
"thumbnailUrl": "https://cloud.funda.nl/tiara-media/7f72256c-1578-41a9-b030-bbc3afdb4b7c/5e932e11-1a7d-44f2-b632-a36ee3fe3f08/w720h480",
"availableMediaTypes": [],
"agent": {
"id": 15464,
"name": "D&S Vastgoed",
"association": "NVM",
"url": "https://www.funda.nl/makelaars/15464/"
}
}
]

Use this scraper responsibly and make sure your use complies with Funda.nl terms, local laws, privacy rules, and your own internal policies. Review and store personal or commercially sensitive data with care.