Funda.nl | π°$0.7 per 1,000 results | Fast, broad results
Under maintenancePricing
from $0.70 / 1,000 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
Maintained by CommunityActor stats
0
Bookmarked
32
Total users
4
Monthly active users
13 days ago
Last modified
Categories
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
countrycode 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
agentfield 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.
The simplest search
{"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
| Parameter | Type | Default | Description |
|---|---|---|---|
searchUrls | array | [] | One or more Funda search result URLs to scrape directly |
offeringType | string | buy | Choose buy or rent |
availability | string | available | Choose available, unavailable, or negotiations |
propertyTypes | array | [] | Any mix of House, Apartment, Parking, and Land. Leave empty to include every property type |
location | string | empty | City, neighbourhood, postal code, or address |
priceFrom | integer | empty | Minimum price in euros. The asking price when Offering Type is buy, the monthly rent when it is rent |
priceTo | integer | empty | Maximum price in euros. The asking price when Offering Type is buy, the monthly rent when it is rent |
sortBy | string | publish_date_utc | Sort by newest listing date, price, floor area, or plot area |
sortOrder | string | desc | Choose ascending or descending sort order |
maxItems | integer | 100 | Maximum number of listings to collect. 0 means as many as possible up to the built-in safety cap |
outputFormat | string | clean | clean for flattened fields, raw for the original listing payload |
outputFields | array | all clean fields | Choose a subset of clean fields to keep |
delayBetweenRequests | number | 0.3 | Base 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
| Field | Description |
|---|---|
fundaId | Listing ID on Funda |
url | Full listing URL on funda.nl |
status | Where the listing stands: available, sold, rented, under_option, under_bid, or sold_under_reservation |
objectType | Property type: house, apartment, parking, or land |
publishDate | Date and time the listing went live |
Address
| Field | Description |
|---|---|
street | Street name |
houseNumber | House number |
houseNumberSuffix | House number addition, when the address has one |
postalCode | Postal code |
city | City |
province | One of the 12 Dutch provinces |
country | Two-letter country code, NL on every listing a Netherlands search returns |
neighbourhood | Neighbourhood |
wijk | District |
Price and offering
| Field | Description |
|---|---|
offeringType | How this record is offered: buy or rent |
offeringTypes | Every way the property is offered. A home advertised for sale and for rent at the same time returns ["buy", "rent"] |
sellingPrice | Asking price in euros, on sale listings |
sellingPriceType | Asking price type, for example regular |
sellingPriceCondition | Sale price condition, for example kosten_koper |
rentPrice | Rent in euros, on rental listings |
rentPriceType | Rent price type, for example regular |
rentPriceCondition | Period the rent covers, for example per_month |
Size and energy
| Field | Description |
|---|---|
floorArea | Living area in square metres |
plotArea | Plot area in square metres, on listings that have a plot |
numberOfRooms | Number of rooms |
numberOfBedrooms | Number of bedrooms |
energyLabel | Energy label, from A to G |
Media and agent
| Field | Description |
|---|---|
photoUrls | Every listing photo, in the order Funda shows them |
thumbnailUrl | Thumbnail image URL |
availableMediaTypes | Extra media on the listing, such as floor_plan, photo_360, and video. Funda mostly attaches these to active sale listings |
agent | Listing 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
maxItemsvalue 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 forrent. - Read rent from
rentPriceand sale prices fromsellingPrice. A property advertised both ways carries both, andofferingTypestells 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:
availablefor what is on the market,unavailablefor sold and rented history,negotiationsfor 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
countryset toNL. 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.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 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/"}}]
Legal And Ethical Use
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.