# Funda in Business Scraper - Commercial Property & Agents (`abotapi/fundainbusiness-nl-commercial-property-scraper`) Actor

Scrape Funda in Business commercial listings: offices, retail, industrial, catering and more. Full detail pages, pricing, floor areas, energy labels, coordinates, images, and agent/agency contacts with ratings. Dual search and URL modes, deep filters, and forward pagination.

- **URL**: https://apify.com/abotapi/fundainbusiness-nl-commercial-property-scraper.md
- **Developed by:** [Abot API](https://apify.com/abotapi) (community)
- **Categories:** Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 property scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Funda in Business Scraper - Commercial Property & Agent Contacts

Extract commercial property listings from Funda in Business (fundainbusiness.nl): offices, retail units, industrial halls, catering venues, practice spaces, plots, and investment objects across the Netherlands. Every listing comes with pricing, floor areas, energy labels, coordinates, full image sets, and the listing agent and agency, including agency ratings and reviews. Search by city and filters, or paste your own listing URLs.

### Why this scraper

- Rich nested output: 90+ fields per listing across pricing, location, property characteristics, media, and agency relationships, a strict superset of what other scrapers return.
- Full detail-page enrichment: complete description, every characteristic (transfer, construction, areas, layout, energy), map coordinates, all photos, and the agent phone number.
- Agency profiles with reviews: opt in to enrich each listing's agency with contact details, address, employee count, average rating, and individual reviews.
- Dual input modes: search by location plus deep filters, or scrape a list of URLs you already have.
- Deep filters: property category, buy or rent, price and area ranges, energy label, construction period, surrounding context, features, parking, publication date, auction and open-day windows, and nine sort orders.
- Forward pagination that walks result pages until your item cap is reached.
- Optional export of results into Notion, Linear, Airtable, or Apify through MCP connectors.

### Data you get

> Sample shape, values are illustrative placeholders, not from a live listing.

| Field | Example |
| --- | --- |
| `record_id` | `00000001` |
| `entity.title` | `Sample Street 1, Amsterdam` |
| `listing.deal_type` | `rent` |
| `property.property_type` | `office` |
| `property.usage_types` | `["Office", "Retail"]` |
| `pricing.price` | `3250` |
| `pricing.price_text` | `EUR 3.250 /mnd` |
| `property.floor_area` | `98` |
| `property.energy_label` | `A` |
| `property.construction_year` | `2020` |
| `location.city` | `Amsterdam` |
| `location.latitude` | `52.0000` |
| `location.longitude` | `4.0000` |
| `media.image_count` | `6` |
| `relationships.agency.name` | `Sample Brokers` |
| `relationships.agency.phone` | `+310000000000` |
| `relationships.agency.email` | `agent@example.com` |
| `relationships.agency.reviews.average_score` | `8.6` |

### How to use

Search a city for offices for rent, listings only:

```json
{
  "mode": "search",
  "locations": ["Amsterdam"],
  "propertyType": "office",
  "dealType": "rent",
  "maxItems": 50,
  "fetchDetails": false
}
````

Search with filters and full detail enrichment:

```json
{
  "mode": "search",
  "locations": ["Rotterdam", "Utrecht"],
  "propertyType": "retail",
  "dealType": "buy",
  "minPrice": 100000,
  "maxPrice": 2000000,
  "minArea": 80,
  "energyLabel": ["a", "b", "c"],
  "sortBy": "sale_price",
  "fetchDetails": true,
  "includeAgencyDetails": true,
  "maxItems": 100
}
```

Scrape from URLs (multiple, paginated):

```json
{
  "mode": "url",
  "urls": [
    "https://www.fundainbusiness.nl/kantoor/amsterdam/",
    "https://www.fundainbusiness.nl/winkel/rotterdam/"
  ],
  "maxPages": 5,
  "maxItems": 100,
  "fetchDetails": true
}
```

### Input parameters

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| `mode` | string | `search` | `search` builds URLs from filters; `url` scrapes pasted links. |
| `locations` | array | `["Amsterdam"]` | Cities or areas to search (search mode). |
| `propertyType` | string | `all` | Commercial category, for example office, retail, catering. |
| `dealType` | string | `both` | Buy, rent, or both. |
| `keyword` | string | | Optional free-text term. |
| `minPrice` / `maxPrice` | integer | | Price or rent bounds. |
| `rentPriceBasis` | string | `per_month` | How rent bounds are applied: per month, year, or square metre. |
| `minArea` / `maxArea` | integer | | Floor area bounds in square metres. |
| `publicationDate` | string | `any` | Published within today, 3, 5, 10, or 30 days. |
| `surrounding` | array | | Area context, for example town centre, office park. |
| `amenities` | array | | Required building features. |
| `availability` | array | | Availability signals. |
| `parking` | string | `any` | Minimum parking capacity. |
| `constructionType` | string | `any` | Existing or new construction. |
| `propertyAge` | array | | Construction period buckets. |
| `energyLabel` | array | | Energy labels A to G. |
| `auctionDate` | string | `any` | Upcoming auction window. |
| `openDay` | string | `any` | Open-day availability. |
| `highlighted` | boolean | `false` | Only featured listings. |
| `includeSoldRented` | boolean | `false` | Also include sold or rented listings. |
| `sortBy` | string | `relevance` | Result ordering (nine options). |
| `urls` | array | | URLs to scrape (URL mode). |
| `language` | string | `nl` | Page language, nl or en. |
| `fetchDetails` | boolean | `true` | Include full detail (description, characteristics, coordinates, images, agent phone) per listing. |
| `includeAgencyDetails` | boolean | `false` | Enrich each agency with profile and reviews. |
| `maxItems` | integer | `20` | Item cap for the run (0 = unlimited). |
| `maxPages` | integer | `200` | Safety ceiling on pages per search. |
| `proxy` | object | Apify proxy | Connection settings. |

### Send results into your apps (MCP connectors)

You can optionally pipe each run's results into the apps you already use through Model Context Protocol (MCP) connectors. Authorize a connector under Apify then Settings then API & Integrations, select it in the `mcpConnectors` input, and (for Notion) set `notionParentPageUrl`. Each item is written as a condensed, human-readable summary (a title plus the key fields flattened to plain text), not the full JSON; the complete record always stays in the Apify dataset. Leave the field empty to skip; it never changes the dataset output. Supported: Notion, Linear, Airtable, Apify.

### Output example

> Sample shape, values are illustrative placeholders, not from a live listing.

```json
{
  "record_type": "property_listing",
  "record_id": "00000001",
  "source_context": {
    "source_domain": "fundainbusiness.nl",
    "source_url": "https://www.fundainbusiness.nl/kantoor/amsterdam/object-00000001-sample-street-1/",
    "enrichment_status": "enriched",
    "page_number": 1,
    "position": 1,
    "scraped_at": "2026-01-01T00:00:00+00:00",
    "language": "nl",
    "country": "NL"
  },
  "entity": {
    "title": "Sample Street 1, Amsterdam",
    "description": "Full listing description appears here when fetchDetails is enabled.",
    "url": "https://www.fundainbusiness.nl/kantoor/amsterdam/object-00000001-sample-street-1/",
    "category": "Office"
  },
  "listing": { "deal_type": "rent", "source_category": "Kantoor", "available_from": "Per direct beschikbaar" },
  "pricing": { "price": 3250, "currency": "EUR", "price_text": "EUR 3.250 /mnd" },
  "location": { "city": "Amsterdam", "region": "Noord-Holland", "latitude": 52.0000, "longitude": 4.0000 },
  "property": { "property_type": "office", "floor_area": 98, "energy_label": "A", "construction_year": 2020 },
  "media": { "image_count": 6, "image_urls": ["https://cloud.funda.nl/valentina_media/000/000/000_1440x960.jpg"] },
  "relationships": {
    "agency": {
      "name": "Sample Brokers",
      "url": "https://www.fundainbusiness.nl/makelaar/0000-sample-brokers/",
      "phone": "+310000000000",
      "email": "agent@example.com",
      "reviews": { "total": 2, "average_score": 8.6, "formatted_average_score": "8,6" }
    }
  }
}
```

### Plan requirement

Runs on any Apify plan.

# Actor input Schema

## `mode` (type: `string`):

Choose how to start: 'search' uses the location + filter fields below; 'url' scrapes the listing URLs you paste.

## `locations` (type: `array`):

Cities, towns or areas to search, for example Amsterdam, Rotterdam, Utrecht. Each becomes a separate search.

## `propertyType` (type: `string`):

Which commercial category to search.

## `dealType` (type: `string`):

Filter by transaction type.

## `keyword` (type: `string`):

Optional free-text term to narrow results.

## `minPrice` (type: `integer`):

Lowest price or rent. For rent this is interpreted with the rent price basis below.

## `maxPrice` (type: `integer`):

Highest price or rent.

## `rentPriceBasis` (type: `string`):

How rent price bounds are applied (per month, per year, or per square metre).

## `minArea` (type: `integer`):

Smallest floor area in square metres.

## `maxArea` (type: `integer`):

Largest floor area in square metres.

## `publicationDate` (type: `string`):

Only listings published within this window.

## `surrounding` (type: `array`):

Filter by the type of area the property sits in.

## `amenities` (type: `array`):

Require one or more building features.

## `availability` (type: `array`):

Filter by availability characteristics.

## `parking` (type: `string`):

Minimum number of parking spaces.

## `constructionType` (type: `string`):

Filter by existing versus new construction.

## `propertyAge` (type: `array`):

Filter by the period the property was built.

## `energyLabel` (type: `array`):

Filter by energy label.

## `auctionDate` (type: `string`):

Filter by upcoming auction window.

## `openDay` (type: `string`):

Filter by open day availability.

## `highlighted` (type: `boolean`):

Return only featured/highlighted listings.

## `includeSoldRented` (type: `boolean`):

Also include historical listings that are already sold or rented.

## `sortBy` (type: `string`):

Result ordering.

## `urls` (type: `array`):

Funda in Business URLs. Search-result pages are paginated forward; single listing URLs are scraped directly. Filter fields above are ignored in URL mode.

## `language` (type: `string`):

Language of the listing pages (nl or en).

## `fetchDetails` (type: `boolean`):

Include the full description, all characteristics, coordinates, all images, and the agent phone for each listing. Adds one request per listing.

## `includeAgencyDetails` (type: `boolean`):

Enrich each listing's agency with contact details, address, ratings and reviews from its profile page. Profiles are fetched once and reused across listings.

## `maxItems` (type: `integer`):

Maximum listings to return across the whole run. The single cap: set 0 for unlimited.

## `maxPages` (type: `integer`):

Safety ceiling on result pages walked per search. Leave at the default; the run stops at Max items.

## `proxy` (type: `object`):

Connection settings. The default works out of the box; you can pin a specific country if needed.

## `mcpConnectors` (type: `array`):

Optionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify then Settings then API & Integrations, then select it here. Notion gets a rich page-per-item export; other connectors get a best-effort write. Leave empty to skip; never changes the dataset output. Supported: Notion, Linear, Airtable, Apify.

## `notionParentPageUrl` (type: `string`):

URL or id of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.

## `maxNotifyListings` (type: `integer`):

Cap on items written to each connector per run. Does not affect the dataset.

## Actor input object example

```json
{
  "mode": "search",
  "locations": [
    "Amsterdam"
  ],
  "propertyType": "all",
  "dealType": "both",
  "rentPriceBasis": "per_month",
  "publicationDate": "any",
  "parking": "any",
  "constructionType": "any",
  "auctionDate": "any",
  "openDay": "any",
  "highlighted": false,
  "includeSoldRented": false,
  "sortBy": "relevance",
  "urls": [
    "https://www.fundainbusiness.nl/kantoor/amsterdam/"
  ],
  "language": "nl",
  "fetchDetails": true,
  "includeAgencyDetails": false,
  "maxItems": 20,
  "maxPages": 200,
  "proxy": {
    "useApifyProxy": true
  },
  "maxNotifyListings": 50
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "locations": [
        "Amsterdam"
    ],
    "urls": [
        "https://www.fundainbusiness.nl/kantoor/amsterdam/"
    ],
    "proxy": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("abotapi/fundainbusiness-nl-commercial-property-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "locations": ["Amsterdam"],
    "urls": ["https://www.fundainbusiness.nl/kantoor/amsterdam/"],
    "proxy": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("abotapi/fundainbusiness-nl-commercial-property-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "locations": [
    "Amsterdam"
  ],
  "urls": [
    "https://www.fundainbusiness.nl/kantoor/amsterdam/"
  ],
  "proxy": {
    "useApifyProxy": true
  }
}' |
apify call abotapi/fundainbusiness-nl-commercial-property-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=abotapi/fundainbusiness-nl-commercial-property-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Funda in Business Scraper - Commercial Property & Agents",
        "description": "Scrape Funda in Business commercial listings: offices, retail, industrial, catering and more. Full detail pages, pricing, floor areas, energy labels, coordinates, images, and agent/agency contacts with ratings. Dual search and URL modes, deep filters, and forward pagination.",
        "version": "1.0",
        "x-build-id": "7RPTJp810l8dnxqiL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/abotapi~fundainbusiness-nl-commercial-property-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-abotapi-fundainbusiness-nl-commercial-property-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/abotapi~fundainbusiness-nl-commercial-property-scraper/runs": {
            "post": {
                "operationId": "runs-sync-abotapi-fundainbusiness-nl-commercial-property-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/abotapi~fundainbusiness-nl-commercial-property-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-abotapi-fundainbusiness-nl-commercial-property-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "url"
                        ],
                        "type": "string",
                        "description": "Choose how to start: 'search' uses the location + filter fields below; 'url' scrapes the listing URLs you paste.",
                        "default": "search"
                    },
                    "locations": {
                        "title": "Locations",
                        "type": "array",
                        "description": "Cities, towns or areas to search, for example Amsterdam, Rotterdam, Utrecht. Each becomes a separate search.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "propertyType": {
                        "title": "Property type",
                        "enum": [
                            "all",
                            "office",
                            "industrial_unit",
                            "retail",
                            "catering",
                            "agribusiness",
                            "agricultural_land",
                            "building_plot",
                            "garage_unit",
                            "practice_space",
                            "tourism_leisure",
                            "sports",
                            "cultural",
                            "religious",
                            "educational",
                            "paved_outdoor_area",
                            "healthcare",
                            "investment",
                            "land",
                            "social_real_estate",
                            "other",
                            "residential"
                        ],
                        "type": "string",
                        "description": "Which commercial category to search.",
                        "default": "all"
                    },
                    "dealType": {
                        "title": "Buy or rent",
                        "enum": [
                            "both",
                            "buy",
                            "rent"
                        ],
                        "type": "string",
                        "description": "Filter by transaction type.",
                        "default": "both"
                    },
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Optional free-text term to narrow results."
                    },
                    "minPrice": {
                        "title": "Minimum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Lowest price or rent. For rent this is interpreted with the rent price basis below."
                    },
                    "maxPrice": {
                        "title": "Maximum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Highest price or rent."
                    },
                    "rentPriceBasis": {
                        "title": "Rent price basis",
                        "enum": [
                            "per_month",
                            "per_year",
                            "per_sqm"
                        ],
                        "type": "string",
                        "description": "How rent price bounds are applied (per month, per year, or per square metre).",
                        "default": "per_month"
                    },
                    "minArea": {
                        "title": "Minimum floor area (m2)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Smallest floor area in square metres."
                    },
                    "maxArea": {
                        "title": "Maximum floor area (m2)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Largest floor area in square metres."
                    },
                    "publicationDate": {
                        "title": "Published within",
                        "enum": [
                            "any",
                            "today",
                            "since_3_days",
                            "since_5_days",
                            "since_10_days",
                            "since_30_days"
                        ],
                        "type": "string",
                        "description": "Only listings published within this window.",
                        "default": "any"
                    },
                    "surrounding": {
                        "title": "Surrounding context",
                        "type": "array",
                        "description": "Filter by the type of area the property sits in.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "business_park",
                                "furniture_boulevard",
                                "harbour_area",
                                "residential_district",
                                "indoor_shopping_centre",
                                "large_scale_retail",
                                "office_park",
                                "navigable_waterway",
                                "peripheral_retail",
                                "railway_station",
                                "rural_area",
                                "shopping_centre",
                                "town_centre"
                            ]
                        }
                    },
                    "amenities": {
                        "title": "Property features",
                        "type": "array",
                        "description": "Require one or more building features.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "air_conditioning",
                                "built_in_fittings",
                                "cable_ducts",
                                "concrete_floor",
                                "elevator",
                                "heater",
                                "heating",
                                "living_space",
                                "loading_bays",
                                "mechanical_ventilation",
                                "modular_ceiling",
                                "overhead_doors",
                                "pantry",
                                "peak_cooling",
                                "skylights",
                                "room_layout",
                                "showroom",
                                "sprinkler",
                                "three_phase_power",
                                "toilet",
                                "openable_windows"
                            ]
                        }
                    },
                    "availability": {
                        "title": "Availability signals",
                        "type": "array",
                        "description": "Filter by availability characteristics.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "available_now",
                                "investment",
                                "turnkey"
                            ]
                        }
                    },
                    "parking": {
                        "title": "Parking capacity",
                        "enum": [
                            "any",
                            "less_than_5",
                            "5_plus",
                            "10_plus",
                            "20_plus",
                            "50_plus"
                        ],
                        "type": "string",
                        "description": "Minimum number of parking spaces.",
                        "default": "any"
                    },
                    "constructionType": {
                        "title": "Construction type",
                        "enum": [
                            "any",
                            "resale",
                            "new"
                        ],
                        "type": "string",
                        "description": "Filter by existing versus new construction.",
                        "default": "any"
                    },
                    "propertyAge": {
                        "title": "Construction period",
                        "type": "array",
                        "description": "Filter by the period the property was built.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "before_1906",
                                "1906_1930",
                                "1931_1944",
                                "1945_1959",
                                "1960_1970",
                                "1971_1980",
                                "1981_1990",
                                "1991_2000",
                                "2001_2010",
                                "2011_2020",
                                "after_2020"
                            ]
                        }
                    },
                    "energyLabel": {
                        "title": "Energy label",
                        "type": "array",
                        "description": "Filter by energy label.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "a",
                                "b",
                                "c",
                                "d",
                                "e",
                                "f",
                                "g"
                            ]
                        }
                    },
                    "auctionDate": {
                        "title": "Auction timing",
                        "enum": [
                            "any",
                            "all",
                            "today",
                            "next_week",
                            "next_month"
                        ],
                        "type": "string",
                        "description": "Filter by upcoming auction window.",
                        "default": "any"
                    },
                    "openDay": {
                        "title": "Open day",
                        "enum": [
                            "any",
                            "all",
                            "next_weekend",
                            "today"
                        ],
                        "type": "string",
                        "description": "Filter by open day availability.",
                        "default": "any"
                    },
                    "highlighted": {
                        "title": "Only highlighted listings",
                        "type": "boolean",
                        "description": "Return only featured/highlighted listings.",
                        "default": false
                    },
                    "includeSoldRented": {
                        "title": "Include sold or rented listings",
                        "type": "boolean",
                        "description": "Also include historical listings that are already sold or rented.",
                        "default": false
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "relevance",
                            "date",
                            "city",
                            "postcode",
                            "address",
                            "sale_price",
                            "rent_price",
                            "area",
                            "units"
                        ],
                        "type": "string",
                        "description": "Result ordering.",
                        "default": "relevance"
                    },
                    "urls": {
                        "title": "URLs",
                        "type": "array",
                        "description": "Funda in Business URLs. Search-result pages are paginated forward; single listing URLs are scraped directly. Filter fields above are ignored in URL mode.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "language": {
                        "title": "Output language",
                        "enum": [
                            "nl",
                            "en"
                        ],
                        "type": "string",
                        "description": "Language of the listing pages (nl or en).",
                        "default": "nl"
                    },
                    "fetchDetails": {
                        "title": "Fetch full detail pages",
                        "type": "boolean",
                        "description": "Include the full description, all characteristics, coordinates, all images, and the agent phone for each listing. Adds one request per listing.",
                        "default": true
                    },
                    "includeAgencyDetails": {
                        "title": "Include agency profile and reviews",
                        "type": "boolean",
                        "description": "Enrich each listing's agency with contact details, address, ratings and reviews from its profile page. Profiles are fetched once and reused across listings.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum listings to return across the whole run. The single cap: set 0 for unlimited.",
                        "default": 20
                    },
                    "maxPages": {
                        "title": "Max pages per search",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Safety ceiling on result pages walked per search. Leave at the default; the run stops at Max items.",
                        "default": 200
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Connection settings. The default works out of the box; you can pin a specific country if needed.",
                        "default": {
                            "useApifyProxy": true
                        }
                    },
                    "mcpConnectors": {
                        "title": "Pipe results into your apps (optional)",
                        "type": "array",
                        "description": "Optionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify then Settings then API & Integrations, then select it here. Notion gets a rich page-per-item export; other connectors get a best-effort write. Leave empty to skip; never changes the dataset output. Supported: Notion, Linear, Airtable, Apify.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "https://mcp.notion.com/mcp",
                                "https://mcp.linear.app/sse",
                                "https://mcp.airtable.com/mcp",
                                "https://mcp.apify.com"
                            ],
                            "enumTitles": [
                                "Notion",
                                "Linear",
                                "Airtable",
                                "Apify"
                            ]
                        }
                    },
                    "notionParentPageUrl": {
                        "title": "Notion parent page (Notion connector only)",
                        "type": "string",
                        "description": "URL or id of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors."
                    },
                    "maxNotifyListings": {
                        "title": "Max items to export per connector",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Cap on items written to each connector per run. Does not affect the dataset.",
                        "default": 50
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
