Funda in Business Scraper — Dutch Commercial Property avatar

Funda in Business Scraper — Dutch Commercial Property

Pricing

from $20.00 / 1,000 result scrapeds

Go to Apify Store
Funda in Business Scraper — Dutch Commercial Property

Funda in Business Scraper — Dutch Commercial Property

Scrape Dutch commercial real estate from Funda in Business: kantoren, winkels, bedrijfshallen, bouwgrond, horeca, beleggingen for rent or sale. Prices with k.k./v.o.n. qualifiers, rents per month or EUR/m2/jaar, surfaces, brokers, photos. Search any Dutch city, no login needed.

Pricing

from $20.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Funda in Business Scraper

Extract commercial real estate listings from fundainbusiness.nl, the commercial arm of Funda, the Netherlands' largest property portal. Around 25,000 active listings: kantoren (offices), winkels (retail), bedrijfshallen (industrial), bouwgrond (building plots), horeca and beleggingen (investment properties), for rent or for sale, across every Dutch city.

No login, no cookies, no API key. You give it a city, it returns structured JSON.

Why use this actor

  • Prices the way Dutch commercial real estate quotes them. Sale prices keep their k.k. (kosten koper) or v.o.n. (vrij op naam) qualifier in a separate field. Rents come as the site publishes them: per month or in EUR per m² per year, and the actor also derives the EUR/m2/jaar figure from monthly rents and surfaces so you can compare listings on one number.
  • The published wording is never thrown away. Every row carries priceText exactly as it appears on the site, next to the parsed numeric fields. When parsing and source ever disagree, you can see it.
  • Honest price handling. Price on application (op aanvraag) is normal in this vertical. Those listings come through with price: null and priceOnRequest: true instead of a fake zero.
  • Built for reliability. The actor detects Funda's verification page by content, retires the session and retries with a fresh one. It fails loudly on zero results instead of reporting a successful empty run.

Typical uses: market rent studies per city, deal sourcing for investors and brokers, monitoring new supply in a segment, feeding valuation models with EUR/m2/jaar comparables, tracking broker inventory.

Input

FieldTypeDefaultDescription
searchQuerystringwhole countryDutch city or municipality: Amsterdam, Rotterdam, Den Haag, Eindhoven. Empty or heel-nederland searches all of the Netherlands
listingTypestringbothrent (huur), sale (koop) or both
segmentstringanyoffice (kantoor), retail (winkel), industrial (bedrijfshal), land (bouwgrond), hospitality (horeca), investment (belegging) or any
maxResultsinteger100Cap on returned listings
proxyConfigurationobjectNL residentialKeep the default. Funda serves a verification page to datacenter IPs

Example input, offices for rent in Amsterdam:

{
"searchQuery": "Amsterdam",
"listingType": "rent",
"segment": "office",
"maxResults": 100
}

Example input, building plots for sale in Rotterdam:

{
"searchQuery": "Rotterdam",
"listingType": "sale",
"segment": "land",
"maxResults": 50
}

Output

One JSON object per listing. Key fields:

FieldExampleDescription
title"Cruquiusweg 100-E, Amsterdam"Address plus city, as published
segment"office"office, retail, industrial, land, hospitality, investment
propertyTypes["Bedrijfshal", "Kantoor"]The site's Dutch property types for this listing
listingType"rent"rent or sale
price11250Amount to read together with priceUnit. Null if on application
priceText"€ 11.250 /mnd"Price exactly as published, qualifiers included
priceUnit"EUR/maand"EUR (sale total), EUR/maand, EUR/jaar or EUR/m2/jaar
priceQualifier"k.k."Sale qualifier: k.k. or v.o.n., kept from the source
priceMonthly / priceYearly11250 / 135000Rent totals in EUR
pricePerSquareMeterYear250Rent in EUR/m2/jaar, quoted or derived
surface232Floor area or plot size in m² (Oppervlakte)
unitsFrom120Smallest rentable unit in m², for divisible buildings
city"Amsterdam"Location
isNearbyResultfalseTrue when the site returned this listing from a nearby municipality instead of the searched one
agentName"Keij & Stefels B.V."Listing broker (makelaar)
urlhttps://www.fundainbusiness.nl/kantoor/amsterdam/object-43884892-cruquiusweg-100-e/Detail page

