NL Emission Zones Monitor (Milieuzones & Zero-Emission Zones) avatar

NL Emission Zones Monitor (Milieuzones & Zero-Emission Zones)

Pricing

from $3.00 / 1,000 zone-results

Go to Apify Store
NL Emission Zones Monitor (Milieuzones & Zero-Emission Zones)

NL Emission Zones Monitor (Milieuzones & Zero-Emission Zones)

Landelijke, live NDW-databron van alle Nederlandse milieuzones en zero-emissiezones per gemeente, met wijzigingsdetectie (nieuw/gewijzigd/ingetrokken) tussen runs.

Pricing

from $3.00 / 1,000 zone-results

Rating

0.0

(0)

Developer

Dennis

Dennis

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Categories

Share

NL Emission Zones Monitor (Milieuzones & Zero-Emission Zones) ๐Ÿšซ๐Ÿš—

Every Dutch environmental zone (milieuzone) and zero-emission zone in one call โ€” straight from NDW (Nationale Databank Wegverkeersgegevens), the official Dutch road-traffic-data cooperative of Rijkswaterstaat, provinces, and municipalities. No login, no API key, no scraping: this is a direct government GeoJSON feed, with built-in change detection between runs.

Why this actor?

The Netherlands is in the middle of an active regulatory wave: municipalities are rolling out zero-emission zones for delivery traffic in phases from 2025 through 2027, on top of existing classic environmental zones (milieuzones) that restrict older diesel trucks and vans. Every municipality used to publish this separately โ€” Amsterdam, Rotterdam, Utrecht, Den Haag, and 23 others each with their own dataset โ€” until NDW started aggregating all of them into a single national feed.

This actor turns that raw feed into a clean, filterable, monitorable dataset:

  • ๐Ÿ‡ณ๐Ÿ‡ฑ Full national coverage, zero configuration โ€” 37 zones across 27 municipalities in one call, no pagination
  • ๐Ÿšฆ Both zone types in one place โ€” ZERO_EMISSION_ZONE (ZE zones for vans/trucks) and ENVIRONMENTAL_ZONE (classic milieuzones)
  • ๐Ÿš› Vehicle-type exemptions included โ€” per zone, which vehicle types (car/van/truck/bus) and Euro-classification are exempt
  • ๐Ÿ”œ Future zones already visible โ€” the source includes zones with a validFrom date years ahead (e.g. Amersfoort/Apeldoorn/Deventer/Ede 2027), flagged as "not yet active" so you can plan ahead
  • ๐Ÿ”” Built-in change detection โ€” enable monitor mode to flag new, changed, or withdrawn zones between runs, instead of re-processing a static snapshot every time
  • ๐Ÿšซ No personal data โ€” geographic zones, vehicle categories, and traffic orders only; no license plates or individual drivers

When should an AI agent use this?

  • "Which Dutch cities have a zero-emission zone for delivery vans right now?"
  • "Is there an environmental zone in Utrecht, and which vehicles are exempt?"
  • "Which new emission zones are planned for 2027?"
  • "Alert me if any Dutch municipality changes or withdraws an emission zone."
  • "List every municipality with a milieuzone for trucks and the required Euro classification."
  • "Compare zero-emission zone rollout dates across Dutch cities."

