# Flanders Water Extraction Ban Monitor (Captatieverbod) (`codeclouds/be-captatieverbod-monitor`) Actor

Current Flemish surface-water extraction ban status per zone/waterway (allowed/forbidden, permanent or drought-related, with validity dates), from the official VMM open-data service.

- **URL**: https://apify.com/codeclouds/be-captatieverbod-monitor.md
- **Developed by:** [Dennis](https://apify.com/codeclouds) (community)
- **Categories:** Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 zone-records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Flanders Water Extraction Ban Monitor (Captatieverbod)

Get the current Flemish surface-water extraction ban status for every monitored waterway/zone — allowed or
forbidden, permanent or drought-related, with validity dates — sourced directly from the Flemish Environment
Agency's (VMM) official open-data service.

### When should an AI agent use this?

- "Is water extraction currently forbidden from this waterway in the Antwerpen province?"
- "Which zones in Vlaams-Brabant currently have an active extraction ban?"
- "Give me all Flemish extraction zones with a permanent (year-round) ban."
- "How many extraction zones province-wide are currently restricted vs. allowed?"
- "Since when has this specific zone's extraction ban been active?"

### What this Actor does

- Fetches every extraction zone from VMM's official ArcGIS open-data service (no scraping, no
  authentication needed).
- Returns each zone's current status (forbidden/allowed/unknown), whether the ban is permanent
  (year-round, ecologically vulnerable waterway) or temporary (drought-related), and its validity dates.
- Supports filtering by province and by a free-text search term on the zone/waterway name.
- Automatically paginates the underlying service so the full dataset (~900 zones) is always covered, even
  if the province adds more zones in the future.

### Input

| Field | Type | Description |
|---|---|---|
| `provincies` | string\[] | Filter by province name (e.g. `"Antwerpen"`) or code (e.g. `"ANT"`), case-insensitive. Default: all 5 provinces. |
| `onlyVerboden` | boolean | Only return zones currently under an extraction ban. Default `false`. |
| `zoekterm` | string | Only return zones whose name/sub-basin contains this text (case-insensitive). |
| `maxResults` | integer | Maximum number of records to return (1-2000). Default `1000`. |

### Output

One flat JSON record per extraction zone:

```json
{
  "land": "BE",
  "regio": "Antwerpen",
  "provincieCode": "ANT",
  "zone": "KANAAL DESSEL-SCHOTEN",
  "code": "ANT-4",
  "bekken": 10,
  "deelbekken": "10-06",
  "onttrekkingsverbodStatus": "volledig",
  "adviesTekst": "Geen advies",
  "permanentVerbod": false,
  "verbodStartDatum": "2026-07-16T22:00:00.000Z",
  "verbodEindDatum": null,
  "bronDatum": "2026-07-18T18:28:12.000Z",
  "bronUrl": "https://inspirepub.waterinfo.be/arcgis/...",
  "datumOpgehaald": "2026-07-19T08:00:00.000Z"
}
```

### Use cases

- Agricultural/irrigation planning for farms drawing water from Flemish waterways.
- Advisory/legal support for clients holding a water extraction permit.
- Insurance/reinsurance risk screening for Belgian agricultural portfolios.
- Feeding a scheduled monitoring pipeline that alerts when a specific zone's ban status changes.

### Pricing

This Actor uses Apify's Pay-Per-Event (PPE) pricing model.

- **Actor Start:** $0.00005 (Apify default)
- **`zone-record`:** $0.004 per delivered zone record
- **`captatieverbod-signaal`:** $0.015 per zone record currently under an active extraction ban

### Legal

Data sourced exclusively from the Flemish Environment Agency's (VMM) official public open-data service
(`inspirepub.waterinfo.be`). No personal data is processed. This Actor reports the latest officially
published extraction ban status; it does not provide legal advice or predict future bans.

### FAQ

**Q: Does this cover Wallonia or Brussels?**
A: No — Flanders (Vlaanderen) is the only Belgian region with a comparable structured, machine-readable
status source. Wallonia handles extraction restrictions via ad-hoc provincial governor decrees (PDF/press
releases) without a central API, and Brussels has essentially no local extraction restrictions.

**Q: What does "permanent" mean?**
A: A permanent ban applies year-round to ecologically vulnerable waterways, independent of the current
drought situation. A non-permanent (temporary) ban is drought-related and has a start date (and sometimes
an end date).

**Q: How current is this data?**
A: The source service is updated by VMM as decisions change; each record includes the underlying edit
timestamp (`bronDatum`).

***

*Zoekwoorden: captatieverbod Vlaanderen, onttrekkingsverbod, wateronttrekking verboden, VMM, droogte
Vlaanderen, waterloop onttrekking.*

### Keywords

belgium, flanders, drought, water-extraction, captatieverbod, vmm, agriculture-risk, insurance-risk,
climate-risk, open-data, water-scarcity

### Changelog

#### 0.1.0

- Initial release: extraction ban status per zone/waterway for all Flemish provinces, from the VMM
  ArcGIS open-data service.

# Actor input Schema

## `provincies` (type: `array`):

Filter by Flemish province name (e.g. "Antwerpen") or code (e.g. "ANT"), case-insensitive. Leave empty for all 5 provinces.

## `onlyVerboden` (type: `boolean`):

When true, only return zones currently under an extraction ban (status = forbidden). When false, return all zones including those where extraction is currently allowed.

## `zoekterm` (type: `string`):

Only return zones whose name or sub-basin contains this text (case-insensitive). Leave empty for no filter.

## `maxResults` (type: `integer`):

Maximum number of records to return (1-2000). The full layer currently has ~900 zones.

## Actor input object example

```json
{
  "provincies": [],
  "onlyVerboden": false,
  "maxResults": 1000
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("codeclouds/be-captatieverbod-monitor").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("codeclouds/be-captatieverbod-monitor").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 '{}' |
apify call codeclouds/be-captatieverbod-monitor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=codeclouds/be-captatieverbod-monitor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/RDNzRlF6KiiZf11T9/builds/6lIjVdtuwwGDcgXQI/openapi.json