Full example record:

{
"id": "7439439",
"tinyId": "43884892",
"title": "Cruquiusweg 100-E, Amsterdam",
"address": "Cruquiusweg 100-E",
"city": "Amsterdam",
"segment": "office",
"propertyTypes": ["Kantoor"],
"listingType": "sale",
"price": 1195000,
"priceText": "€ 1.195.000 k.k.",
"priceUnit": "EUR",
"currency": "EUR",
"priceQualifier": "k.k.",
"priceOnRequest": false,
"priceIsFrom": false,
"priceMonthly": null,
"priceYearly": null,
"pricePerSquareMeterYear": null,
"surface": 232,
"unitsFrom": null,
"agentName": "Keij & Stefels B.V.",
"agentUrl": "https://www.fundainbusiness.nl/makelaar/24463-keij-en-stefels-bv/",
"imageUrl": "https://cloud.funda.nl/valentina_media/204/274/875_720x480.jpg",
"isNearbyResult": false,
"url": "https://www.fundainbusiness.nl/kantoor/amsterdam/object-43884892-cruquiusweg-100-e/",
"source": "fundainbusiness",
"scrapedAt": "2026-08-18T09:00:00.000Z"
}

How to scrape Funda in Business data

  1. Open the actor on Apify and press Try for free.
  2. Enter a Dutch city in searchQuery, for example Amsterdam or Utrecht.
  3. Pick listingType (rent or sale) and a segment, for example office for kantoren.
  4. Press Start. The run fetches search result pages (15 listings per page) and stops at maxResults.
  5. Export the dataset as JSON, CSV or Excel from the Storage tab, or pull it through the Apify API.

The same works from code with the Apify client libraries for JavaScript and Python; pass the input object shown above.

Pricing and cost per result

The actor charges per result (pay per event): $0.02 per listing plus a small run start fee. A 100-listing run costs about $2 plus a few cents of proxy and compute usage. Residential proxy traffic is kept low because images, fonts and media are never downloaded.

Note that a run's usage cost only settles after the run reaches the SUCCEEDED state; the figure shown while the run is still going is not final.

Limitations

  • One query covers one municipality (or the whole country with heel-nederland). For a multi-city sweep, loop the actor over a city list.
  • When a search has little or no supply (bouwgrond in a single city, for example), the site itself fills the page with listings from nearby municipalities. Those rows come through with isNearbyResult: true so you can filter them out.
  • The actor reads search result cards. Detail-page extras (full descriptions, energy labels, all photos) are not included; open an issue if you need detail enrichment.
  • Price on application listings have price: null. That is the advertiser's choice, not missing data; priceOnRequest is true on those rows.
  • Funda protects its pages with a verification challenge. The default Dutch residential proxy configuration handles this; switching to datacenter proxies will get the run blocked.
  • Sold and rented-out archive listings (verkocht/verhuurd) are not part of a normal search and are not returned.

FAQ

Does it cover all of the Netherlands? Yes. Any municipality the site serves, from Amsterdam to small towns, plus a whole-country mode.

Why do some rents come per month and others per m² per year? That is how the advertisers publish them. The actor keeps the original quote in priceText and priceUnit, and derives pricePerSquareMeterYear where the surface allows it, so both styles end up comparable.

What is the difference between k.k. and v.o.n.? Dutch sale-price qualifiers. K.k. (kosten koper) means the buyer pays transfer costs; v.o.n. (vrij op naam) means they are included. The actor preserves the qualifier instead of silently dropping it.