What this Actor does

  • Fetches the full national zone feed from the NDW emission-zones/v1/map GeoJSON endpoint
  • Maps every raw feature into a flat, analysis-ready JSON object
  • Flags zones whose validFrom date is still in the future (isNogNietActief)
  • Filters by municipality, zone type, and/or active status
  • Optional monitor mode: compares against the previous run (via the actor's key-value store) and marks each zone as new, changed, withdrawn, or unchanged

Input

FieldTypeDescription
gemeentenstring[]Exact municipality names (case-insensitive), e.g. "Amsterdam". Leave empty for all municipalities.
zoneTypesstring[]Filter on "ZERO_EMISSION_ZONE" and/or "ENVIRONMENTAL_ZONE". Leave empty for both.
alleenActiefbooleanHide zones not yet in effect (validFrom in the future). Default false.
includeGeometriebooleanInclude the raw GeoJSON polygon/multipolygon per zone. Increases payload size. Default false.
maxResultsintegerCap on output records per run (default 1000, max 5000).
monitorModebooleanCompare against the previous run and flag new/changed/withdrawn zones. Default false.
onlyChangesbooleanWith monitor mode on, only output changes, skip unchanged zones. Default false.

Output

{
"zoneId": "acbf0f7f-56a6-4b36-9a66-4b6d0c69d474",
"zoneNaam": "Milieuzone Amsterdam",
"zoneType": "ENVIRONMENTAL_ZONE",
"status": "DEFINITIVE",
"gemeente": "Amsterdam",
"gemeenteCode": "GM0363",
"geldigVanaf": "2025-01-01T00:00:00Z",
"geldigTot": "2030-01-01T00:00:00Z",
"isNogNietActief": false,
"regulationId": "gmb-2024-272098",
"informatieUrl": "https://www.amsterdam.nl/verkeer-vervoer/milieuzone-uitstootvrijezone/",
"uitzonderingen": [
{ "vehicleType": "CAR", "classification": "EURO5" },
{ "vehicleType": "VAN", "classification": "EURO5" },
{ "vehicleType": "TRUCK", "classification": "EURO6" },
{ "vehicleType": "BUS", "classification": "EURO6" }
],
"bron": "NDW Emissiezones"
}

With monitorMode: true, every record additionally includes a "wijziging" field: "nieuw", "gewijzigd", "ingetrokken", or "ongewijzigd".

Use cases

  • Logistics & fleet planning โ€” check which cities restrict your fleet's vehicle types before routing
  • Compliance / fleet-management software โ€” feed a single authoritative national dataset instead of maintaining 27 separate municipal integrations
  • Change monitoring โ€” run weekly with monitorMode: true to get alerted the moment a new zone is announced or an existing one's dates change
  • AI agents & MCP tools โ€” flat JSON, small input schema, direct yes/no "is this zone active" signal
  • Navigation apps / route planners โ€” build restriction layers from an authoritative government source

Pricing

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

  • Actor Start: $0.00005 (Apify default)
  • zone-result: $0.003 per plain zone record
  • zone-wijziging-alert: $0.01 per zone flagged as new, changed, or withdrawn in monitor mode โ€” priced higher because this is the actionable signal, not just a data point
  • Source: NDW (Nationale Databank Wegverkeersgegevens), a Dutch government road-traffic-data cooperative between Rijkswaterstaat, provinces, and municipalities. Documented at docs.ndw.nu/en/producten/emissiezones/.
  • No authentication, no scraping โ€” this is a direct, public REST/GeoJSON API intended for reuse.
  • No personal data of any kind. Zones, vehicle categories (not license plates), and public traffic orders only.

FAQ

Q: What's the difference between a "zero-emission zone" and an "environmental zone" (milieuzone)? A: An environmental zone (ENVIRONMENTAL_ZONE) restricts older, more polluting vehicles based on Euro emission classification (e.g. no diesel trucks below Euro 6). A zero-emission zone (ZERO_EMISSION_ZONE) is stricter and, once fully in effect, only allows zero-emission vehicles for commercial/delivery traffic.

Q: A zone has validFrom in 2027 โ€” why is it already in the dataset? A: NDW publishes confirmed future traffic orders as soon as the municipality's decision is definitive/planned, even years ahead. This actor surfaces that as isNogNietActief: true so you can plan for upcoming changes rather than being surprised by them.

Q: How does monitor mode work? A: When monitorMode is enabled, the actor stores a snapshot (per-zone status + validity dates) in its key-value store after each run and compares against it on the next run. Set onlyChanges: true to only receive the zones that are new, changed, or withdrawn.

Q: How often does NDW update this feed? A: Traffic orders don't change daily โ€” a weekly scheduled run with monitorMode: true is more than sufficient to catch new announcements.

Also by this developer:

  • ../nl-parking-monitor โ€” same profile: a direct, authentication-free Dutch open road-traffic-data feed (RDW), no scraping involved.
  • NL Ziekenhuis Wachttijden Monitor โ€” same profile: a direct, authentication-free Dutch government REST feed, no scraping involved.

Keywords: emissiezone, milieuzone, zero-emissiezone, ndw, low emission zone netherlands, environmental zone, ze-zone, dutch traffic regulation, fleet compliance.

Keywords

netherlands, environmental-zone, emission-zone, milieuzone, ndw, open-data, government-data, logistics, mcp-tool

Changelog

0.2.1 - Bugfix

  • Fixed monitorMode change detection never seeing prior-run state: the actor was reading/writing its snapshot to Apify's per-Run default key-value store, which is not shared between separate runs. Now uses a named, persistent key-value store. A new baseline will be captured on the next run.

0.2.0

  • Change detection (monitorMode) now also compares uitzonderingen/exemptions between runs, not just status/validity dates โ€” a stricter Euro-class requirement for the same vehicle type now correctly triggers a gewijzigd signal. Comparison is order-independent (a different JSON array order alone is not a change). No pricing change.

0.1.0 - Initial release

  • Fetch all Dutch environmental/zero-emission zones from the NDW national GeoJSON feed.
  • Filter by municipality, zone type, and active status.
  • Optional monitor mode with new/changed/withdrawn change detection via the key-value store.
  • Pay-per-event pricing: base zone record vs. higher-value change alert.